Registriert seit: 1. Feb 2018
3.691 Beiträge
Delphi 11 Alexandria
|
AW: Datumsformat (TT.MM.JJJJ) anzeigen
8. Jun 2018, 16: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 ?
|
|
Zitat
|