EditMask Eingaben
-
Tach,
Wenn ich bei einem EditMask folgende Maske eingebe: !99,99;1;0
sieht das ganze so aus 00,00
Problem was ich jetzt hab, wenn ich mit der zahl arbeiten will, meckert Borland weil der das nicht als zahl erkennt sondern nur ein , sieht. Das ganze funktioniert nur solang ich eine zahl eingebe bei der die Einerstelle nicht 0 ist.Wie bekomm ich das hin das der nicht belegte stellen auch als 0 erkennt??
Danke schonmal
-
Hat den keiner einen Lösungsvorschlag??

-
Zeig mal ein bißchen Code, denn ich verstehe nicht, was du mit "meckert Borland weil der das nicht als zahl erkennt" meinst?
-
am günstigsten ist es die Leerstelle nicht als 0 sondern als _ anzugeben und dadurch den Nutzer zu "zwingen" alle Stellen einzugeben. Außerdem ist zu empfehlen die Umwandlung des Strings in einen Float/Double-Werte entweder in try...catch oder mit StrToFloatDef zu kontrollieren
-
Danke, hat funktioniert

als Leerzeichen hab ich "" genommen (also Maske 99,99;1;) und hab dann über StrToFloatDef eine Sicherheitsabfrage gemacht.
void __fastcall TForm_Einstellungen::EditMask1Exit(TObject *Sender) { if(!StrToFloatDef(EditMask1->Text,0)) EditMask1->Text="00,00"; } //---------------------------------------------------------------------------