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

Turbo Pascal Discussion :

[TP] Lecture de nombres : comment éviter les plantages ?


Sujet :

Turbo Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Par défaut [TP] Lecture de nombres : comment éviter les plantages ?
    Bonjour.

    Y-a-t-il en turbo pascal la possibilité d'éviter les plantages ? Je m'explique :

    Soit par exemple le programme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    VAR x : REAL;
     
    BEGIN
              WRITE('Entrez un nombre : ');
              READLN(x);
    END.
    Si l'utilisateur entre un caractère au lieu d'un réel, le programme va planter. Je connais un Pascal autre que le turbo où on peut écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    WRITE('Entrez un nombre : ');
     
    TRY
         READLN(x);
    RECOVER
         WRITELN('La valeur entrée n''est pas un nombre !');
    Donc, si la lecture de x échoue, le programme éxécute la partie RECOVER.

    Existe-t-il l'équivalent en turbo ?

  2. #2
    Rédacteur/Modérateur
    Avatar de M.Dlb
    Inscrit en
    Avril 2002
    Messages
    2 466
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2002
    Messages : 2 466
    Par défaut
    I n'y a pas d'équivalent pour turbo pascal...

    Si cela concerne seulement la conversion d'entiers à string, tu peux utiliser les codes d'erreur de la fonction val. Tu peux également regarder du côté des directives de compilations, il me semble qu'en jouant avec on peut eviter les erreurs d'exécution et gérer ainsi les messages d'erreur...

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2
    Par défaut
    OK merci pour la réponse

  4. #4
    Membre éclairé
    Inscrit en
    Février 2005
    Messages
    53
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 53
    Par défaut
    Salut,


    Pour les caractères, il y'a {$I-} et {$I+} conjugués avec IOResult qui donnent de bons résultats ( le programme se poursuit sans planter ).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      {$i-}
      ReadLn ( x );
      if ( IOResult <> 0 ) then
      begin
        { traitement de l'erreur}
      end
      {$i+}
      {...}

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 30/04/2015, 13h36
  2. publipostage : comment éviter les doublons?
    Par Christophe93250 dans le forum Access
    Réponses: 15
    Dernier message: 03/01/2006, 12h08
  3. Réponses: 2
    Dernier message: 13/11/2005, 18h03
  4. Réponses: 3
    Dernier message: 05/07/2005, 18h07
  5. Comment éviter les doublons dans ma table
    Par einegel dans le forum Bases de données
    Réponses: 3
    Dernier message: 09/11/2004, 12h18

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