Wie bekomme ich lokalisierte Tagnamen in Delphi?

8

Ich benutze Standard-Delphi-Konstanten DayMonday usw. und möchte sie in lokalisierte Strings konvertieren (zB "Lundi"). Gibt es dafür einen einfachen RTL- oder VCL-Aufruf?

    
Roddy 15.01.2009, 12:07
quelle

2 Antworten

3

Ich dachte Ich hatte einen einfachen Weg für das "aktuelle Gebietsschema" gefunden.

Es gibt globale Arrays LongDayNames [] und ShortDayNames [], die in system.pas

definiert sind

Also ..

%Vor%

sollte zum Beispiel funktionieren. Mit Ausnahme von "Sonntag" . Dies liegt daran, dass Delphi intern zwei Tagesnummernschemata unterstützt und DayMonday die ISO8601-Konstante 1 ist, während das Array LongDayName den Sonntag als ersten Tag der Woche erwartet. C ++ Builder verwirrt die Dinge weiter, weil das String-Array dann bei Null beginnt, nicht eins.

    
Roddy 15.01.2009, 12:31
quelle
7

Sie können verschiedene Gebietsschemaeinstellungen erhalten, indem Sie:

%Vor%

GetThreadLocale gibt die aktuelle LCID, aber Sie können eine andere Nummer selbst verwenden.

TFormatSettings-Datensatz:

%Vor%

Siehe auch Ссылка für eine vollständige Liste.

Sie können sogar die Formateinstellungen selbst ändern, um wirklich schicke Ergebnisse zu erzielen.

    
Toon Krijthe 15.01.2009 12:25
quelle

Tags und Links