AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Probleme mit FormatSettings.DecimalSeparator
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit FormatSettings.DecimalSeparator

Ein Thema von Hunni · begonnen am 10. Jan 2017 · letzter Beitrag vom 13. Jan 2017
Antwort Antwort
Hunni

Registriert seit: 30. Apr 2006
Ort: Rödermark
97 Beiträge
 
Delphi 11 Alexandria
 
#1

Probleme mit FormatSettings.DecimalSeparator

  Alt 10. Jan 2017, 17:22
Hallo,

der Befehl FormatSettings.DecimalSeparator gibt mir machmal den Falschen Wert zurück

Wir haben mehrere Win7 (64bit) Rechner, die mir hin und wieder anstelle eines ',' einen '.' zurückgeben

Ist das ein bekanntes Problem ?

Lösen kann ich das Problem meistens dadurch, das ich in der System Einstellung unter "Region Sprache" ein anders Land auswähle und dann wieder zurück auf Deutsch wechsel


Beispiel
Code:
  label1.Caption := '1' + FormatSettings.DecimalSeparator + '00';

Gruß

Torsten
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: Probleme mit FormatSettings.DecimalSeparator

  Alt 10. Jan 2017, 17:29
Reine Spekulation, aber das klingt doch so, als ob das Problem bei Windows liegen würde. Hast du auf einem der betroffenen Rechner mal geschaut, ob da vielleicht wirklich '.' als Trennzeichen eingestellt war?
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
640 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: Probleme mit FormatSettings.DecimalSeparator

  Alt 10. Jan 2017, 17:43
Dieses Phänomen hatte ich schon des öfteren mit HP-Rechnern. Allerdings mit der Einschränkung, dass dies nicht "hin und wieder" passierte, sondern ein einmaliger Vorgang nach der Auslieferung bzw. erstmaligen Inbetriebnahme war. D.h. wenn man einmalig die Ländereinstellung gewechselt, übernommen, und wieder zurück gewechselt hat, dann war es behoben.

Und, richtig, wie Zacherl schon geschrieben hat, das ist ein Windows Problem, das nichts mit Delphi zu tun hat.
Gruss Otto
Wenn du mit Gott reden willst, dann bete.
Wenn du ihn treffen willst, schreib bei Tempo 220 eine SMS
  Mit Zitat antworten Zitat
Hunni

Registriert seit: 30. Apr 2006
Ort: Rödermark
97 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Probleme mit FormatSettings.DecimalSeparator

  Alt 10. Jan 2017, 17:52
Reine Spekulation, aber das klingt doch so, als ob das Problem bei Windows liegen würde. Hast du auf einem der betroffenen Rechner mal geschaut, ob da vielleicht wirklich '.' als Trennzeichen eingestellt war?
Hi,

Ja, In den Windows Einstellungen ist immer ein ',' eingetragen

Eigentlich habe ich auch gelesen, das dieser Fehler durch einmaliges ändern der System Einstellungen behoben sein soll

Aber der Fehler tritt leider immer wieder mal sporadisch auf


Gruß

Torsten
  Mit Zitat antworten Zitat
HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#5

AW: Probleme mit FormatSettings.DecimalSeparator

  Alt 10. Jan 2017, 18:14
Das ist ein bekannte Bug von Windows7.

Wenn Windows 7 als Englich installiert wurde und dann das deutsche Sprachpaket darüber kommt es zu diesem Problem.

Es gibt unter Windows 7 einmal die System-Sprache und einmal die User-Sprache.

Auch wenn in deinem Profil DE eingestellt ist und der richtige Dezimalseparator angezeigt wird, nimmt u.a. Delphi nicht die User-Sprache, sondern die System-Sprache.
Vor Windows 7 gab es nur die Systemsprache.

Eine einfache Fehlerbehandlung ist, in die Spracheinstellungen zu gehen und dort "auf Standard zurücksetzen" machen.
Dann wird auch die System-Sprache richtig eingestellt und es kommt der richtige Dezimalseparator.

Der Bug wird übrigens bei einem Upgrade von Win7 auf Win10 sogar mitgenommen

Wurde hier übrigens schon behandelt:
http://www.delphipraxis.net/156447-d...lsettings.html
http://www.delphipraxis.net/160539-d...p-vs-win7.html
  Mit Zitat antworten Zitat
t.roller
(Gast)

n/a Beiträge
 
#6

AW: Probleme mit FormatSettings.DecimalSeparator

  Alt 10. Jan 2017, 18:37
Zitat:
ms-help://embarcadero.rs_xe7/libraries/System.SysUtils.TFormatSettings.Create.html
Ein TFormatSettings-Datensatz muss vor der Verwendung initialisiert werden. Mit Create können Sie alle Felder gemäß des angegebenen Gebietsschemas füllen.

Delphi-Quellcode:
procedure TForm1.Button11Click(Sender: TObject);
var FS: TFormatSettings;
begin
  FS := TFormatSettings.Create('de-DE');
  Caption:= '1'+ FS.DecimalSeparator+'00';
end;

procedure TForm1.Button12Click(Sender: TObject);
var FS: TFormatSettings;
begin
  FS := TFormatSettings.Create('en-US');
  Caption:= '1'+ FS.DecimalSeparator+'00';
end;
  Mit Zitat antworten Zitat
Hunni

Registriert seit: 30. Apr 2006
Ort: Rödermark
97 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Probleme mit FormatSettings.DecimalSeparator

  Alt 10. Jan 2017, 19:55
Zitat:
ms-help://embarcadero.rs_xe7/libraries/System.SysUtils.TFormatSettings.Create.html
Ein TFormatSettings-Datensatz muss vor der Verwendung initialisiert werden. Mit Create können Sie alle Felder gemäß des angegebenen Gebietsschemas füllen.

Delphi-Quellcode:
procedure TForm1.Button11Click(Sender: TObject);
var FS: TFormatSettings;
begin
  FS := TFormatSettings.Create('de-DE');
  Caption:= '1'+ FS.DecimalSeparator+'00';
end;

procedure TForm1.Button12Click(Sender: TObject);
var FS: TFormatSettings;
begin
  FS := TFormatSettings.Create('en-US');
  Caption:= '1'+ FS.DecimalSeparator+'00';
end;
Hallo

Ok, ich werde es mal ausprobieren


Gruß

Torsten
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:35 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz