AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Dateien in EXE speichern

Ein Thema von DArc · begonnen am 3. Jun 2009 · letzter Beitrag vom 6. Jun 2009
Antwort Antwort
Seite 1 von 3  1 23      
DArc

Registriert seit: 3. Jun 2009
48 Beiträge
 
Delphi 7 Enterprise
 
#1

Dateien in EXE speichern

  Alt 3. Jun 2009, 18:57
habe noch ne frage ^^

ich möchte wissen, ob ich dateien, zB andere EXE dateien in meinem delphiprojekt
speichern kann, OHNE eine externe *.RES nehmen zu müssen ...

also so ungefähr, wie bei dem programm installshield!

man packt mehrere dateien in eine exe und diese wiederum extrahiert mehrere
dateien (exe, jpg, dll, usw., was man eben so braucht) ...

kann man auch sowas in delphi coden?

wie gesagt, ich will keine externe *.res!



hmmm oder ... könnte man mit einem befehl *.res dateien in irgendeinem
ausgewählten dateipfad extrahieren? also ich meine die res wieder "auseinander nehmen"
und die dateien, die man in die res gepackt hat wieder rausnehmen?
dann würde ich die externe RES nehmen^^
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Dateien in EXE speichern

  Alt 3. Jun 2009, 19:00
Wieso externe .res? Die Ressourcendatei wird doch beim Kompilieren in deine Exe eingefügt.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
DArc

Registriert seit: 3. Jun 2009
48 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Dateien in EXE speichern

  Alt 3. Jun 2009, 19:05
lol echt?

habe ich garnicht bemerkt xD ...

haha bin ich blöde ...


thx^^



wieder was dazu gelernt^^


edit: zu meiner zweiten frage:

wie kann ich nun die dateien aus der *.res wieder rausholen oder geht das überhaupt?
  Mit Zitat antworten Zitat
nat

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

Re: Dateien in EXE speichern

  Alt 3. Jun 2009, 19:09
du könntest die dateien hinten an die exe-datei anhängen.
die exe sollte trotzdem lauffähig sein und kann zur laufzeit aus
sich selber die dateien auslesen. du müsstest nur mit speichern
wie groß die angehängte datei (oder wenn mehrere, wie groß jede
einzelne datei) ist, damit du sie auch wieder auslesen kannst.
so machen es meines wissen auch die selbstentpackenden
zip/rar/etc archive.
  Mit Zitat antworten Zitat
DArc

Registriert seit: 3. Jun 2009
48 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Dateien in EXE speichern

  Alt 3. Jun 2009, 19:11
Zitat von nat:
du könntest die dateien hinten an die exe-datei anhängen.
die exe sollte trotzdem lauffähig sein und kann zur laufzeit aus
sich selber die dateien auslesen. du müsstest nur mit speichern
wie groß die angehängte datei (oder wenn mehrere, wie groß jede
einzelne datei) ist, damit du sie auch wieder auslesen kannst.
so machen es meines wissen auch die selbstentpackenden
zip/rar/etc archive.
und wie mach ich das ...
tut mir leid für mein zu kleines delphi - wissen^^
  Mit Zitat antworten Zitat
nat

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

Re: Dateien in EXE speichern

  Alt 3. Jun 2009, 19: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
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Dateien in EXE speichern

  Alt 3. Jun 2009, 19:37
Für das Anhängen habe ich hier eine einfach zu benutzende Möglichkeit gepostet:
http://www.delphipraxis.net/internal....php?p=1043105

Aber wenn du nur Dateien mit der Exe mitliefern willst, ist das ein äußerst unpassender Weg. Da sind Ressourcen genau richtig:
Zitat von DArc:
wie kann ich nun die dateien aus der *.res wieder rausholen oder geht das überhaupt?
Dafür kannst du TResourceStream benutzen. Dann hast du direkten Zugriff auf die Daten der Ressource.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
nat

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

Re: Dateien in EXE speichern

  Alt 3. Jun 2009, 19:53
Zitat von jaenicke:
Aber wenn du nur Dateien mit der Exe mitliefern willst, ist das ein äußerst unpassender Weg. Da sind Ressourcen genau richtig
kommt halt immer auf den anwendungsfall an. wenn du ne feste datei in dein programm kompilieren willst sind ressourcen sicher besser.
soll dein programm aber viele verschiedene dateien angehängt bekommen (wie z.B. bei den schon angesprochenen selbstentpackenden archiven),
dann kannste da nich viel mit ressourcen machen.
kommt halt immer drauf an... wollte ja nur noch eine möglichkeit nennen... weiß ja nicht wozu er es genau verwenden will
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: Dateien in EXE speichern

  Alt 3. Jun 2009, 19:58
Ja, natürlich, deshalb habe ich das ja auch entsprechend eingeschränkt. "Wenn man nur etwas mitliefern will"
Denn so hörte es sich an nach dem Eingangspost.
Zitat von DArc:
man packt mehrere dateien in eine exe und diese wiederum extrahiert mehrere
dateien (exe, jpg, dll, usw., was man eben so braucht) ...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
nat

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

Re: Dateien in EXE speichern

  Alt 3. Jun 2009, 20:06
naja, ich war mir da nich so sicher. hatte in nem anderen thread von ihm was von "setup" gelesen.
da dachte ich, vll bastelt er ja an ner setup engine oder sowas.
deshalb wollt ich meinen senf halt auch dazu geben!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:02 Uhr.
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