Autor Beitrag
Biarchiv
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 688



BeitragVerfasst: So 23.11.03 12:35 
Hallo,

Ich habe einen Code gefunden mit dem man Windows-Systemsprache ermitteln kann.
Wie genau ist das?

Und was muss beim String stehen damit es alles Deutsch ist! Österreich, Deutschland, ...

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
function GetOSLanguage: string;
var
  LanguageID:LangID;
  Language: array [0..100] of char;
begin
  LanguageID:=GetSystemDefaultLangID;
  VerLanguageName(LanguageID,Language,100);
  Result:=String(Language);
end;

If GetOSLanguage = '?????Deutsch' then
sCrAPt
Gast
Erhaltene Danke: 1



BeitragVerfasst: So 23.11.03 13:07 
Ich würd mal sagen das die Windows-Systemsprache die ist, die der User bei der Installation angegeben hat. Wenn ich mein BS installiere kann ich nämlich aussuchen ob ich jetzt Deutsch, Englisch oder Türkisch haben will...
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: So 23.11.03 14:59 
Biarchiv hat folgendes geschrieben:
Ich habe einen Code gefunden mit dem man Windows-Systemsprache ermitteln kann.

´s geht noch kürzer ;):
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
function GetOSLanguage: string;
begin
  SetLength(Result,MAX_PATH);
  SetLength(Result,VerLanguageName(GetSystemDefaultLangId,
    @Result[1],length(Result)));
end;


Zitat:
Und was muss beim String stehen damit es alles Deutsch ist! Österreich, Deutschland, ...

Bei mir heißt es "Deutsch (Standard)" (Win 98 ). Die Id ("GetSystemDefaultLangId") wäre in dem Fall 0x407.

Übrigens, noch eine Variante:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
var
  buf : array[0..MAX_PATH]of char;
begin
  ZeroMemory(@buf,sizeof(buf));
  GetLocaleInfo(LOCALE_USER_DEFAULT,LOCALE_SABBREVLANGNAME,buf,sizeof(buf));
  MessageBox(0,buf,'Your locale ID is',0);
end.

Als Ergebnis würde "deu" angezeigt werden.

Generell würde ich dir einen Blick ins PSDK/MSDN von Microsoft empfehlen, da steht zu dem Thema alles Wissenswerte drin. :)