Nur bestimmte Zeichen in TEdit zulassen.
-
Hi.
Ich will in einem Feld nur bestimmte Zeichen zulassen.
Also z.B. um eine Postleitzahl einzugeben nur Ziffern zu erlauben.
Dazu hab ich mir jetzt eine Funktion geschrieben:AnsiString char_auswahl(AnsiString eingabe, int& cursor_pos, AnsiString erlaubte_zeichen) { for(int i=1; i<=eingabe.Length(); i++) { bool erlaubte_zeichen_test=false; for(int j=1; j<=erlaubte_zeichen.Length() && erlaubte_zeichen_test!=true; j++) { if(eingabe[i]==erlaubte_zeichen[j]) {erlaubte_zeichen_test=true;} } if(!erlaubte_zeichen_test) { eingabe.Delete(i,1); cursor_pos--; } } return eingabe; }Mein Problem ist das der Aufruf so aussehen muss:
int sel=postleitzahl_Feld->SelStart; postleitzahl_Feld->Text=char_auswahl(postleitzahl_Feld->Text, sel, "1234567890"); postleitzahl_Feld->SelStart=sel;Ich hätte gerne einen einfacheren Aufruf weil ich die Funktion für ein Schulprojekt in Gruppenarbeit schreibe und meine Teammitglieder noch weniger Ahnung von C++ haben als ich.
Also am liebsten hätte ich einfach ne void-Funktion.Hat vielleicht einer eine Idee wie man sowas realisieren kann?
Schon mal vielen Dank für eure Hilfe
Andy
-
hallöchen,
warum eine funktion schreiben wenn das gut so nahe ist

nimm ein maskedit und du kannst die maske so einstellen wie du sie brauchst

gruß
boris
-
bzw. dir ne eigene komponente ableiten und den style ES_NUMBER setzen, wenn nur zahlen eingegeben werden dürfen.
-
Hallo,
auf folgender Seite findest du quasi ein ganzes Tutorial nur für diese Fälle
http://www.bytesandmore.de/rad/index.htm?http://www.bytesandmore.de/rad/cpp/snipp/sc02025.php
Ich denke damit wirst du sicherlich klar kommen
