Bonjour,
j'aimerai savoir comment on fait pour déterminer le type que rentre l'utilisateur dans la machine lors d'un read() et ainsi éviter que le programme plante lorsqu'il se trompe.
Bonjour,
j'aimerai savoir comment on fait pour déterminer le type que rentre l'utilisateur dans la machine lors d'un read() et ainsi éviter que le programme plante lorsqu'il se trompe.
Je ne crois pas que tu puisses vraiment.
Par contre dans la fonction val(nb_str : String, nb_int : Integer, code_erreur : Integer) permet de transformer la chaine "nb_str" en l'entier "nb_int" si c'est possible et renvoie un certain code d'erreur si ça ne l'est pas.
Donc si tu veux tester si l'utilisateur entre bien un entier (par exemple), tu peux utiliser ce code d'erreur.
Malheureusement cela ne fonctionne pas avec FreePascal ! Et je crois bien qu'il n'existe pas de solution.
Merci quand même.
Bonjour !
La procédure Val est implémentée dans l'unité System de Free Pascal depuis la version 1. Elle permet de convertir une chaîne en entier ou en réel.
Peux-tu nous montrer l'extrait de code dans lequel tu l'appelles, afin de voir ce qui ne va pas ?
Règles du forum
Cours et tutoriels Pascal, Delphi, Lazarus et Assembleur
Avant de poser une question, consultez les FAQ Pascal, Delphi, Lazarus et Assembleur
Mes tutoriels et sources Pascal
Le problème en ce bas monde est que les imbéciles sont sûrs d'eux et fiers comme des coqs de basse cour, alors que les gens intelligents sont emplis de doute. [Bertrand Russell]
La tolérance atteindra un tel niveau que les personnes intelligentes seront interdites de toute réflexion afin de ne pas offenser les imbéciles. [Fiodor Mikhaïlovitch Dostoïevski]
bonjourEnvoyé par Vitoo
Si tu te relis tu veras bien que pour lire dans un read() il faut bien que ta variable soit d'un type donné.
Si ej t'ai bien compris alors il faut qu'il existe un type Perel dont heriterais tous les autres types dans le genre
{je rappelle que ce code se passe dans notre imagination}
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 {A ce niveau on ne connais pas encore le type de temp} temp:Type_Pere; temp:=2;{temp peut etre un integer} temp:='chaine';{temp peut etre un string} temp:='c';{temp peut etre un char} temp:=true;{temp peut etre un boolean}
Ensuite il existerais un fonction à qui on passerait notre variable et qui nous renverais le type que l'utilisateur a choisi
Tout ça est bien beau et faciliterais les choses mais je crois pas que ça existe
Mais ce que je crois que tu peux faire par exemple est de fixer un type pour ta variable et ensuite verifier si l'utilisateur à entré le bon type ',
Ce qeu propose Loceka fera l'affaire mais vu ce que tu demandes est restreint(si ce que tu demande est possible a faire )
voila j'espere avoir aidé
@+
Je suis ce que je suis grâce à ce que nous sommes tous Humanité aux Humains!! !
Entre ce que je pense, ce que je veux dire, ce que je crois dire, ce que je dis ce que vous avez envie d'entendre, ce que vous croyez entendre, ce que vous entendez, ce que vous avez envie de comprendre, ce que vous comprenez ... Il y a dix possibilités que nous ayons des difficultés à communiquer. Mais essayons quand meme ....... E. Wells
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager