BCB 5 - Tastenblockierung?
-
Hallo,
ich bin grad dabei mit Edit-Feldern im Objektinspektor unter Ereignisse/OnKeyPress am experimentieren.Dazu habe ich, um nurnoch die Eingaben 0-9 und Komma und Backspace zu erlauben, im Objektiinspektor unter Ereignisse/OnKeyPress folgenden Code eingegeben:
// Tastenblockierungen für "Gewinn aus Gewerbebetrieb" void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) { if ( Key >= '0' && Key <= '9' || Key == ',' || Key == 0x08 ) { } else { Key = 0x00; // keine Reaktion } }Funktioniert auch alles ganz Prima. Ich würde aber noch gerne erreichen, dass das Komma nur 1x reagiert. Hat vielleicht jemand ne Idee oder ne Patentlösung?
thx
G-Kar
-
bool komma = false; void __fastcall TForm1::Edit1KeyPress(TObject *Sender, char &Key) { if ( Key >= '0' && Key <= '9' || Key == ',' && komma == false || Key == 0x08 ) { if (Key == ',') komma = true; } else { Key = 0x00; // keine Reaktion } }oder du nimmst n maskedit

-
thx, funktioniert. Allerdings bringt die Lösung zu ein neues Problem:
Wenn man jetzt wegen einer Korrektur das Komma wieder löscht, kann man kein neues mehr einfügen......Naja, dann hab ich ja wieder was zum knobeln. Wenn jemand ne Lösung weiß, immer her damit.
cu
G-Kar
-
dann überprüfe halt, ob im text ein komma vorhanden ist, wenn ja darf keins mehr rein, sonst ja