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.