![]() |
Ländereinstellungen lesen und setzen
Hallo Allerseits!
Unter Windows (z.B. Win XP) kann man unter "Start\Systemsteurung\Regions- und Sprachoptionen\Regionale Einstellungen" die Formate für Zahlen, Währungen, Uhrzeit und Datum einstellen. Dort steht dann hier in Deutschland meistens "Deutsch(Deutschland)". Man kann dann dort z.B. "Englisch (Großbritannien)" einstellen. Nun zu meiner Frage: Ich möchte das mein Programm in der Einstellung "Englisch (Großbritannien)" läuft. Das Programm soll zur Laufzeit prüfen, welche Ländereinstellung auf dem Rechner eingestellt ist und wenn z.B. "Deutsch(Deutschland)" eingestellt ist, diese nur für die Laufzeit des Programms nach "Englisch (Großbritannien)" umstellen. Nach Beendigung des Programms soll wieder die alte Einstellung vorhanden sein. Ich habe schon ein bisschen mit
Delphi-Quellcode:
experimentiert. Aber da finde ich nur etwas zu einzelnen Einstellung; z.B. den Dezimalseperator:
SetLocaleInfo
Delphi-Quellcode:
.
SetLocaleInfo(Locale, LOCALE_SDecimal, '.');
Gibt es auch eine Möglichkeit die obige "manuelle" Einstellung von Hand in Delphi zu machen? |
AW: Ländereinstellungen lesen und setzen
Ich glaube die versuchst das Symptom zu beheben, anstatt die Ursache. Es gibt in Delphi die globale Variable DecimalSeparator, die festlegt was als Dezimaltrennzeichen verwendet wird. Denn wenn du die Ländereinstellungen veränderst gilt das auch für andere Programme. Das heißt, die anderen Programme könnten dann eventuell nicht mehr funktionieren oder falsche Ergebnisse und Darstellungen liefern.
|
AW: Ländereinstellungen lesen und setzen
Zitat:
Aber wie ist hier die "richtige" Vorgehensweise? Soll das Programm den vom Benutzer/Betriebssystem verwendeten Dezimalseparator einfach ignorieren und ein innerhalb des Programms vereinbarten Dezimalseparator verwenden? Z.B. indem grundsätzlih innerhalb des Programms der Punkt (".") oder das Komma (",") als Dezimalseparator verwendet wird. Das könnte man ja erreichen, indem man die vom Benutzer eingegebe(n) Float-Zahl(en) überprüft und ggf. den Dezimalseparator austauscht. |
AW: Ländereinstellungen lesen und setzen
Zum Anzeigen natürlich die vom Benutzer gewählten Systemeinstellungen. Was du intern in deinem Programm nutzt ist egal.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz