In Editfeld nur Eingabe von Zahlenwerten und + - zulassen
-
Hallo,
ich habe das Problem, dass in einem Eingabefeld wo nur Zahlen zulässig sein dürften auch Buchstaben und sonstige Zeichen eingetippt werden.
Ich war irgendwann mal der Meinung, dass es da ne Borland-Methode geben müsste, die nen String (oder Char) auf bestimmte Zeichen überprüft.
Bin mir da aber nicht mehr so im Klaren was das war.
Wäre auch super wenn ihr mir dann noch erklären könntet, wie ich dann man Programm unterbreche, z.B. in der KeyPress Routine den Check drin hab, nach Überprüfen dann aber in die OnChange Routinge reinläuft und doch die Buchstaben weiterverarbeiten will ...Kann mir von euch vielleicht jemand weiterhelfen? Bin über jegliche Hilfe dankbar

Grüße d_marco
-
Hallo
Entweder nimmst du TMaskEdit mit einer passenden Maske anstelle von TEdit oder du verwendest WinAPI-Mittel.
bis bald
akari
-
Funktioniert, super danke dir akari.
Kannte bis jetzt noch gar nicht das TMaskEdit, bietet aber tolle Funktionen!
Falls ich noch meine vorhin angesprochene Funktion finden sollte, werd ich die hier auch mal posten - soweit bin ich aber mal glücklich
Danke und Grüße d_marco
-
Eine zusätzliche Lösungsmethode bietet auch die Funktion StrScan aus der Sysutils-Headerdatei.
Prototyp:
StrScan(const char * Str, char Chr);Für *Str geb ich einfach die Werte ein, die erlaubt sein sollen, z.B. "0123456789", Chr könnte somit dem gedrückten Key entsprechen, dann würde eine Bedingung lauten:
Kommt der gedrückte Char in der Zeichenkette NICHT vor dann gibt die Funktion NULL zurück. Eine Bedingung könnte also so lauten:if (StrScan(StringScan,Key) != NULL) { Mach dies, Mach das } else Application->MessageBox("Bitte nur Zahlen eingeben", "Fehler", MB_OK);Hoffe das hilft hier auch weiter.
Grüße
d_marco