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 ?
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é
@+
Partager