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

cs_mark15 18 Messages postés dimanche 7 décembre 2008Date d'inscription 6 décembre 2010 Dernière intervention - 3 oct. 2009 à 11:53 - Dernière réponse : Bacterius 3869 Messages postés samedi 22 décembre 2007Date d'inscription 3 juin 2016 Dernière intervention
- 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

Bacterius 3869 Messages postés samedi 22 décembre 2007Date d'inscription 3 juin 2016 Dernière intervention - 3 oct. 2009 à 14:04
+3
Utile
...
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 !
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Bacterius
cs_mark15 18 Messages postés dimanche 7 décembre 2008Date d'inscription 6 décembre 2010 Dernière intervention - 3 oct. 2009 à 17:57
0
Utile
merci bacterus 100000000000 merci c'est ca que je cherche
encore merci
Commenter la réponse de cs_mark15
Bacterius 3869 Messages postés samedi 22 décembre 2007Date d'inscription 3 juin 2016 Dernière intervention - 4 oct. 2009 à 01:40
0
Utile
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
Bacterius 3869 Messages postés samedi 22 décembre 2007Date d'inscription 3 juin 2016 Dernière intervention - 4 oct. 2009 à 05:13
0
Utile
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.