CAL_ITWODIGITYEARMAX (siehe
MSDN) schaut interessant aus:
Zitat:
An integer value indicating the upper boundary of the two-digit year range.
Mal sehen, ob ich was draus machen kann.
Update: Das folgende liefert bei mir dw = 2029 zurück, also das, was ich will:
Delphi-Quellcode:
const
LOCALE_RETURN_NUMBER = $20000000;
CAL_ITWODIGITYEARMAX = 48;
CAL_RETURN_NUMBER = LOCALE_RETURN_NUMBER;
function GetCalendarInfo(
Locale: LCID;
Calendar: CALID;
CalType: CALTYPE;
lpCalData: LPTSTR;
cchData: Integer;
lpValue: LPDWORD
): Integer; stdcall; external kernel32 name 'GetCalendarInfoA';
var
dw: DWORD;
begin
GetCalendarInfo(LOCALE_USER_DEFAULT, CAL_GREGORIAN,
CAL_ITWODIGITYEARMAX or CAL_RETURN_NUMBER,
nil, 0, @dw
);
end;
Ich möchte allerdings weder
gregorianischen noch koreanischen oder arabischen Mondkalender. Und einfach "den" Kalender gibt's als Calendar Identifier scheinbar nicht.
BTW: Der
Locale Explorer ist interessant:
http://www.flounder.com/calendarinfo.gif