Sicherheitabfragen

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;
 }
}