Fehelr bei Verwendung des DecimalSeparator und XP



  • Hi

    ich habe Probleme mit dem DecimalSeparator
    (aber nur unter XP)

    sowas zB

    DecimalSeparator = '.';
    

    nach einiger Zeit wird das unter XP wieder zurueckgestellt
    (nach Bildschirmschoner oder so)

    dh. in einem TEdit steht vorher 0.123 danach 0,123

    ich drehe noch durch
    (geht natuerlich das SPeichern in einer DB mittels SQL nicht mehr)

    Wie bekommt man sowas in den Griff ?

    Danke fuer euere Hilfe
    Mfg
    Klaus



  • DecimalSeparatorError schrieb:

    geht natuerlich das SPeichern in einer DB mittels SQL nicht mehr

    Doch, z.B. mit parametrisierten Statements.

    query->SQL->Text = "UPDATE my_table SET numeric_field = :FLOAT_PARAMETER";
    query->Prepared = true;
    query->ParamByName("FLOAT_PARAMETER")->AsString = MyEdit->Text;
    // optional: query->ParamByName("FLOAT_PARAMETER")->AsFloat = MyEdit->Text.ToFloat();
    query->Active = true;
    

    Oder habe ich das falsch verstanden?

    Gruß,

    Alexander


  • Mod

    Hallo

    dann wuerde ja, wenn der Fehler auftritt (statt 1.234 1,234)
    in dem Feld nur eine 1 stehen

    Dieser Fehler ist sehr interesant

    Das Betriebssystem aendert die Einstellungen eines Programms waehrend des Programmablaufs 😕 😕

    Versuchs mal mit

    DecimalSeparator = '.';
    Application->UpdateFormatSettings=false;
    

    Mfg
    Klaus


Anmelden zum Antworten