Button aktivieren nach befüllen 2er Editfelder. wie?
-
Guten Abend,
ich komm gleich mal zu meinem Problem.
Ich habe einen Button der auf false steht und 2 Editfelder.
Der Button soll erst aktiviert werden wenn in beiden Feldern Zahlen eingegeben sind. Wenn ein (oder beide) Feld geleert wird soll der Button natürlich wieder deaktiviert werden.
Ich habs mit If probiert aber ich bekomms nicht richtig hin das es mit beiden Feldern funktioniert, immer nur mit einem.
Hoff ihr versteht meine Frage und könnt mir helfen.MFG
Ich
-
Hallo
Mit "if" in Verbindung mit UND (&&) ist das machbar.wNw
-
Hallo nochmal... hüstel
Im OnChange Ereignis beider Edits mit "if" in Verbindung mit UND(&&) testen ob Edit1->Text=="" UND Edit2->Text=="" ist.Sorry wegen Doppelpost, ich fand meinen ersten Tip dann doch zu spartanisch...
wNw
-
Danke dir, das ich auf && nicht draufgekommen bin obwohl ichs bei einer anderen aufgabe benütz %). Mit deim 2. Tip hab ichs jetzt hinbekommen
Davor hat ich immer fehler wegen fehlender zahlen eingaben
Wie kann man den machen das man nur Zahlen eingeben kann und keine buchstaben?
-
Hallo,
entweder mit entsprechenden Komponenten (Foren-Suche) oder mit try / catch und einer Typkonvertierung (im OnChange des Textfeldes):
try { StrToInt(Edit->Text); } catch(...) { ShowMessage("Bitte nur Zahlen eingeben!"); }
oder durch Abfragen der gedrückten Taste im OnKeyPress (ebenfalls des Textfeldes)
if (!(Key >= '0' && Key <= '9')) Key = NULL;
//Edit: ups ^^ ... na denn wird er wohl ni lange suchen müssen
mfg, Micha
-
Hallo
Schön das ich helfen konnte..
Zu Deiner neuen Frage:
Kennst Du Google?
Dann geb mal folgendes ein:"TEdit nur Zahlen"
Oder such mal hier im Forum.
Das Thema hatten wir hier schon einige mal.
Viel Glück
wNw
-
bool nurzahlen(const AnsiString& text) { for(int i = 1; i <= text.Length(); ++i) if(!isdigit(text[i])) return false; return true; }
mit der Funktion prüfe ich Eingaben auf Zahlen...
greetz KN4CK3R
-
Hallo
isdigit war mir bis jetzt unbekannt...
Mit RandomAccess85 ´s Möglichkeiten haben wir schon 3 Alternativen.
Ein Fall für die FAQs!
wNw
-
Danke schön
habs jetzt so gemacht:
if (Key == '.') { Key=char(','); } if((Key!=',')&&(Key!='1')&&(Key!='2')&&(Key!='3')&&(Key!='4')&&(Key!='5')&&(Key!='6')&&(Key!='7')&&(Key!='8')&&(Key!='9')&&(Key!='0')&&(Key!=char(VK_BACK))&&(Key!=char(VK_DELETE))) { Key=char(); }
Nochmals danke für eure Hilfe.
mfg
ich
-
das sollte allerdings die mit am Abstand umständlichste Lösung sein oder?
greetz KN4CK3R
-
nunja, wollt einfach mal alle Zeichen aufschreiben die erlaubt sind
hab aber 0-9 durch (!(Key >= '0' && Key <= '9')) ersetzt