Leeres Editfeld abfangen?



  • Hallo!
    Vorerst mal: Ich bin totaler C++ Anfänger, also verzeiht mir die dusselige Frage^^

    Ich schreibe grade an einer kleine Anwendung mit 7 Eingabefeldern und möchte die Fehlermeldung verhindern, wenn ein Eingabefeld leergeblieben (und idealerweise auch, wenn was anderes als Zahlen eingegeben) ist.

    Die Daten aus den Editfeldern werden mit einem Klich auf den "Submit" Button in Variablen gespeichert.

    Var1 = StrToFloat (Edit1->Text);
    Var2 = StrToFloat (Edit2->Text);
    ... etc
    

    Klappt auch alles wie gewünscht, aber wenn man halt ein Feld leergelassen hat, gibts diesen lustigen Programmabsturz...und mit den Variablen soll ja gerechnet werden.. deshalb würd ich auch gerne das eingeben von anderen Zeichen unterbinden oder abfangen..

    Jemand ne Idee, wie ich das einigermaßen umsetzen kann?
    (Gibts hier auch ein Noobforum, damit ich euch mit solchen Fragen hier nicht belästigen muss?^^)



  • Hallo

    Das Thema ist schon oft besprochen, siehe zum Beispiel hier. In deinem Fall dann natürlich nicht StrToIntDef sondern StrToFloatDef, wenn du Builder 6 oder "moderner" besitzt.

    bis bald
    akari



  • Also

    Var1 = StrToFloatDef(Edit1->Text)
    

    Dann meckert er was von wegen "zuwenig Parameter"



  • Hallo

    Dann schau doch mal in der Builder-Hilfe oder über die Suchfunktion hier im Forum nach, welche Parameter StrToFloatDef verlangt.

    bis bald
    akari



  • hab ich...
    mit

    Var1 = StrToFloatDef(Edit1->Text,[b]0[/b])
    

    scheint es zu funktoneren...
    jaja...noob halt, sry 😉



  • Wenn es sich um Ganze Zahlen handelt, kannst du auch die Eigenschaft "NumbersOnly" auf true setzen. Dann kann der Nutzer nur Zahlen eingeben.


Anmelden zum Antworten