AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dezimal-Trenner nicht korrekt

Offene Frage von "MaxDelphi"
Ein Thema von MaxDelphi · begonnen am 27. Jun 2011 · letzter Beitrag vom 27. Jun 2011
Antwort Antwort
MaxDelphi

Registriert seit: 29. Jun 2009
17 Beiträge
 
#1

Dezimal-Trenner nicht korrekt

  Alt 27. Jun 2011, 08:51
Hallo liebe Mitstreiter,

ich weiß nicht genau ob es sich um ein Delphi oder Windows-Problem handelt. Wahrscheinlich könnt ihr mir mit einem Link weiterhelfen.

Ich habe umgestellt von Delphi6 auf Rad Studio XE und von XP auf Win7.
Im RadStudio unter Win7 x64 wollte ich lediglich einen String 2,4535 in eine Double umwandeln also FloatToStr('2,345') -> Fehlermeldung wegen falschem Dezimaltrenner (mit PUNKT geht's). Also nachgeschaut ob in der Systemsteuerung / Region und Sprache und dort im deutschen Bereich die richtigen Trenner eingestellt sind -> alles IO.
Gesucht und gegooglt, aha es gibt noch eine überladene Funktion der FloatToStr mit TFormatSettings. Dazu hab ich mir die Hilfe angeschaut und wie angegeben die Formatsettings mit Create ermittelt, FloatToStr -> Fehlermeldung.
Im Debug-Modus zeigt mir die FormatSettings als DezimalSeparator den PUNKT an!!
Weitergeschaut, aha GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, FS) gibts ja auch noch. probiert -> Fehlermeldung, Debugmodus -> Dezimaltrenner ist der PUNKT!!
Weitergeschaut, GetLocaleFormatSettings(1031, FS) probiert jetzt geht's, ABER andere fertige Komponenten wie zum Beispiel die TjvValidateEdit der JediVCL zeigen wieder den PUNKT an, das kann doch nicht wahr sein!!

Ich hab dann noch ein bißchen weiter geschaut und mir die Werte der Variablen in GetLocaleFormatSettings beobachtet 1031 scheint die korrekten FormatSettings zu laden, wenn man aber die Variable LOCALE_SYSTEM_DEFAULT oder LOCALE_USER_DEFAULT benutzt haut das nicht hin sie geben 2048 bzw. 1024 zurück.

Ich kann doch keine Programme mit konstantem Parameter für die Region ausliefern, wenn es in verschiedenen Regionen laufen soll.

Was läuft hier falsch und wo? Nochmal zum Hinweis Win7 x64 und Rad Studio XE Pro wird verwendet.

Hab dasselbe nochmal unter XP-Mode und Delphi6 programmiert ging problemlos, aber das kompilierte Testprogramm (Delpi6) unter Win7 hatte wieder den falschen Dezimaltrenner.

Vielen Dank für Eure Mühe und Hinweise im voraus.
MfG,
MaxDelphi
  Mit Zitat antworten Zitat
MaxDelphi

Registriert seit: 29. Jun 2009
17 Beiträge
 
#2

AW: Dezimal-Trenner nicht korrekt

  Alt 27. Jun 2011, 09:15
Hallo Forum,

Problem gelöst, bitte keine weiteren Aufwände betreiben.

Hier ist die Lösung:
http://www.delphipraxis.net/156447-d...lsettings.html
MfG,
MaxDelphi
  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:00 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