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";
    }
    //---------------------------------------------------------------------------
    

Anmelden zum Antworten