Hallo
Unter D7 Pro
Habe ich um mein Programm in verschiedene Sprachen weiterzugeben, dll's benutzt
ein Texteditor
1=öffnen
2=schliessen usw
bat gestartet um res zu erzeugen
brcc32 Deutsch.rc
PAUSE
<PRE>
library Deutsch;
//################################################## ############################
//
//DEUTSCH
//
//################################################## ############################
uses
SysUtils,
Classes;
{$R *.res}
{$R 'Deutsch.res' 'German.rc'}
begin
end.
</PRE>
in mein Programm dann so aufgerufen
<PRE>
//************************************************** ****************************
//Element aus Sprachen.dll ausgeben
Function Element_Ausgeben_GU(element_nr_s : String) : String;
var
lib_h : THandle;
res_s : TResourceStream;
elemente_sl : TStringList;
i : Integer;
pos_i : Integer;
text_str_s : String;
begin
lib_h := LoadLibrary(PChar(ExtractFilePath(ParamStr(0)) + c_sprachen_path_s + v_sprache_s + '.dll'));
elemente_sl := TStringList.Create;
elemente_sl.Clear;
text_str_s := '';
res_s := NIL;
Result := '';
//Elemente aus Sprache laden
if (lib_h <> 0) then
begin
try
res_s := TResourceStream.Create(lib_h, 'Elemente', RT_RCDATA);
elemente_sl.LoadFromStream(res_s);
for i := 0 to elemente_sl.Count - 1 do
begin
if (Pos(element_nr_s + '=', elemente_sl.Strings[i]) = 1) then
begin
pos_i := Pos('=', elemente_sl.Strings[i]);
text_str_s := Copy(elemente_sl.Strings[i], pos_i + 1, Length(elemente_sl.Strings[i]));
end;
end;
finally
res_s.Free;
elemente_sl.Free;
end;
end;
FreeLibrary(lib_h);
//Platzhalter '#13#10' durch Steuerzeichen ersetzen
Result := StringReplace(text_str_s, '#13#10', #13#10, [rfReplaceAll]);
end;
</PRE>
wie mache ich das jetzt unter VCL Formanwendung für delphi.net ?
Assembly?
Ein Beispiel wäre sehr hilfreich
Raimund
Unter D7 Pro
Habe ich um mein Programm in verschiedene Sprachen weiterzugeben, dll's benutzt
ein Texteditor
1=öffnen
2=schliessen usw
bat gestartet um res zu erzeugen
brcc32 Deutsch.rc
PAUSE
<PRE>
library Deutsch;
//################################################## ############################
//
//DEUTSCH
//
//################################################## ############################
uses
SysUtils,
Classes;
{$R *.res}
{$R 'Deutsch.res' 'German.rc'}
begin
end.
</PRE>
in mein Programm dann so aufgerufen
<PRE>
//************************************************** ****************************
//Element aus Sprachen.dll ausgeben
Function Element_Ausgeben_GU(element_nr_s : String) : String;
var
lib_h : THandle;
res_s : TResourceStream;
elemente_sl : TStringList;
i : Integer;
pos_i : Integer;
text_str_s : String;
begin
lib_h := LoadLibrary(PChar(ExtractFilePath(ParamStr(0)) + c_sprachen_path_s + v_sprache_s + '.dll'));
elemente_sl := TStringList.Create;
elemente_sl.Clear;
text_str_s := '';
res_s := NIL;
Result := '';
//Elemente aus Sprache laden
if (lib_h <> 0) then
begin
try
res_s := TResourceStream.Create(lib_h, 'Elemente', RT_RCDATA);
elemente_sl.LoadFromStream(res_s);
for i := 0 to elemente_sl.Count - 1 do
begin
if (Pos(element_nr_s + '=', elemente_sl.Strings[i]) = 1) then
begin
pos_i := Pos('=', elemente_sl.Strings[i]);
text_str_s := Copy(elemente_sl.Strings[i], pos_i + 1, Length(elemente_sl.Strings[i]));
end;
end;
finally
res_s.Free;
elemente_sl.Free;
end;
end;
FreeLibrary(lib_h);
//Platzhalter '#13#10' durch Steuerzeichen ersetzen
Result := StringReplace(text_str_s, '#13#10', #13#10, [rfReplaceAll]);
end;
</PRE>
wie mache ich das jetzt unter VCL Formanwendung für delphi.net ?
Assembly?
Ein Beispiel wäre sehr hilfreich
Raimund
Comment