Thema: Delphi Menüs zur Laufzeit

Einzelnen Beitrag anzeigen

urs.liska

Registriert seit: 6. Aug 2003
Ort: Freiburg
195 Beiträge
 
Delphi 6 Professional
 
#11

Re: Menüs zur Laufzeit

  Alt 7. Feb 2005, 16:27
Zitat von DelphiSourcer:
Ich nehme an, das man damit verschiedene Stringkonstanten nach folgendem Muster anlegt:

Delphi-Quellcode:
ResourceString
  sDatei = 'Datei';
  sFile = 'File';
  ............
  sBearbeiten = 'Bearbeiten';
  sEdit = 'Edit';
  ............

type TLanguage = (english, german, french, .... );

  begin
     case Language of
       english: Menu.Items[0].Caption := sFile;
       german: Menu.Items[0].Caption := sDatei;
       french: ...;
     end;
  end;
Nein, das geht anders (und noch wesentlich besser).
In einer Ressourcendatei stehen alle strings, so wie in Deinem Bsp. nach "ResourceString"
Das eigentliche Programm weiß gar nichts von verschiedenen Sprachversionen, sondern Du schreibst einfach:Menu.Items[0].Caption := sDatei; Das ist genau der Punkt daran, dass im eigentlichen Quelltext nicht auf verschiedene SPrachen Rücksicht genommen werden muss.
Für verschiedene Sprachversionen werden einfach verschiedene Versionen der Ressourcendatei hergestellt. Da steht dann z.B.
Delphi-Quellcode:
ResourceString
  sDatei = 'File'
drin. Wie man damit genau umgeht, findest Du in der OH unter "resourcestring" bzw. unter "Internationalisierung" und "Lokalisierung" von Anwendungen. Auf jeden Fall sollten die ResourceStrings in eine eigene Unit.

Die Variante von scp kannte ich nicht, sieht aber sehr interessant aus.

Urs
  Mit Zitat antworten Zitat