Schluss mit rumraten, Zeit für die Windows
API:
Könntest Du mir helfen die
Api mit meinem D2009 zu verschmelzen?
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;
So rufe ich die non-Ex Funktion auf. Da mein Delphi noch keinen Windows.pas Eintrag für die Ex hat, habe ich den lt.
MSDN Nachgebastelt.
function GetLocaleInfoEx(const lpLocaleName: LPCWSTR; const LCType: LCTYPE; out lpLCData: LPWSTR; const cchData: integer): Integer; external kernel32 name 'GetLocaleInfoEx';
Aber ich bekomme das einfach nicht zum Laufen. Mein Delphi kennt noch kein TArray<WideChar>
Ps: Ein Beispiel Aufruf für den Code da oben schaut so aus
ShowMessage(GLI(LOCALE_SSHORTDATE));