Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#29

AW: Datumsformat (TT.MM.JJJJ) anzeigen

  Alt 8. Jun 2018, 15:31
Delphi-Quellcode:
function GLI(T: Cardinal): String;
var
   NeedLen : Integer;
begin
   NeedLen := GetLocaleInfo(LOCALE_USER_DEFAULT, t, nil, 0);
   SetLength(Result, NeedLen);
   if GetLocaleInfo(
     LOCALE_USER_DEFAULT, t, PChar(Result), NeedLen) <> 0
   then SetLength(Result, NeedLen-1)
   else RaiseLastOSError;
end;

function GetLocaleInfoEx(lpLocaleName: PWideChar; LCType: LCTYPE; lpLCData: PWideChar; cchData: Integer): Integer; stdcall; external kernel32 name 'GetLocaleInfoEx';
function GLIx(T: Cardinal): String;
const
  LOCALE_NAME_USER_DEFAULT = $00;
var
   NeedLen : Integer;
begin
   NeedLen := GetLocaleInfoEx(PChar(LOCALE_NAME_USER_DEFAULT), t, nil, 0);
   SetLength(Result, NeedLen);
   if GetLocaleInfoEx(PChar(LOCALE_NAME_USER_DEFAULT), t, PChar(Result), NeedLen) <> 0
   then SetLength(Result, NeedLen-1)
   else RaiseLastOSError;
end;

function GetFmtSet: String;
var
  FmtSet: TFormatSettings;
begin
  try
    GetLocaleFormatSettings(LOCALE_USER_DEFAULT, FmtSet);
  finally
    Result := FmtSet.ShortDateFormat;
  end;
end;
Delphi-Quellcode:
 ShowMessage('GLIx: ' + GLIx(LOCALE_SSHORTDATE));
 ShowMessage('GLI: ' + GLI(LOCALE_SSHORTDATE));
 ShowMessage('TFormatSettings:' + GetFmtSet);
Alle Varianten liefern "dd.MM.yyyy" als Ergebnis, ist es Geschmacksfrage oder gibt es da noch ein Richtig/Falsch ?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat