Einzelnen Beitrag anzeigen

TomyN

Registriert seit: 8. Nov 2006
Ort: Bayreuth
241 Beiträge
 
Delphi 10.3 Rio
 
#1

Neues aus Athen - WriteFloat

  Alt 28. Aug 2024, 08:14
Delphi-Version: 12 Athens
Hallo

Gestern bin ich über folgendes gestolpert

Wert in Inifile schreiben:

Code:
...
ini: TMemIniFile;
...
x:= 1.2;
ini.WriteFloat('Hinz','Kunz', x);
ini.UpdateFile;
...
In der selben App aus Inifile lesen

Code:
...
ini: TMemIniFile;
...
x:= ini.Readfloat('Hinz','Kunz', 1.5);
...
Folge: Fehlermeldung '1,2 ist keine gültige Zahl'

Im Inifile steht 1,2

Doku zu ReadFloat sagt:
Das Dezimalzeichen wird von der globalen System.SysUtils.FormatSettings-Variable festgelegt.

Das Schreiben geändert


Code:
...
ini: TMemIniFile;
dsl: Char;
...
dsl:= FormatSettings.Decimalseparator;
FormatSettings.Decimalseparator:= '.';
x:= 1.2;
ini.WriteFloat('Hinz','Kunz', x);
ini.UpdateFile;
...
FormatSettings.Decimalseparator:= dsl;
Und schon geht's. Jetzt steht 1.2 im IniFile, Zahlen in der App werden mit Komma angezeigt und das Einlesen klappt auch ohne Anpassung des Decimalseparators (was ich aber zur Sicherheit schon mache).

Nur so als Hinweis, falls jemand sich wundern sollte....

Tomy
Thomas Neumann
Meine Projekte
www.satlive.audio
www.levelcheck.de
  Mit Zitat antworten Zitat