Einzelnen Beitrag anzeigen

HolgerX

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

AW: Datumsformat (TT.MM.JJJJ) anzeigen

  Alt 8. Jun 2018, 11:26
Hmm..

1. Das TFormatSettings.ShortDateFormat' ist das Format eine 'andere' Darstellung gibt es nicht!!!
Das TFormatSettings.ShortDateFormat ist in Deutsch "dd/mm/yyyy". In dem gezeigten Dialog steht aber "TT.MM.JJJJ". Letzteres ist gewünscht - nicht das Format.
Windows geht wohl hin und tauscht im Dialog für 'Region und Sprache' das 'd' gegen 'T' und das 'y' gegen 'Y' um hier die Visualisierung für den deutschen User zu Vereinfachen.

Eine API von MS habe ich nicht gefunden, somit muss dass wohl manuell gemacht werden.

Bei mir steht übrigens 'dd.MM.yyyy' im ShortDateFormat, was dem deutschen Format mit '.' als DateSeparator entspricht.

(Ich bin davon ausgegangen, das es um das Problem geht, dass in einem deutschen Windows ein englisches 'dd/mm/yyyy' statt des deutschen 'dd.MM.yyyy' als Format kommt. Dass es dem TE um 'T' statt 'd' geht, ist mir (leider) nicht aufgefallen )


Oder meintest Du es so?
Delphi-Quellcode:
var
  FmtSet: TFormatSettings;

begin
 GetLocaleFormatSettings(LOCALE_USER_DEFAULT, FmtSet);
 ShowMessage(FmtSet.ShortDateFormat);
 GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, FmtSet);
 ShowMessage(FmtSet.ShortDateFormat);
end.
Das zeigt Dir eventuell bei Englisch Windows mit Deutscher Einstellung zwei verschiedene Setups an?
Ps: Ergebnis bei mir ist: dd.MM.yyyy
Das meinte ich mit dem unterschiedlichen Format von System zu User und dass Delphi hier (wohl nur in älteren Delphis) mit System arbeitet statt User, während Windows in den Regions-Settings die des Users anzeigt...
  Mit Zitat antworten Zitat