In den Eingabefeldern sind nur ganz bestimmte Tasten sinnvoll (die Ziffern von 0 bis 9, das Komma und die Backspace-Taste. Um nur diese Tasten zuzulassen, kann das KeyPress-Ereignis benützt werden. Werden andere als die vorgesehenen Tasten gedrückt, wird der Parameter Key auf Null gesetzt.
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) {if (!((Key>='0')&&(Key<='9')||(Key==',')||(Key==8))) {Key=0; } }
Besser lesbar wird der Quelltext, wenn die verwendeten Spezial-ASCII-Werte wie Backspace zuvor mit #define als Konstante definiert werden, z.B.
#define BS 8 #define LEER 0
Die obige Funktion sieht damit folgendermaßen aus:
void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) {if (!((Key>='0')&&(Key<='9')||(Key==',')||(Key==BS))) {Key=LEER; } }