Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1707 connectés 

  FORUM HardWare.fr
  Programmation

  DELPHI try except?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

DELPHI try except?

n°63404
AGA
La boîte à Bokeh!
Posté le 05-10-2001 à 11:18:06  profilanswer
 

J'arrive pas à intercepter l'exception, j'ai qd même droit un msg barbare
 try
          chaineRecu := StrToInt(delai);
       except
       on EConvertError do
             ShowMessage('C tout planté';)
       else
       begin
             WHILE  (chaineRecu>12) OR (chaineRecu<0)  DO // Tant que le délai est plus grand que 12
             begin
               ShowMessage('Délai de rappel trop grand! Valeurs autorisées [0..12]';); //Message d'erreur
               reponseRappel:=InputQuery('Délai de rappel', 'Entrer le délai de rappel des factures (en mois)', delai);
             end;
             IF reponseRappel=TRUE THEN //Si l'utilisateur clique sur OK
                begin
                     Data.TParametres.FieldByName('ParRappel';).asInteger:=StrToInt(delai);
                     Data.TParametres.Post; //Insertion de l'information
                end
             ELSE
                 data.TParametres.Cancel; //On annule les modifications non encore insérées
       end;
       end;


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
mood
Publicité
Posté le 05-10-2001 à 11:18:06  profilanswer
 

n°63442
taureau
Posté le 05-10-2001 à 11:56:47  profilanswer
 

utilise StrToIntDef à la place de StrToInt, la syntaxe est :  
 
function StrToIntDef(const S: string; Default: Integer): Integer;
 
le paramètre default est retourné si une erreur se produit lors de l'évaluation, comme cela plus d'exception à gérer c'est plus simple et plus propre.
 
StrToIntDef est dans l'unit SysUtils
 
pense aussi à remplacer Data.TParametres.FieldByName('ParRappel';).asInteger:=StrToInt(delai); par Data.TParametres.FieldByName('ParRappel';).asInteger:=chainerecu
 
a mon avis c'était là que se produisait l'exception car tu avais oublié de protéger la zone

n°63448
AGA
La boîte à Bokeh!
Posté le 05-10-2001 à 12:13:34  profilanswer
 

je veux pas une val par defaut, je veux que si c pas bon (l'utilisateur a mis du txt par exemple) je dise c pas bon, RECOMMENCE


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
n°63449
AGA
La boîte à Bokeh!
Posté le 05-10-2001 à 12:14:07  profilanswer
 

d'ou intercepter l'expection, mais ça marche po bien


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.
n°63466
taureau
Posté le 05-10-2001 à 13:45:35  profilanswer
 

c'est pas si compliqué, il suffit que tu donnes 13 comme valeur par défaut, comme cela si tes utilisateurs entre du texte, strtointdef va te retourner 13 et tu verras bien alors qu'il y a erreur...

n°63467
AGA
La boîte à Bokeh!
Posté le 05-10-2001 à 13:49:44  profilanswer
 

:ouch: MySQL prend des vacances...
 
/!\ Disclaimer : Le code du forum n'est en rien impliqué dans cette erreur :p /!\
-----
ouais je vais essayé


---------------
ma vie, ma carrière! - Un trait d’union entre des photos et des mots.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  DELPHI try except?

 

Sujets relatifs
Delphi ArrondiDelphi boucle while et test
[Delphi] composant internetDELPHI input Box?
[DELPHI] synchroniser le défilement d'un TListBox et d'un TMemo[delphi] Comment passer le focus a un Tform
[Delphi] DBCombo[Delphi] TQuery et DBGrid.Fields
[Delphi] Passer un string en fraction[DELPHI] Ecrire dans le registre
Plus de sujets relatifs à : DELPHI try except?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR