Einzelnen Beitrag anzeigen

Nintendo

Registriert seit: 16. Feb 2009
82 Beiträge
 
#9

AW: Betriebssystem Sprache auslesen

  Alt 29. Mai 2013, 19:02
Du gehst nicht über den Index des Array aus Language sondern über den Locale identifier von hier Language Identifier Constants and Strings


Delphi-Quellcode:
// DE = 1031 = $0407
var
 LCID:Integer;
begin
  LCID := Languages.indexOf(SysLocale.DefaultLCID);
  Showmessage( IntToStr(Languages.LocaleID[LCID])
               + '[' +IntToHex(Languages.LocaleID[LCID],4) +']'
               + '-' + Languages.LocaleName[LCID]
               + '-' + Languages.Name[LCID]);
end;
Danke erst mal für die Antwort!

Das verblüfft mich jetzt. Ich hatte soeben diese Idee:

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i: integer; s,s1,s2: String;
begin
  //i := Languages.IndexOf(SysLocale.DefaultLCID);
  s := '';
  for i := 0 to Languages.Count-1 do
  begin
    s1 := 'Index: '+ IntToStr(i);
    s2 := Languages.Name[i];
    s := s1 + ' ' + s2;
    Memo1.Lines.Add(s);
    s := '';
  end;
  //Label2.Caption := IntToStr(i);
  //ShowMessage(Languages.Name[i]);
end;
Damit erhalte ich je Index eine Sprache. Mit Ihrer Methode erhalte ich jedoch 1031[0407]-German(Germany)

Ich suche das, um die Systemsprache zu ermitteln, um in einer eigenen Anwendung davon abhängig die Bedienersprache einzustellen.
Daher suchte ich eine Tabelle mit den Indizes.

Damit ich später abhängig von diesem Index die richtige Sprache in meiner Anwendung eistellen kann.

.
  Mit Zitat antworten Zitat