Saisir uniquement des chiffres dans un edit

Résolu
cs_mark15 Messages postés 18 Date d'inscription dimanche 7 décembre 2008 Statut Membre Dernière intervention 6 décembre 2010 - 3 oct. 2009 à 11:53
 letho - 8 juil. 2021 à 14:47
bonjour, je cherche un contole qui me permet a un Tedit d'accepter uniquement des chiffres ou des lettres
merci

4 réponses

Bacterius Messages postés 3792 Date d'inscription samedi 22 décembre 2007 Statut Membre Dernière intervention 3 juin 2016 10
3 oct. 2009 à 14:04
...
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 !
3
merci ça marche pour moi aussi
0
Rejoignez-nous