VERIFIER SI LE CONTENU D'UN TEDIT EST UN NOMBRE ENTIER [Résolu]

Messages postés
56
Date d'inscription
mardi 26 août 2003
Dernière intervention
22 janvier 2006
- 22 sept. 2004 à 10:37 - Dernière réponse :
Messages postés
14
Date d'inscription
dimanche 31 mai 2009
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
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
Messages postés
323
Date d'inscription
jeudi 6 juin 2002
Dernière intervention
24 septembre 2008
- 22 sept. 2004 à 12:08
3
Merci
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.

Merci Loulibier 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de Loulibier
Messages postés
2354
Date d'inscription
dimanche 5 octobre 2003
Dernière intervention
18 novembre 2010
- 31 mai 2009 à 18:55
1
Merci
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+
Commenter la réponse de JulioDelphi
Messages postés
36
Date d'inscription
dimanche 10 août 2003
Dernière intervention
24 octobre 2005
- 22 sept. 2004 à 11:22
0
Merci
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
Commenter la réponse de lelahel08
Messages postés
49
Date d'inscription
samedi 26 avril 2003
Dernière intervention
8 août 2009
- 22 sept. 2004 à 23:42
0
Merci
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
Commenter la réponse de koaiz
Messages postés
14
Date d'inscription
dimanche 31 mai 2009
Dernière intervention
14 novembre 2011
- 31 mai 2009 à 18:48
0
Merci
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
Commenter la réponse de nn2009
Messages postés
14
Date d'inscription
dimanche 31 mai 2009
Dernière intervention
14 novembre 2011
- 1 juin 2009 à 10:20
0
Merci
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
Commenter la réponse de nn2009

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.