CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

comment verifier le type?

MaxSterling
MaxSterling
Niveau 7
03 mars 2004 à 18:36:57

bonjour à tous! bon j´explique un peu ma question car c pas clair. ds un prog on doit souvent saisire un nombre, une lettre, etc....
et voila ke ds un de mes prog lorsque je demande d´entrer un entier et k´on me donne un reel ou une lettre le prog plante, cad qu´il ne fait plu rien. je voudrai donc vous demandez comment y remedier? kelle sorte de securité faut il installer pour s´assurer ke l´utilisateur entre bien le bon type? ps: le prog tourne en pascal g pa verifier ms ca doit pas se produire en c car on spécifie le type en lecture( g bon?)
voila merci bcp à ceux ki vont répondrre!

Yoda_Software
Yoda_Software
Niveau 30
03 mars 2004 à 18:53:01

je ne me souviens plus très bien parce que ça fait un moment que je suis passé à Delphi, mais je crois qu´il y a un truc avec ´IOResult´.
Avec delphi, on utilise ´On Error´.

MaxSterling
MaxSterling
Niveau 7
03 mars 2004 à 19:01:09

ca a l´air chaud à utilisé mais merci!

Yoda_Software
Yoda_Software
Niveau 30
03 mars 2004 à 19:08:34

Ca n´est pas très compliqué, mais le mieux c´est d´étudier un exemple de source.
Quel compilateur pascal utilises-tu ?

jarose
jarose
Niveau 10
03 mars 2004 à 19:15:16

Si je me souvient bien, c´est un truc du genre:

Var KeyInt, Error: Integer;

{...}
Error := IOResult;

ReadLn ( KeyInt);

If IOresult<>0 Then
Begin
{ Pas un integer }
End
Else
Begin
{ Un integer }
End;

jarose
jarose
Niveau 10
03 mars 2004 à 19:16:33

Plutot:

Var KeyInt, Error: Integer;

{...}
Error := IOResult;

ReadLn ( KeyInt);

If Error<>0 Then

Begin
{ Pas un integer }
End

Else

Begin
{ Un integer }
End;

jarose
jarose
Niveau 10
03 mars 2004 à 19:16:48

Essayes, j´pense que c´est ça...

MaxSterling
MaxSterling
Niveau 7
03 mars 2004 à 19:20:25

merci j´essai aussi, j´utilise turbo pascal

MaxSterling
MaxSterling
Niveau 7
03 mars 2004 à 19:33:54

snif2:, ca fonctionne pas....

Yoda_Software
Yoda_Software
Niveau 30
03 mars 2004 à 20:07:20

Ca commence à me revenir

Var KeyInt : Integer;

{...}

{$I-}
ReadLn ( KeyInt);
{$I-}
If ( IOResult<>0) Then
Begin
{ Pas un integer }
End
Else
Begin
{ Un integer }
End;

{...}

Yoda_Software
Yoda_Software
Niveau 30
03 mars 2004 à 20:09:07

Normalement ça fonctionne, mais tu peux faire Ctrl F1 sur IOResult pour voir ce qu´il y a dans l´aide. L´aide de Borland Turbo Pascal est très bien faite avec des exemples clairs.

Yoda_Software
Yoda_Software
Niveau 30
03 mars 2004 à 20:11:01

Pardon, juste après Readln(keyInt);
ce n´est pas {$I-} mais {$I+}

{$I-} désactive la génération d´erreur par le compilateur et {$I+} le réactive.

jarose
jarose
Niveau 10
03 mars 2004 à 20:12:22

Ah oui ! J´avais oublié cette commande ´l´ pour intercepter les erreurs.

Mais faut quand même la refermer:

{$I-}
ReadLn ( KeyInt);
{$I+}

jarose
jarose
Niveau 10
03 mars 2004 à 20:12:46

Ah, t´as été plus rapide que moi :)

Yoda_Software
Yoda_Software
Niveau 30
03 mars 2004 à 20:13:16

On appelle ça des directives de compilation

MaxSterling
MaxSterling
Niveau 7
04 mars 2004 à 18:10:54

Pinaise ca fonctionne!g pas vraiment saisie ce ke ca fait ( vous pouriez m´expliquer? g pas piger pkoi faut desactiver la generation d´erreur entre autre) en tout cas MERCI!MERCI!MERCI! :ok:

jarose
jarose
Niveau 10
04 mars 2004 à 18:26:13

Par default, les erreurs sont directement renvoyés dans la sortie standart, le but de cette directive, c´est justement de ne pas les afficher.
Ensuite, IOResult contient le dernier code d´erreur, si il est égale à 0, alors c´est ok, si non, ( < ou > à 0) c´est pas ok :)

Yoda_Software
Yoda_Software
Niveau 30
04 mars 2004 à 18:55:04

On peu éventuellement afficher un message ( ou exécuter un code) différent selon la valeur d´IOResult.

Fait Ctrl F1 sur IOResult pour voir ce qu´il y a dans l´aide.

MaxSterling
MaxSterling
Niveau 7
04 mars 2004 à 18:56:14

ok merci c super sympa g compris

Yoda_Software
Yoda_Software
Niveau 30
04 mars 2004 à 19:12:39

en fait, ça me rassure, j´ai pas tout oublié !

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment