Float aus Edit sicher abfragen
-
hi,
wie kann ich sicher abfragen das in einem Edit eine Float zahl drin steht?
es gibt ja die Funktion StrToFloatDef, aber die gibt auch nen fehler raus wenn eine 0 in dem feld steht, und mir ist neu das eine 0 bzw. 0,0 keine float zahl sein soll.
Bin für jede hilfe Dankbar, ich weiß echt nichtmehr weiter!!

-
Hallo
Nimm nur StrToFloat. Das wirft eine Exceptions wenn die Umwandlung nicht möglich ist.
bis bald
akari
-
Hallo!
wie akari sagte.
Du kannst das per try ... catch machen.Bsp.:
try { StrToFloat(Edit1->Text); Application->MessageBox("Eingabe OK!", "", MB_OK); } catch (...) { Application->MessageBox("Eingabe ist kein Float Wert!", "", MB_OK); }das catch (...) fängt alle Errors ab ... da kannst du auch nur Specielle Errormeldungen abfangen ...
Aber beim Builder kommt (solange du compilierst) trotzdem ne Fehlermeldung ... das kann man irgendwo ausstellen ... habe aber nicht den Builder zur Hand ... und weiß das nicht auswendig.
Liebe Grüße!
-
Eine weitere Möglichkeit wäre OvcNumericField aus den Orpheus Components (frei auf Source Forge erhältlich), die kannst Du maskieren und direkt als Float ausgeben OvcNumericField1->AsFloat, weiterhin haben die ein onError in den Du Deine Fehlermeldung packen kannst.
Gruß myerscola
-
Danke,
hat mir weitergeholfen!