Recherche d'entier dans un TEdit

Résolu
hysteria74 Messages postés 20 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 24 juin 2005 - 24 juin 2005 à 10:31
cs_sim51 Messages postés 240 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 31 décembre 2006 - 24 juin 2005 à 12:12
Bonjour,
je besoin d'un ptit conseil car j'ai créé un ptit programme qui va me permettre notamment de saisir des entiers dans un TEdit et j'aurais voulu savoir comment on peut faire une condition pour vérifier si le texte saisi est bien un entier.

Merci d'avance pour vos réponses.

4 réponses

roud59 Messages postés 99 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 26 juillet 2007 2
24 juin 2005 à 11:22
1ere solution :
try
entier := StrToInt(Edit1.Text);
except
// N'est pas un entier
end;

2eme solution, si l'entier saisi doit être positif par exemple
entier := StrToIntDef(Edit1.Text, -1);
if Entier = -1 then
FaireQuelqueChoseQuandCEstPasUnEntier;

3eme solution :
function EstEntier(S : string) : bolean;
begin
result := false; if (s '') or (s '-') then exit;
for i := 1 to length(s) do
if not (s[i] in ['-','0'..'9']) then exit;
result := true;
end;

Roud59
3
jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
24 juin 2005 à 11:27
salut;

tu peux aussi utiliser le composant Tspinedit qui assure tous les
filtrages a la saisie avec en plus la possibilite de fixer des
limites aux valeurs autorisées

bonne prog
3
cs_sim51 Messages postés 240 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 31 décembre 2006 2
24 juin 2005 à 12:12
Salut,

Pour moi il y a deux solutions, soit tu vérifies qu'une fois le text
rentré dans le tedit, c' est un nombre, ou alors tu utilise l'évenement
onkeypress du tedit.

Ainsi tu pourra vérifier que les touches préssées sont bien des touches
numériques. Cependant si ton nombre est négatif, tu dois pouvoir aussi
mettre un signe - comme premier caractère ( quand length(edit.text):=0
).

Voilà.

Bonne continuation.

N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
3
roud59 Messages postés 99 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 26 juillet 2007 2
24 juin 2005 à 11:24
Encore une solution : utiliser un TMaskEdit

Roud59
0
Rejoignez-nous