Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#25

AW: Datumsformat (TT.MM.JJJJ) anzeigen

  Alt 8. Jun 2018, 14:54
So klappt es, vielen Dank!

Hier nochmal für HolgerX wegen fehlender Konstanten zum nachvollziehen:
Delphi-Quellcode:
function GetLocaleInfoEx(lpLocaleName: PWideChar; LCType: LCTYPE; lpLCData: PWideChar; cchData: Integer): Integer; stdcall; external kernel32 name 'GetLocaleInfoEx';

procedure DoJob;
const
  LOCALE_NAME_SYSTEM_DEFAULT = '!x-sys-default-locale'; // <- das bringt bei mir einen Leerstring
  LOCALE_NAME_USER_DEFAULT = $00; // <- das funktioniert
var
  lpLocaleName: PWideChar; LLCType: LCTYPE;
  lpLCData: PWideChar; cchData, ReturnValue: Integer;
  DataValue: array of WideChar;
  DataString: string;
begin
  lpLocaleName := PChar(LOCALE_NAME_USER_DEFAULT);
  LLCType := LOCALE_SSHORTDATE;
  lpLCData := nil;
  cchData := 0;
  cchData := GetLocaleInfoEx(lpLocaleName, LLCType, lpLCData, cchData);
  if cchData = 0 then
    RaiseLastOSError
  else
  begin
    SetLength(DataValue, cchData);
    lpLCData := @DataValue[0];
    cchData := GetLocaleInfoEx(lpLocaleName, LLCType, lpLCData, cchData);
  end;
  SetString(DataString, PChar(@DataValue[0]), Length(DataValue));
  ShowMessage(DataString);
end;
Aber das Ergebnis bleibt auch hier = dd.MM.yyyy
also irgendwie alles das gleiche nur eine andere Möglichkeit
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat