Thema: Delphi Dateien in EXE speichern

Einzelnen Beitrag anzeigen

nat

Registriert seit: 10. Nov 2005
216 Beiträge
 
RAD-Studio 2009 Pro
 
#6

Re: Dateien in EXE speichern

  Alt 3. Jun 2009, 18:22
du liest die datei die du anhängen willst erstma in einen buffer ein z.B. so
Delphi-Quellcode:
var
  FS: TFileStream;
  Buffer: array of char;
begin
  FS := TFileStream.Create('DateiDieIchAnhängenWill.exe', fmOpenRead);
  try
    setlength(Buffer, FS.size);
    FS.ReadBuffer(Buffer[0], FS.size);
    //die komplette datei ist nun binär in Buffer
    ...
  finally
    FS.free;
  end;
dann öffnest du die datei an die du anhängen willst (z.B. auch so wie oben mit nem TFileStream),
und schreibst ganz ans ende den buffer und (ganz wichtig) dahinter die größe des buffers (length(Buffer)).

das programm, an das du anhängst muß natürlich die funktionen schon beinhalten um von sich
selbst erst die größe auszulesen und dann den eigentlichen "buffer". diesen kannst du dann
wieder in eine datei auf der festplatte schreiben und dann ausführen oder was auch immer.

klingt etwas kompliziert, aber wenn man da erstma durchblickt ist es ganz einfach.
  Mit Zitat antworten Zitat