VERIFIER SI LE CONTENU D'UN TEDIT EST UN NOMBRE ENTIER

Résolu
yvescollet Messages postés 55 Date d'inscription mardi 26 août 2003 Statut Membre Dernière intervention 22 janvier 2006 - 22 sept. 2004 à 10:37
nn2009 Messages postés 14 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 14 novembre 2011 - 1 juin 2009 à 10:20
j'aimerais savoir comment on peut controler que la saisie dans un TEdit soit bien un nombre entier? (donc pas de caractères, juste une suite de chiffres).

Merci d'avance

6 réponses

Loulibier Messages postés 309 Date d'inscription jeudi 6 juin 2002 Statut Membre Dernière intervention 24 septembre 2008 2
22 sept. 2004 à 12:08
salut yvescollet,

il te suffit de filtrer la saisie de ton TEdit dans le OnKeyPress.

procedure TWndBanderoleuse.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  // #8 permet la suppresion du dernier caractère.
  case Key of
    '0'..'9', #8 :;
    else
      Key := #0;
  end;
end;


Bonne Prog,

Olivier.
3
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
31 mai 2009 à 18:55
et si je fais "clic droit" "coller" avec le texte "gotchaaaa" ça donne quoi votre code ? n'ayant rien tapé au clavier ... cet evènement ne va jamais se déclencher ...

Il suffirait de faire (sur le OnExit par exemple) :
if (StrToIntDef(Edit1.Text, MaxInt)) = MaxInt then
begin
  Showmessage('Erreur, le champ ne doit contenir que des chiffres !');
  Edit1.Clear;
end;

a+
1
lelahel08 Messages postés 36 Date d'inscription dimanche 10 août 2003 Statut Membre Dernière intervention 24 octobre 2005
22 sept. 2004 à 11:22
Pour un TEdit simple verifier avec la methode OnChange du TEdit

Sinon verifier quand tu veux effectuer l'action qui a besoin de cet entier

Sinon utiliser un MaskEdit pour s'assurer de la sisie d'un entier
0
koaiz Messages postés 49 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 8 août 2009
22 sept. 2004 à 23:42
Hug Visage pal yvescollet

Tu peut aussi utiliser la methode suivante

la varriable CODE donne le resultat 0 pour un entier et un resultat different pour les autre carractere.

procedure TForm1.Button1Click(Sender: TObject);
Var X,Code :Integer;
begin
Val(Edit1.Text,X,Code);
If Code=0 Then Showmessage('C''est un entier') Else
Showmessage('erreur');
end;


que la paix soit avec vous
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nn2009 Messages postés 14 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 14 novembre 2011 1
31 mai 2009 à 18:48
essyer ceci
procedure TModifier_Patient.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', Chr(VK_BACK), Chr(VK_DELETE)])            or (Key DecimalSeparator) or ( Key '.') then
Key := #0;
end

vous ne pouvez saisir que des chiffre de 0 à 9
bonne chance
0
nn2009 Messages postés 14 Date d'inscription dimanche 31 mai 2009 Statut Membre Dernière intervention 14 novembre 2011 1
1 juin 2009 à 10:20
Merci JulioDelphiton code a bien fonctionner avec le mien
Merci encore.
t'as pas une idée comment filtrer une table avec un edit qui ne doit contenir que des chiffres.
j'ai utiliser ce code mais ça n'a pas marché
Adotable1.Filtered:=false;
if edit1.Text ='' then exit;
AdoTable1.Filter := 'inttostr(Code_Patient) LIKE ('+''''+edit1.Text+'%'+''''+')';
AdoTable1.filtered := True;

je veut filtrer ma table au fur et à mesure que je tapes le code patient qui est un entier ! ?
any help will be great from you
0
Rejoignez-nous