Einzelnen Beitrag anzeigen

TUX_der_Pinguin

Registriert seit: 1. Jun 2005
Ort: Anholt (NRW)
608 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Datumsformat (TT.MM.JJJJ) anzeigen

  Alt 8. Jun 2018, 08:22
Einige hier scheinen die Problemstellung einfach nicht richtig zu verstehen. Vielleicht solltest du einen konkreten Test-Case machen, der genau zeigt, was du haben willst.

So wie ich das sehe, handelt es sich hier eher um ein Übersetzungsproblem und nicht um die länderspezifische Darstellung eines Datums.

en-US: 'mm/dd/yyyy'
de-de: 'TT.MM.JJJJ'

Gefragt ist also nicht der tatsächliche Format-String, der z.B. für FormatDate verwendet wird, sondern der Hinweistext zur Eingabe eines Datumswerts.
Der Uwe hat's verstanden, es geht allein um den Hinweis Text. Wie er in den Windows Einstellungen auch zu sehen ist.

region.png

Da bist Du in eine kleine Windows-Falle gatappt!

Ich vermute, dass dein Rechner entweder ein auf deutsch umgestelltes englisches Windows ist, oder dass hier der Windows 7 EN auf 10 Upgrade-Bug zugeschlagen hat!

Nehme mal statt LOCALE_SYSTEM_DEFAULT das LOCALE_USER_DEFAULT


Delphi-Quellcode:
var
  FmtSet: TFormatSettings;

begin
  {$WARN SYMBOL_PLATFORM OFF}
  FmtSet := TFormatSettings.Create(LOCALE_USER_DEFAULT);
  {$WARN SYMBOL_PLATFORM ON}

  ShowMessage(FmtSet.ShortDateFormat);
Denn mit LOCALE_SYSTEM_DEFAULT werden die OS-Einstellungen gelesen, mit LOCALE_USER_DEFAULT die User-Einstellungen, welche dir auch von Windows angezeigt werden...
Und ob ich jetzt 'LOCALE_SYSTEM_DEFAULT' oder 'LOCALE_USER_DEFAULT' verwende spielt keine Rolle ich bekomme immer nur das interne Format (z.B. dd/MM/yyyy) zurück. Bei dem Windows handelt es sich um Windows 7 Ultimate, welches auf deutsch eingestellt ist.
  Mit Zitat antworten Zitat