Discussion:
Datum formatieren
(zu alt für eine Antwort)
Tristan Fischer
vor 21 Jahren
Permalink
Folgendes Problem: Ich benutze ein deutsches Delphi mit einem deutschen
Windows. Mit dem statement

FormatDateTime ('d mmmm yyyy', now());

formatiere ich ein Datum und gebe es anschliessend aus. Der Monat wird
dabei in Deutsch ausgegeben. Soweit so gut. Was passiert nun, wenn das
Program unter einem englischen Windows ausgeführt wird. Erscheint das
Datum in Englisch oder in Deutsch? Anders formuliert: Wer ist für die
Formatierung bzw. Ausgabe zuständig, Delphi oder Windows?

Ich vermute mal, dass die Ausgabe auch unter einem englischen Windows
in Deutsch erfolgt. Dann meine Anschlussfrage: Wie bekomme ich Delphi
dazu, dass die Datumsausgabe in einer englischen Windows-Version in
englisch erfolgt?

Besten Dank
Michael Adler
vor 21 Jahren
Permalink
Post by Tristan Fischer
Datum in Englisch oder in Deutsch? Anders formuliert: Wer ist für die
Formatierung bzw. Ausgabe zuständig, Delphi oder Windows?
Windows.
Post by Tristan Fischer
Ich vermute mal, dass die Ausgabe auch unter einem englischen Windows
in Deutsch erfolgt. Dann meine Anschlussfrage: Wie bekomme ich Delphi
dazu, dass die Datumsausgabe in einer englischen Windows-Version in
englisch erfolgt?
Gar nich, deine Vermutung ist grundsätzlich falsch.

// ma
Marian Aldenhövel
vor 21 Jahren
Permalink
Hi,
Wer ist für die Formatierung bzw. Ausgabe zuständig, Delphi
oder Windows?
Für diese Formatierung ist Delphi zuständig. Die Funktion ist total in
Pascal implementiert. Die langen und kurzen Namen von Wochentagen und
Monaten entnimmt diese Funktion den Variablen ShortDayNames,
LongDayNames etc..

Und diese Variablen wiederrum werden beim Start des Programms mit den
Werten vorbelegt, die das aktuelle Windows-Locale verwendet.
Ich vermute mal, dass die Ausgabe auch unter einem englischen Windows
in Deutsch erfolgt.
Du siehst, nein dem wäre nicht so.
Dann meine Anschlussfrage: Wie bekomme ich Delphi
dazu, dass die Datumsausgabe in einer englischen Windows-Version in
englisch erfolgt?
Du brauchst nichts zu tun. Wolltest Du auf einem englischen Windows
deutsche Texte haben, so müsstest Du nach dem Start des Programms
die Werte der entsprechenden Variablen korrigieren.

Ciao, MM
--
Marian Aldenhövel, Rosenhain 23, 53123 Bonn.
Fon +49 228 624013, Fax +49 228 624031.
http://www.marian-aldenhoevel.de
Tristan Fischer
vor 21 Jahren
Permalink
Marian und Michael
Post by Marian Aldenhövel
Du brauchst nichts zu tun. Wolltest Du auf einem englischen Windows
deutsche Texte haben, so müsstest Du nach dem Start des Programms
die Werte der entsprechenden Variablen korrigieren.
Besten Dank, war genau das, was ich wissen wollte. Dachte schon, ich
müsse an TFormatSettings rumfummeln. War mir nicht sicher, ob die Werte
zur Laufzeit von Windows gelesen werden.

Tristan
Kurt-Heinrich Ermel
vor 21 Jahren
Permalink
Hallo,
Post by Marian Aldenhövel
Monaten entnimmt diese Funktion den Variablen ShortDayNames,
LongDayNames etc..
Und diese Variablen wiederrum werden beim Start des Programms mit den
Werten vorbelegt, die das aktuelle Windows-Locale verwendet.
.. und werden während der Ausführung automatisch geändert, wenn jemand an
den Lokalisierungseinstellungen dreht und
Application.UpdateFormatSettings TRUE ist (default, zumindest bei D5).

tschuess,
Kurt

Lesen Sie weiter auf narkive:
Loading...