Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi dateien an programm anhängen?? (https://www.delphipraxis.net/25727-dateien-programm-anhaengen.html)

HagBurt 11. Jul 2004 12:34


dateien an programm anhängen??
 
Hallo

Ich weiß nicht ob ich den thread in das richtige forum schreib aber es passt, glaube ich, hier am besten rein.

Ich hab ein kleines programm geschrieben und würde jetzt gerne eine *.exe datei in das programm einfügen.
Also dass ich z.b. per button diese exe auf einem anderen rechner in ein verzeichniss speichern kann.

Ich hab keine ahnung wie ich das im forum suchen soll :oops: darum würden mir links zu dem thema reichen.

Danke im vorraus

SirThornberry 11. Jul 2004 12:40

Re: dateien an programm anhängen??
 
einen Link poste ich mal nicht aber damit du über die Suche was findest nen Hinweis. Du kannst eine andere Exe als Ressource in deine Exe einbinden. Also einfach mal nach Hier im Forum suchenExe Ressource suchen. Wenn du schon bissl damit rum probiert hast ist es auch nicht schwer einfach eine Ressource-datei zu erstellen und dann später diese Ressource auf die Platte zu speichern.

Schnell mal nen Beispiel zusammengebastelt:
1.) Neue Datei anlegen mit dem namen "exeres.rc" //kann auch ein anderer .rc-dateiname sein
2.) Diese Datei dem Project hinzufügen (Projects->Add To Project)
3.) In die "exeres.rc" folgendes reinschreiben
Code:
exedatei01 BINRES "c:\deineEinzubindende.exe"
4.) In ein ButtonClick-Event (oder was auch immer folgendes schreiben
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var LStream: TResourceStream;
    LFile: TFileStream;
begin
  LStream := TResourceStream.Create(HINSTANCE, 'exedatei01', 'BINRES');
  LFile := TFileStream.Create('c:\nameDerZuExtrahierenden.exe', fmCreate);
  LFile.CopyFrom(LStream, LStream.Size);
  LFile.Free;
  LStream.Free;
end;
5.) Programm compilieren - Nach klick auf den Button (etc.) wird die Ressource dann nach 'c:\nameDerZuExtrahierenden.exe' extrahiert

DP-Maintenance 11. Jul 2004 13:36

DP-Maintenance
 
Dieses Thema wurde von "Luckie" von "Datenbanken" nach "Object-Pascal / Delphi-Language" verschoben.
"Ich weiß nicht ob ich den thread in das richtige forum schreib aber es passt, glaube ich, hier am besten rein.2
Nun ja, ich sehe überhaupt keinen Bezug zu Datenbanken. :roll:

NikoMitDaMacht 11. Jul 2004 14:17

Re: dateien an programm anhängen??
 
ich find' dass das etwas einfacher geht:
Delphi-Quellcode:
var
tr:TResourcestream;
begin
   tr:=Tresourcestream.create(hinstance,'exedatei01', 'BINRES');
   tr.Savetofile('Datei Name');
   tr.Free;
end;

Luckie 11. Jul 2004 14:23

Re: dateien an programm anhängen??
 
Aber die Ressourcenschützblöcke fehlen bei euch beiden. ;)

Neuni 11. Jul 2004 14:57

Re: dateien an programm anhängen??
 
Kann man die Datei die angehängt wurde eigendlich auch ohne zwischenspeichern öffnen?

Luckie 11. Jul 2004 15:03

Re: dateien an programm anhängen??
 
Nein. Das hatten wir schon mal. Auß0erdem macht es keinen Sinn, außer man will was "böses" schreiben. :roll:

Neuni 11. Jul 2004 15:11

Re: dateien an programm anhängen??
 
Will nichts "böses" schreiben!

SirThornberry 11. Jul 2004 15:25

Re: dateien an programm anhängen??
 
@NikoMitDaMacht: Stimmt, hab ich gar ni dran gedacht das es da eventuell auch ne Methode SaveToFile gibt. Mit Ressourcenschutblock sollte es dann also so aussehen
Delphi-Quellcode:
var
tr:TResourcestream;
begin
  tr:=Tresourcestream.create(hinstance,'exedatei01', 'BINRES');
  try
    tr.Savetofile('Datei Name');
  finally
    tr.Free;
  end;
end;

HagBurt 12. Jul 2004 01:57

Re: dateien an programm anhängen??
 
Danke für die vielen antworten!!

Aber ich hab bis jetzt noch nichts mit "Ressource" gemacht. aber ich hab das
jetzt so verstanden das ich mit dem editor ne leere *.rc datei erstellen soll
und die dann wie von SirThornberry beschrieben in Delphi einfügen soll.
wenn ich das mach dann ist die seite test.rc im delphieditor ganz leer
und dann soll ich nur dass

Code:
exedatei01 BINRES "c:\deineEinzubindende.exe"
in die datei schreiben???


sorry wenn ich totalen schwachsinn poste :oops: aber bin noch ziehmlich am anfang ....


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz