Saisir uniquement des chiffres dans un edit [Résolu/Fermé]

Messages postés
18
Date d'inscription
dimanche 7 décembre 2008
Dernière intervention
6 décembre 2010
- - Dernière réponse : Bacterius
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Dernière intervention
3 juin 2016
- 4 oct. 2009 à 05:13
bonjour, je cherche un contole qui me permet a un Tedit d'accepter uniquement des chiffres ou des lettres
merci
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Dernière intervention
3 juin 2016
3
Merci
...
Il existe environ 720 réponses à cette question sur le forum, et environ 442939 sur google :

Cette solution (efficace à tous les coups, mais des scintillements peuvent peut-être apparaître) :

procedure TForm1.Edit1Change(Sender: TObject);
Var
 I: Integer;
 S: String;
begin
 S :=  '';
 for I := 1 to Length(Edit1.Text) do
  if (Edit1.Text[I] in ['0'..'9', 'a'..'z', 'A'..'Z' {peut rajouter des caractères}]) then S := S + Edit1.Text[I];

 Edit1.Text :=  S;
end;


OU

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
 if not (Key in '0'..'9', 'a'..'z', 'A'..'Z' {peut rajouter des caractères}) then Key :  = #0;
 { GARDER LE #8, C'EST LA TOUCHE "RETOUR" }
end;


Cette dernière solution est plus légère, mais ne résiste pas au copier/coller (il faudra quand même faire un test avant d'utiliser les infos du TEdit)

Cordialement, Bacterius !

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 105 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Bacterius
Messages postés
18
Date d'inscription
dimanche 7 décembre 2008
Dernière intervention
6 décembre 2010
0
Merci
merci bacterus 100000000000 merci c'est ca que je cherche
encore merci
Commenter la réponse de cs_mark15
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Dernière intervention
3 juin 2016
0
Merci
Euh à cause du bug des majuscules, c'est plutôt :

... in ['0'..'9', 'A'..'Z', 'a..z'] dans le premier

et

... in '0'..'9', 'A'..'Z', 'a..z' dans le premier

Cordialement, Bacterius !
Commenter la réponse de Bacterius
Messages postés
3869
Date d'inscription
samedi 22 décembre 2007
Dernière intervention
3 juin 2016
0
Merci
enfin le second pour le second ... vous aurez compris

Cordialement, Bacterius !
Commenter la réponse de Bacterius

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.