[C++] TEdit, Nur Zahlen zulassen

chris.

Commander
Registriert
Feb. 2002
Beiträge
2.433
Ich möchte in einem Editfeld nur Zahlen 0-9 zulassen,
Bin gerade dabei das hin zu fummeln, aber komm nicht mehr drauf.

Hab mir Für die Eigenschaft KeyPress folgendes angelegt:

void __fastcall TForm1::edtwert1KeyPress(TObject *Sender, char &Key)
{
AnsiString s="1234567890";
if (s.char!= "0" )
}

Dabei hab ich aber glaube ich noch was vergessen. Also in der If Anweisung.
ich bekomm dann immer den Fehler das der Elementbezeichner erwartet wird.
Vielleicht weiß ja jemand weiter.

grüße
 
Hi,

installiere dir mal die JEDI_Komponenten. In JCL gibt es eine Funktion mit der du Strings überprüfen kannst, ob sie nur aus Zahlen bestehen.

Mfg
André
 
if( key < '0' || key > '9')

Und für einen String einfach eine Schleife darum basteln.

MfG

Arnd
 
Zuletzt bearbeitet:
In deinem Beispiel hast Du " anstatt ' benutzt, daher der Fehler. Evtl. ist .char auch verkehrt, weiß grad net. Funktionieren würde es so aber nicht.

Mach mal folgendes im FormCreate:
Code:
SetWindowLong( edtwert1->Handle, GWL_STYLE, GetWindowLong( edtwert1->Handle, GWL_STYLE) | ES_NUMBER);

Wenn Du nur die Tastatur-Eingaben überprüfst, bekommst Du sonst so interessante Probleme wie, was machst Du, denn jemand Strg+V macht ;)
 
Zuletzt bearbeitet:
Zurück
Oben