Einzelnen Beitrag anzeigen

Muetze1
(Gast)

n/a Beiträge
 
#8

Re: StrToFloat klappt nur mit ','

  Alt 14. Jul 2007, 13:54
Zitat von mkinzler:
Zitat:
Beim Überschreiben des Wertes in der globalen Variable bekommst Du immer dann ein Problem, wenn jmd. anderes den selben Gedanken hatte
Das Verändern der Konstante ändert nicht die Systemeinstellungen, sondern wirkt nur in dem aktiven Programm
Ja, und leider setzen manche VCL Komponenten diesen einfach wieder zurück. Afair sind manche Datenbankenkomponenten leider so programmiert. Mit dem verändern vom DecimalSeparator habe ich einer Anwendung massive Probleme gehabt, da zwischendurch dieser wieder zurück gesetzt wurde. Dabei hatte die App das Umsetzen beim Start durchgeführt und dann nirgendwo wieder angefasst. Es waren nur Standardkomponenten und ein paar eigene vorhanden (welche dies auch nicht geändert haben). Nun nutze ich einfach die ersetzen Methode:

Delphi-Quellcode:
function MyStrToFloat(AString: string): double;
begin
  AString := StringReplace(AString, '.', DecimalSeparator, [rfIgnoreCase, rfReplaceAll]);
  AString := StringReplace(AString, ',', DecimalSeparator, [rfIgnoreCase, rfReplaceAll]);
  result := StrToFloat(AString);
end;
Voraussetzung für diese Methode: es gibt keine Tausender-Trennzeichen.
  Mit Zitat antworten Zitat