Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#4

AW: inifile ReadFloat deutsch/english formatsettings

  Alt 14. Jul 2021, 12:37
Erstmal ist es totaler Schwachsinn, dass INIs überhaupt lokalisiert gespeichert/gelesen werden.
(aber für INIs gibt es ja leider auch eigentlich keine globale einheitliche Konvention/Richtline/Norm/...)
Und leider kam in den letzten 20 Jahren auch noch keiner auf die Idee eine FormatSettings-Variable in TCustomIniFile für Floats und DateTimes einzufügen.

Fazit:
  • Du mußt, wie schon gesagt wurde, selbst den Float behandeln
    StrToFloat(INI.ReadString(...), DeinFormatSettings)
    • manuell, vor Ort
    • TIniFile ableiten und diese Funktionen überschreiben überdecken
    • oder besser noch einfach mit einem ClassHelper erweitern, z.B. um ein ReadFloatUS
  • oder du stellst das globale FormatSettings in der SysUtils um
    • also entweder vor und nach dem Zugriff auf die INI, vorübergehend (aber ist auch keine gute Idee, da nicht threadsave usw.)
    • oder permanent dein Programm auf Englisch umstellen
      System.SysUtils.FormatSettings := TFormatSettings.Create('en-US');

Aber vielleicht wird das Problem ja im nächsten Jahrtausend behoben sein.
https://quality.embarcadero.com/browse/RSP-17616
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (14. Jul 2021 um 13:25 Uhr)
  Mit Zitat antworten Zitat