Delphi - Operációs rendszer nyelvének meghatározása programból

forráskód letöltése
Hogyan tudhatjuk meg legegyszerűbben, hogy milyen nyelvű operációs rendszeren fut a programunk? A mellékelt példából kiderül! A mellékelt példaprogram megnyitása előtt az OSLanguage.pas-ban lévő komponenst telepítenie kell a Delphi alá.

A GetSystemDefaultLangID függvénnyel lekérdezhetjük az operációs rendszer alapértelmezett nyelvének az azonosítóját. Ebből az azonosítóból a VerLanguageName függvénnyel megkaphatjuk az adott nyelv nevét. A VerLanguageName függvénynek át kell adni a nyelv azonosítóját, egy buffer címét ahová a nevet kapjuk, és a buffer maximális hosszát.

Mivel a nyelv feltehetőleg nem változik a program futtatása során, ezért rögtön a komponens konstruktoránál lekérdezhetjük az adatokat.
constructor TOSLanguage.Create;
var
   FLang: array [0..100] of char;
begin
    inherited Create(AOwner);
    FLangID:=GetSystemDefaultLangID;
    FLangIDHex:='$'+IntToHex(FLangID, 4);
    VerLanguageName(FLangID, FLang, 100);
    FLanguage:=String(FLang);    
end;