Pflicht Eingabefeld ???
-
Hallo,
wie kann ich abfragen ob ein Wert eingegeben worden ist, oder das Feld noch leer ist.(Edit-Feld) Denn wenn das Feld leer ist kommt es bei der Ausührung zu einem Fehler.
Gruß timeless
-
Was für ein Eingabefeld?
Wo genau ist das Problem? Prüfe doch einfach den Wert auf seine Gültligkeit vor der Ausführung der Funktion?-junix
-
Benutze das Edit-Feld als Eingabe
Label1->Caption=IntToStr(StrToInt(Edit1->Text) + StrToInt(Edit2->Text));
will aber nun mit einer If-Anweisung festlegen, das in beide Edit Felder ein Wert eingegeben werden muss, geschieht dies nicht, soll eine Fehlermeldung erscheinen...
timeless
-
...und wo liegt das Problem?
-junix
-
naja, was schreib ich denn für "keinen Wert" ??
if (Edit1->Text = ???? ) ShowMessage("Bitte Wert eingeben!");
sorry, mein erstes prog in c++
-
Da du ja scheinbar erst mit c++ angefangen hast, solltest du dich auch gleich mit der Hilfe beschaeftigen. Guck dort mal unter den Methoden von AnsiString. Da duerfte etwas sein, was dir bei deinem Problem hilft.
MfG Aoeke
-
Text ist vom Typ "AnsiString" (dort wird ein String gekapselt). Schau Dir dazu mal die Hilfe an.
Wenn Du wissen willst, ob der String leer ist, kannst Du die Länge des Strings abfragen: if (Edit1->Text.Length() == 0)
Auch Dir empfehle ich aber dringend das Studium eines C++ Buches. Andernfalls landest Du mit dem nächsten Problem wieder auf der Nase und mußt fragen...
-
Da du einen String in eine Zahl, hier Integer, konvertierst, empfehle ich dir das Arbeiten mit einem Try/Catch-Block. Denn bei Eingabe von Buchstaben in dein Edit, erhälst du beim Konvertieren auch eine Fehlermeldung.
-
ok, super danke.
ja, hab auch schon eins bestellt, wird die tage kommen....aber musste halt schon mal anfangen
-
Hallo
Label1->Caption=IntToStr(StrToInt(Edit1->Text) + StrToInt(Edit2->Text));
ist nicht so got
besser ist:
Label1->Caption=IntToStr((Edit1->Text.ToIntDef(0)) + (Edit2->Text.ToIntDef(0)));
oder
Label1->Caption=Edit1->Text + Edit2->Text);
MfG
Klaus
-
KlausB schrieb:
oder
Label1->Caption=Edit1->Text + Edit2->Text);
Das hat dann gar nichts mehr damit zu tun, vor dem Posten am besten mal nachdenken...
Und WARUM das besser sein soll, was du gesagt hast, würde ich auch gerne mal wissen...
-
'kein wert' ist in deinem Sinne wohl "".
und du solltest beachten das = eine Zuweisung ist im Sinne
i = 5 also i wird zu 5 du aber sicherlich einen Vergleich haben willst der mit
== funktioniert.
also if(i == 5) sprich wenn i gleich 5 ist.übrigens try catch bei zu int wandeln halte ich übertireben, ToIntDef ist da in 99% der Fälle praktischer als ToInt mit Try und catch
-
Wieso so umständlich mit Length und so.
Mach einfach Edit1->Text.IsEmpty().