...
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 !
8 juil. 2021 à 14:47