Entwickler-Ecke

Dateizugriff - Dateien packen / zippen


juppinger - Mi 31.08.11 17:31
Titel: Dateien packen / zippen
Moin zusammen,

ich wollte in meine Appli einen "Backup-Button einbauen, der bestimmte Dateien an einen gewählten Ort kopiert.
Wie kann man denn per Delphi Dateien oder Verzeichnisse packen/zippen? Hat jemand ein Beispiel? Sollte wenn möglich opensource sein, wenn es nicht mit einer vorhandenen Lib geht.

Kann man die aktuell geöffnete EXE, aus der der "Backup"-Knopf gedrückt wird, ebenfalls mit in ein Zip packen (ist ja eine offene EXE)?

Danke für jeden Tipp,
jup


Moderiert von user profile iconNarses: Topic aus VCL (Visual Component Library) verschoben am Do 01.09.2011 um 12:44


Dude566 - Mi 31.08.11 18:12

http://www.delphi-treff.de/tipps/dateienverzeichnisse/dateioperationen/dateien-komprimieren/


Delete - Mi 31.08.11 18:42

Was um Gottes Willen ist eine Appli? An App und an Prog habe ich mich ja schön gewöhnt, aber Appli? :roll:


Delphi-Laie - Do 01.09.11 08:52

user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Was um Gottes Willen ist eine Appli? An App und an Prog habe ich mich ja schön gewöhnt, aber Appli? :roll:


Ich verstehe es auch nicht, warum das Herantreten an ein Forum so oft mit dem Abschalten einer seriösen Ausdrucksweise verbunden wird.

Mein persönlicher "Favorit" lautet: "Proggi funzt net".


juppinger - Do 01.09.11 15:26

user profile iconDude566 hat folgendes geschrieben Zum zitierten Posting springen:
http://www.delphi-treff.de/tipps/dateienverzeichnisse/dateioperationen/dateien-komprimieren/


... das packt jedoch scheinbar nur eine einzelne Datei. Wie geht das, wenn ich mehrere Dateien in eine Zip packen möchte? Bzw. ein ganzes Verzeichnis?

... und geht das mit der geöffneten EXE (also die mit reinpacken)?

danke,
jup


rushifell - Do 01.09.11 17:56

Wenn's nicht unbedingt ein zip-Archiv sein muss, kannst Du auch mit der zlib mehrere Dateien in ein Archiv packen. Bei Swissdelphicenter gibt's dazu ein Beispiel:
http://www.swissdelphicenter.ch/de/showcode.php?id=1617

Wenn Du statt TFileStream einen TMemoryStream benutzt, musst Du auch keine temporäre Datei benutzen.

Ansonsten gibts z.B. bei http://www.torry.net/ die Komponente KAZip zum Download.

Gruß


juppinger - Fr 02.09.11 14:22

LOL! Wollte eben gerade mal Testen...
"zlib.dcu nicht gefunden!"

So ein Mist! Weiss jemand wo ich die Dateien für Delphi 4 kriege?

Danke,jup


juppinger - Mo 05.09.11 19:50

Keiner eine Info?


Mitmischer 1703 - Mo 05.09.11 21:33

http://lmgtfy.com/?q=zlib.dcu+delphi+4


juppinger - Di 06.09.11 18:31

user profile iconMitmischer 1703 hat folgendes geschrieben Zum zitierten Posting springen:
http://lmgtfy.com/?q=zlib.dcu+delphi+4


Danke für die Suchhilfe. Danach hab ich aber auch schon gegoogelt. NIX GEFUNDEN!
:-(


wulfskin - Di 06.09.11 23:05

Guten Abend juppinger,

eine ZLib-Implementierung ist bei base2 technologies [http://www.delphizip.org/zipmaster-190] zu finden. Mit dem Beispiel auf Delphi-Treff [http://www.delphi-treff.de/tipps/dateienverzeichnisse/dateioperationen/dateien-komprimieren/] ist es zwar nur möglich eine Datei zu packen, allerdings ist eine Unterstützung für mehrere Dateien basierend darauf leicht möglich. Allerdings handelt es sich dabei nicht um Zip-Archive, sondern um lose (und aneinandergereihte) komprimierte Datenblöcke ohne Archivstruktur.

Wenn du Zip-Archive (mit einer oder mehreren Dateien) erstellen möchtest, also Archive die sich mit jedem herkömmlichen Zip-Programm entpacken lassen, solltest du wohl eine andere Komponente verwenden. Eine kurze Suche in Google ergab die Komponente ZipMaster 190 [http://www.delphizip.org/zipmaster-190]. Allerdings muss hier eine externe DLL mit dem Programm mitgeliefert werden.

Es lohnt sich also etwas Zeit in eine intensivere Recherche zu investieren oder auf die Erstellung von Zip-Archiven zu verzichten und stattdessen auf die o.g. Lösung zurückzugreifen. Ich selbst habe noch nie Zip-Archive erstellt und kann dir deshalb leider keine Komponente aus praktischer Erfahrung empfehlen.

Übrigens: Scheinbar [http://www.spiegel.de/kultur/zwiebelfisch/0,1518,315125,00.html] ist nicht gleich anscheinend.

Grüße
Hans-Peter


platzwart - Mi 07.09.11 10:26

Einfach mal nach KAZip suchen. Damit kannst du beliebige Dateien und Verzeichnisse zippen (natürlich nur solche, die grade nicht verwendet werden).


sternbach - Mi 07.09.11 10:47

user profile iconLuckie hat folgendes geschrieben Zum zitierten Posting springen:
Was um Gottes Willen ist eine Appli? An App und an Prog habe ich mich ja schön gewöhnt, aber Appli? :roll:


Vermutlich eine Applikation aus der schönen Schweiz?


AScomp - Mi 07.09.11 15:36

Ich kann VCLZip sehr empfehlen. Ist einfach in der Handhabung, recht flott und bietet zusätzliche Funktionen wie AES-Verschlüsselung, Splitting und Verifizierung an.