Valider le type d'un TEdit

Signaler
Messages postés
37
Date d'inscription
jeudi 27 juin 2002
Statut
Membre
Dernière intervention
13 août 2002
-
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
-
Bonjour tt le mde,

comment fait-t-on pour vérifier que le contenu d'un TEdit est bien du type que l'on veut.

Plus précisément, j'envoie le contenu d'un TEdit en parametre a une procedure qui fais le traitement. Le contenu du tedit ne doit etre qu'un integer. Je ne veux pas utiliser de editmask.

merci

@plus
JeFf

6 réponses

Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
1
Une solution est de convertir le texte :
Val(Edit1.Text,Valeur,Erreur);
Si Erreur=0 alors la chaine est bien un entier et sa valeur est contenue dans valeur, si erreur<>0 alors il indique l'indice du premier caractère non entier.
Valeur et erreur doivent être de type integer.

--- :sleepy) Nono du Moulin :sleepy) ---
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Pour la saisie d'un entier, dans l'évènement OnKeyPress du contrôle TEdit :

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not(Key in ['0'..'9']) then
exit;
end;

May Delphi be with you.
Delphi advanced
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Si l'on veut pouvoir saisir des valeurs négatives :
if not(Key in ['-', '0'..'9']) then ...

May Delphi be with you.
Delphi advanced
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
1
Euh...

Il ne vaudrait pas mieux écrire
if not(Key in ['0'..'9']) then Key:=#0;
Car l'Exit n'annule pas la saisie de la touche.

A noter que si on veut in Bip à chaque touche erronée il faut écrire :
if not(Key in ['0'..'9']) then Key:=#8;

--- :sleepy) Nono du Moulin :sleepy) ---
Messages postés
4297
Date d'inscription
samedi 19 janvier 2002
Statut
Modérateur
Dernière intervention
9 janvier 2013
31
Mille sabords !
Ca m'a échappé !
Il a l'oeil partout ce Nono40. Une vraie assurance qualité ;) .

May Delphi be with you.
Delphi advanced
Messages postés
962
Date d'inscription
mercredi 3 avril 2002
Statut
Membre
Dernière intervention
12 septembre 2006
1
:) Bah, ça arrive à tout le monde...
:-p Il n'y a que ceux qui ne font rien qui ne se trompent pas...

--- :sleepy) Nono du Moulin :sleepy) ---