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

Langage Pascal Discussion :

[LG]Vérifier type numérique


Sujet :

Langage Pascal

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 25
    Points : 20
    Points
    20
    Par défaut [LG]Vérifier type numérique
    Bonjour,

    Je voudrais savoir si il existe une fonction en Pascal permettant de controler si une valeur, qu'on affecte a une variable de type integer, est bien de type numérique (a l'instar de IsNuméric en VB), ceci dans le but d'éviter l'erreur du compilateur "invalid numéric format"
    Merci ..

  2. #2
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    La vérification ne doit pas s'effectuer au moment du stockage dans la variable, mais en amont, juste après l'entrée de la valeur.

    Il nous faudrait savoir quel compilateur tu utilises si tu veux plus de précisions.
    Si tu te limites au Pascal ISO, alors il faut lire en entrée une chaîne de caractères et ensuite convertir en entier, cf la FAQ : http://pascal.developpez.com/faq/

    @++
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2003
    Messages
    25
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 25
    Points : 20
    Points
    20
    Par défaut
    je viens de lire la faq sur comment convertir une chaine en entier mais je ne crois que cela resoudra mon probleme. En faite si je veux pouvoir vérifier si le choix de l'utilisateur est de type numérique c'est parce que je lui propose un menu et il doit choisir entre 1 et 6 selon l'action qu'il veut éffectuer. Bien sur, si il tape sur un caractère, j'ai l'erreur du compilateur ..
    J'utilise Turbo Pascal version 6.0 ..

  4. #4
    Membre expert
    Avatar de Eric Sigoillot
    Inscrit en
    Mars 2002
    Messages
    1 212
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2002
    Messages : 1 212
    Points : 3 369
    Points
    3 369
    Par défaut
    Ce n'est pourtant pas compliqué...

    Avec ReadKey :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var
      Ch: Char;
    begin
      repeat
        Ch := ReadKey;
      until Ch in ['1'..'6'];
    end;
    Avec ReadLn :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var
      S: string;
      i, e: Integer;
    begin
      repeat
        ReadLn(S);
        Val(S, i, e);
      until (e = 0) and (i >= 1) and (i <= 6);
    end;
    @++
    Règles du forum
    F.A.Q Pascal

    Pour me joindre (aucune question technique, merci)

Discussions similaires

  1. Utiliser le type Num
    Par AlexiZ dans le forum Caml
    Réponses: 13
    Dernier message: 22/12/2012, 20h12
  2. [Lex/Yacc] Le parseur ne reconnaît pas les tokens de type NUM
    Par krisss dans le forum Générateurs de compilateur
    Réponses: 1
    Dernier message: 21/03/2011, 17h36
  3. Réponses: 2
    Dernier message: 05/10/2004, 22h43

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