IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Free Pascal Discussion :

Comment déterminer le type que rentre l'utilisateur [Free Pascal]


Sujet :

Free Pascal

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Comment déterminer le type que rentre l'utilisateur
    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.

  2. #2
    Expert confirmé
    Avatar de Loceka
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    2 276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 2 276
    Points : 4 845
    Points
    4 845
    Par défaut
    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.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Malheureusement cela ne fonctionne pas avec FreePascal ! Et je crois bien qu'il n'existe pas de solution.
    Merci quand même.

  4. #4
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 943
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 943
    Points : 5 655
    Points
    5 655
    Par défaut
    Gio,
    Citation Envoyé par Vitoo Voir le message
    Malheureusement cela ne fonctionne pas avec FreePascal ! Et je crois bien qu'il n'existe pas de solution.
    Merci quand même.
    Tu es sûr ?

    Ils se sont donnés du mal pour reproduire le fonctionnement de Turbo Pascal, et je m'étonne qu'il aient oublié ça. (Ça marche avec Lazarus, donc FreePascal [unité ajoutée par Lazarus ?]).
    Si les cons volaient, il ferait nuit à midi.

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 940
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 940
    Points : 59 421
    Points
    59 421
    Billets dans le blog
    2
    Par défaut
    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]

  6. #6
    Expert confirmé
    Avatar de krachik
    Inscrit en
    Décembre 2004
    Messages
    1 964
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 964
    Points : 4 015
    Points
    4 015
    Par défaut
    Citation Envoyé par Vitoo
    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
    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
    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}
    {je rappelle que ce code se passe dans notre imagination}
    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

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par krachik Voir le message
    Si ej t'ai bien compris alors il faut qu'il existe un type Perel dont heriterais tous les autres types dans le genre
    Non ce n'était pas ça que je voulais dire. Mais de toute façon j'ai finalement réussi grâce à val !

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 27/06/2006, 23h26
  2. Réponses: 21
    Dernier message: 25/06/2006, 02h31
  3. Comment déterminer si un composant est d'un type "TMonT
    Par DanielR dans le forum C++Builder
    Réponses: 2
    Dernier message: 20/03/2004, 18h22
  4. Réponses: 10
    Dernier message: 18/11/2003, 18h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo