# Nur Zahlen zulassen



## fhr (9. März 2004)

Morgen,

folgendes Problerm....

ich möchte ein Eingabefeld auf die Eingabe prüfen und zwar das der Benutzer nur Zahlen eingeben darf....

Wenn er Buchstaben eingibt und er das ganze Abschickt, soll einfach ein Hinweis in form einer Messagebox kommen, das nur Zahlen eingegeben werden dürfen....

Ich kenne aus VB noch die funktion isnumeric(), mit der war das ganze realisierbar... aber ich habe keinen Schimmer wie man das in C++ macht...

danke für die Hilfe.....


----------



## Kachelator (9. März 2004)

Es gibt da die Funktionen isalpha() und isalnum(), die ein einzelnes Zeichen testen, ob es Buchstabe bzw. Buchstabe oder Ziffer ist. Vielleicht hilft dir das weiter. Die Deklaration der C-Funktionen befindet sich in #include <ctype.h>. Es gibt auch eine lokalisierbare C++-Version davon (in <locale>), aber das wäre Overkill, oder?


----------



## fhr (9. März 2004)

Ich versuchs erstmal mit isalpha() und isalnum().

was ich auch endeckt habe ist die Funktion isdigit() ....
hab ich mich aber noch nicht genauer informiert....

danke für den Tipp!


----------



## rockbaer (9. März 2004)

wenn das eingabe feld ein edit control ist, das kannst du die ES_NUMBER flag setzen (bei createwindow oder halt in dem resource file ), dann kann der user eh nur zahlen eingeben


----------



## basd (9. März 2004)

Das Problem bei ES_NUMBER war jedoch dass man kein Minus eingeben konnte wenn noch keien Zahl eingegeben hat und das kann nerven.


----------



## dunno (9. März 2004)

Hallo
falls Deine Feldvariable ein CString ist, kannst Du einzelne Stellen mit z.b. 
strEingabe.GetAt(0) dir die erste Stelle der Eingabe auslesen lassen

bei der Eingabe 1.3 wäre also strEingabe="1.3" und die GetAt() Methode hat char als Rückgabewert
also würde strEingabe.GetAt(0) ===> '1' zurückgeben
damit kannst du ja in eine if schleife gehen


----------



## fhr (10. März 2004)

Danke für eure Antworten...

isallnum() hat geklappt, aber ES_NUMBER reicht mir auch....  

nochmal danke!


----------

