Borland Builder Überprüfe Edit
-
HI
So… bin ein kleiner Neuling
Ich arbeite zurzeit an einem Spiel und mein prob ist….
Wie überprüfe ich ob ein User in nem Edit Feld ein Namen eingegeben hat
der Name darf Buchstaben, Zahlen und Zeichen enthalte
Es sollte schon ne Funktion werden
DANKE
-
Hallo
Du könntest ja auf die Länge des textes prüfen.if (Textfeld->Text.Length()>0) ShowMessage("Eingabe Korrekt"); else ShowMessage("Überprüfe deine Eingabe");
-
Alternativ auch AnsiString::IsEmpty().
-
Thx für die schnell antwort find ich hammer von euch aber was mich jetzt interessiert ist das ansi:isempty wie funktz das genau vllt kannst du mir ja mit nem bsp weiter helfen
-
Hallo
if (Edit1->Text.IsEmpty()) { //leer } else { //nich leer }
//Edit:
oder:
AnsiString MyText = Edit1->Text; if (MyText.IsEmpty()) ....
mfg, Micha
-
wie geil ist das Forum ^^ hammer THX an alle die mir geholfen haben ..also ich glaub nun werde ich endlich proggen lernen
-
ich bins Belmont
HI
hab noch ein prob mein ausbilder möchte das es ne funktion wird das heißt das ich diese prüffunktion mehr mal einsetzen kann....ich hab das nicht so ganz verstanden vllt habt ihr das verstanden.
1. Eine Funktion, die nicht an einem Event hängt 2. Einen Rückgabewert hat 3. Über einen Testumgebung und eine Dokumentation (Quellcode) verfügt
Weiterhin empfehle ich, dass Du feste Werte über Konstanten löst (Z.B.
MAX_EINGABELAENGE=15) und im Quelltext mit den Konstanten arbeitest.
-
Hi
Funktion bauen, deklarieren, aufrufen.
Header:
private: // User declarations bool CheckInput(TEdit *MyEdit); // Deklaration deiner Funktion
CPP:
bool TForm1::CheckInput(TEdit *MyEdit) { AnsiString Input = MyEdit->Text; if (Input == EmptyStr) return false; // Rückgabe "falsch" = leer else return true; // Rückgabe "wahr" != leer } //----------------------------------------------------- void __fastcall TForm1::Button1Click(TOject *Sender) { if (CheckInput(Edit1)) // Aufruf der Funktion mit Parameter (Edit1) { // Hier weiter } else { // Wenn keine Eingabe in Edit1 } }
Aber nich nur kopieren und hoffen dass es geht ... auch versuchen es zu verstehen :p
mfg, Micha
-
oder etwas kürzer
bool validString(TEdit *MyEdit) { return !MyEdit->Text.IsEmpty(); }
Falls man noch kontrollieren möchte ob MyEdit gültig ist.
bool validString(TEdit *MyEdit) { return !MyEdit ? false : !MyEdit->Text.IsEmpty(); }
-
hab alles verstanden außer das *MyEdit
und VIELEN DANKE Micha
-
Hallo,
MyEdit ist der Bezeichner des deklarierten TEdit im Parameter.
Beispiel:
AnsiString (Typ) Value (Bezeichner) = "Hallo" (Wert)
TEdit (Typ) MyEdit (Bezeichner)...mfg, Micha
-
Danke Braunstein muss mal gucken was ich nun nehmen werde nur das * MyEdit versteh ich nicht
-
aso ok thx
-
Thx Micha es hat geklappt
-
Das heißt, Du hast die Stelle gefunden, an der das Semikolon gefehlt hat?
-
hihi ja
und hab den HEader vergessen ^^aber nun will ich das in der funktion auch überprüft ob der jenige mehr als 15 zeichen eingeben hat wenn ja (message: ich Spielername ist zulang) oder so
wie verbinde ich das mit der funktion ?
-
Hallo
Siehe die Methode AnsiString::Length
bis bald
akari
-
wie würde das dann mit der funktion von RandomAccess85 aussehen
-
Ist jetzt nicht Dein Ernst, oder?
if (Input.IsEmpty() || Input.Length() > 15)
-
ich sagte ja ich bin da neu und ich habs grad versucht... hat aber nicht geklappt.
aber ich seh jetzt mein fehler
ich habs so eingebenif (Input.IsEmpty()) || (Input.Length() > 15)
sorryaber danke
mhhh
muss das nicht so heißen ?if (Input == EmptyStr) || (Input.Length() > 15)