I. Ne saisir que des chiffres dans un TEdit▲
Sur l'événement OnCreate de la Form (Form1) pour Edit1 :
Sélectionnez
void __fastcall TForm1::FormCreate(TObject *Sender)
{
SetWindowLong(Edit1->Handle,GWL_STYLE,
GetWindowLong(Edit1->Handle,GWL_STYLE)
| ES_NUMBER );
}Deuxième solution : ne saisir que des chiffres et au plus une virgule dans un Tedit.
Sur l'événement OnKeyPress du TEdit (Edit1) :
Sélectionnez
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) {
if ((Key < '0' || Key >'9') && Key != 8 && (Key != DecimalSeparator ||
((TEdit *)Sender)->Text.Pos(DecimalSeparator)!=0))
Key = NULL;
}En utilisant « ((TEdit *)Sender) » au lieu de « Edit1 » dans la méthode. Elle devient valable pour n'importe quel TEdit.


