Einzelnen Beitrag anzeigen

Nuclear-Ping
(Gast)

n/a Beiträge
 
#25

Re: Dynamische Variablen in Delphi ???

  Alt 12. Mai 2008, 10:54
Zitat von lhmultimedia:
@vsilverlord Falsch habe ich nicht vor.
Ich habe vor in eine Datei Namen von Strings zu schreiben.
Dann wird im Programm die Sprachdatei angegeben und die jeweiligen Strings werden durch die strings in der 2. Datei ersetzt.
Warum machst du das zB nicht über Ressourcen?

Code:
// german.rc
STRINGTABLE {
         1, "Deutsch"
         2, "Datei"
         3, "Öffnen"
         4, "Speichern"
         ...
}
Dann per brcc32 in eine .res-Datei compilen, die du zB in eine german.dll einbindest, die du dann im Programm per LoadLibrary lädst und dann auf die Ressourcen zugreifst?
Delphi-Quellcode:
// ID = Index aus StringTable der .rc Datei
// LangLibHnd = Handle der DLL, Rückgabewert von LoadLibrary
function TLanguageClass.GetString (ID: Integer; LangLibHnd: Integer = -1): String;
var
        ResPtr: PChar;
        LangHnd,
        ResLen: Integer;
begin
        ResLen := 1024000;
        if LangLibHnd = -1 then
                LangHnd := FLangHandle
        else
                LangHnd := LangLibHnd;
        GetMem (ResPtr, ResLen);
        try
                if LoadString (LangHnd, ID, ResPtr, ResLen) = 0 then
                        Result := '? ' + inttostr (ID) + ' ?'
                else Result := StrPas (ResPtr);
        finally
                FreeMem (ResPtr);
        end;
end;
ShowMessage (Language.GetString(3)); // Öffnen
  Mit Zitat antworten Zitat