Einzelnen Beitrag anzeigen

Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: 200+ Texte in ein memo laden

  Alt 17. Feb 2013, 08:13
Hi,

der Weg über Datenbank ist sicher der bessere.
Aber es ist auch relativ easy mit einer DLL machbar.

Eine Datei z.B. laender.rc

dort für jede Textdatei eine Zeile: TEXT_DE RCDATA "deutschland.txt"

Eine dpr:
Delphi-Quellcode:
library land_data;
{$R *.res}
begin
end.
kompilieren:
brcc32.exe laender.rc
dcc32 land_data.dpr

In den Sourcen:

Delphi-Quellcode:
procedure DeinForm.LadeMemo(ABlockName: string);
Var
  AStream: TResourceStream;
  AHandle: THandle;
  ADllFileName: string;
begin
  ADllFileName := 'land_data.dll';
  AHandle := LoadLibraryEx(PChar(ADllFileName), 0, LOAD_LIBRARY_AS_DATAFILE);
  if AHandle > HINSTANCE_ERROR then
  begin
    try
      AStream := TResourceStream.Create(AHandle, ABlockName, RT_RCDATA);
      try
        if AStream.Size > 0 then
        begin
          AStream.Position := 0;
          DeinMemo.LoadFromStream(AStrem);
        end;
      finally
        AStream.Free;
      end;
    finally
      FreeLibrary(AHandle);
    end;
  end
  else
    //
    { TODO : Fehlerausgabe }
end;
Aufruf z.B.
LadeMemo('TEXT_DE');

Alles ungetestet...


Frank
Frank Reim

Geändert von dataspider (17. Feb 2013 um 08:16 Uhr)
  Mit Zitat antworten Zitat