Editfeld auf zahlen prüfen
-
Hallo zusammen und schon mal danke für eure Hilfe.
Ich habe hier ein LabelEdit feld. Dort soll einmal der Name vom User eingegeben werden. Damit nun niemand in diesem Namens feld eine Zahl eingeben darf will dies Prüfen, leider weis ich nicht genau wie. Ich hab mir überlegt den eingegebenen String buchstabe für buchstabe auf einen ascii wert von x-y zuüberprüfen, da ich jedoch noch anfänger bin will ich erst mal nach einer "leichten" Lösung suchen. Hat borland keine funktion zum einfachen unter suchen der eingabe? ich habe isalpha gefunden, dies konnte ich doch nicht verwenden, weil ich nicht wusste wie. ich hab nur fehler bekommen wegen einem umwandeln von ansistring nach int...das hab ich nicht verstanden. für hilfe bin ich dakebar
thx
Pierre
-
schau mal hier http://bytesandmore.de/rad/cpp/snipp/sc02025.php und pass es für deine zwecke an
-
Hat Borland denn keine fertige funktion für sowaS?
-
in der zeit, in der du die funktion suchst, hättest du schon lange die funktion geschrieben:
Lösungsansatz 1: Überprüfen
einfach den ganzen String Charzeichen für charzeichen überprüfen und den ANSI-Code vergleichen
Lösungsansatz 1: abfangen
mein link und entsprechend anpassen
-
Hallo Pierre|rlp,
isaplpha() ist schon in Ordnung zum Prüfen auf Buchstaben. Wie wäre es wenn du dir mal die Hilfe zu dieser Funktion anschaust. Da steht auch die Signatur dieser Funktion
int isalpha(int c);
Also übernimmt isalpha einen int. Das bedeutet, sie kann auch nur einen einzelnen char (also keinen kompletten AnsiString) übernehmen. Klingt auch irgendwie logisch, da isaplpha ja die einzelnen Buchstaben überprüfen muss. Sie liefert int zurück. In diesem Fall 0 wenn es kein Zeichen ist sowie einen Wert ungleich 0 wenn es ein Zeichen ist (keine Zahl).
Nun schaun wir mal wie man die einzelnen Buchstaben aus einem AnsiString holt. Wieder mal ein Blick in die Hilfe zu AnsiString und wir finden den Indexoperator ( das hier []).
Dies beides zusammen (vielleicht mit Hilfe einer Schleife über AnsiString::Length()) sollte das Problem auch lösen können.
-
Hallo
Also den code von B&M hab ich nicht so ganz verstanden da ich ,wie gesagt, noch anfänger bin. Ich werde es dann einfah mal mit isalpha versuchen. Ich danke euch für die schnelle Hilfe
thx
Pierre