Witajcie
Mam pytanie znacie polecenie na sprawdzenie wersji jezykowej systemu XP ?
Jak pobrac do zmiennej dana jaki system xp jest zainstalowany to znaczy z jaka wersja jezykowa ?
Witajcie
Mam pytanie znacie polecenie na sprawdzenie wersji jezykowej systemu XP ?
Jak pobrac do zmiennej dana jaki system xp jest zainstalowany to znaczy z jaka wersja jezykowa ?
var UserLang, SystemLang:array[0..255] of char;
begin
VerLanguageName(
GetUserDefaultLangID(),
@UserLang,
sizeof(UserLang)
);
MessageBox(
0,
PChar(Format('(0x%x) %s', [GetUserDefaultLangID(), UserLang])),
'Język użytkownika',
MB_OK or MB_ICONINFORMATION
);
VerLanguageName(
GetSystemDefaultLangID(),
@SystemLang,
sizeof(SystemLang)
);
MessageBox(
0,
PChar(Format('(0x%x) %s', [GetSystemDefaultLangID(), SystemLang])),
'Język systemu',
MB_OK or MB_ICONINFORMATION
);
end;
if SysLocale.PriLangID = LANG_POLISH then ShowMessage('Język polski')
else if SysLocale.PriLangID = LANG_ENGLISH then ShowMessage('Język angielski')
else .........
Aby uzyskać pełne informacje o języku, można jego identyfikator rozbić na 3 części, co pokazuje poniższy kod:
function LangIDToString(LangId:LangID):string;
var Name:array[0..255] of char;
begin
VerLanguageName((LangId shl 10), Name, sizeof(Name));
result:=Name;
VerLanguageName(LangId, Name, sizeof(Name));
result:=Name+' ('+result+') ';
VerLanguageName((LangId and $3FF), Name, sizeof(Name));
result:=result+' - '+Name;
end;
begin
ShowMessage(
PChar(
Format(
'Język systemu:'#13'(0x%x) %s'#13#13'Język użytkownika:'#13'(0x%x) %s',
[
GetUserDefaultLangID(),
LangIDToString(GetUserDefaultLangID()),
GetSystemDefaultLangID(),
LangIDToString(GetSystemDefaultLangID())
]
)
)
);
end;
Dzięki temu możesz też poznać jaka odmiana języka (na przykład 'Angielski - Wielka Brytania') jest używana.