Entwickler-Ecke

Dateizugriff - Mehrere Dateien in ein Archiv packen


kandesbunzler - So 22.04.12 13:41
Titel: Mehrere Dateien in ein Archiv packen
Hallo,

ich suche nach einer Möglichkeit, mehrere in unterschiedlichen Verzeichnissen befindliche Dateien in ein Archiv zu packen und bei Bedarf wieder zu entpacken und an die urspünglichen Positionen zurückzuschreiben.

Ich bin mir unsicher, ob TFileStream sich als Lösung anbieten würde.

Wer hat hierfür evtl. Hinweise oder ein Sampleprojekt.

Danke und Gruß,
kandesbunzler.


jaenicke - So 22.04.12 14:10

Wie wäre es mit Abbrevia und einem Zip-Archiv?
http://sourceforge.net/projects/tpabbrevia/


kandesbunzler - So 22.04.12 19:56

Danke Dir, Sebastian.

Nach einem ersten Review stellen diese Komponenten eine visuelle Oberfläche für die Arbeit mit Achiven dar. Ich habe mich evtl. nicht detailliert genug ausgedrückt bzgl. meiner Anfrage.

Ich habe eine Reihe von Dateien in verschiedenen Formaten (*.TXT, *.XML, *.DLL, *.XYZ) vorliegen, welche in verschiedenen Verzeichnissen vorhanden sind. Diese Dateien und deren Verzeichnisse sind mir bekannt.

Ziel ist es, diese Dateien als 'Sicherheitskopie' in einer Datei zu speichern. Eine Kompression selbst ist hierbei nicht zwingend erforderlich, wäre aber aus Kompatibilitätsgründen sicherlich ein Vorteil (wenn bspw. als ZIP gepackt). Diess 'Sicherheitspaket soll zu einem späteren Zeitpunkt zurückgespielt werden können.

Deshalb hatte ich ursprünglich TStream angedacht, welches dies ansatzweise wohl umsetzt - allerdingd unter Verlust der 'ZIP'-Kompatibilität. Wie gesagt, ein Projektsample in dieser Richtung würde mir (und evtl. auch anderen ;-)) sicherlich weiterhelfen.

Gruß
kandesbunzler.


jaenicke - So 22.04.12 20:11

user profile iconkandesbunzler hat folgendes geschrieben Zum zitierten Posting springen:
Nach einem ersten Review stellen diese Komponenten eine visuelle Oberfläche für die Arbeit mit Achiven dar.
Wie kommst du auf visuell? Das sind einfache Klassen, mit denen du mit Archiven arbeiten kannst. Eben genau was du vorhast. Die visuelle Oberfläche gehört nicht direkt dazu, nur zu den Beispielen (wie ja in Beispielen üblich ;-)). Und genau mit diesen Beispielen solltest du auch weiterkommen.


Nersgatt - Mo 23.04.12 09:31

Zip wird doch in aktuellen Delphiversionen direkt unterstützt, oder? Ich mein ab XE2...


jaenicke - Mo 23.04.12 10:29

Richtig, ab XE2. Aber da er vergessen hat seine Delphiversion im Profil auszufüllen, weiß ja niemand welche er hat... ;-)


kandesbunzler - Mo 23.04.12 22:18

Guten Abend,

@jaenicke & Nersgatt: Ihr habt Recht, ich vergaß, die verwendete Version zu erwähnen - das Profil wurde aktualisiert.

Wie ersichtlich ist, versuche ich unter D7 das Zusammenfassen/Packen mehrerer Dateien umzusetzen. Aus Zeitgründen werde ich erst in den nächsten Tagen dazukommen, jaenicke´s Hinweis genauer auzuschauen.

Gruß,
kandesbunzler.

PS: Wo finde ich eigentlich den 'Bedanke'-Button? Ich wollte mich gerne bei einigen Mitgliedern für ihre Unterstützung bedanken.


bummi - Mo 23.04.12 22:31

wenn ich mich recht entsinne war es

http://www.delphi-forum.de/profile.php?mode=editprofile&page=2
Dynamische Seitenänderung (AJAX) >> ja


kandesbunzler - Mo 23.04.12 22:37

Unglaublich - aber wahr, es funktioniert. Wer hat das so versteckt??

Gruß,
kandesbunzler.


jaenicke - Mo 23.04.12 22:52

Ich meine mich an eine entsprechende Diskussion vor einer ganzen Weile erinnern zu können, ich glaube in der Ankündigung der Funktion oder so: Bei neu angemeldeten Mitgliedern ist das AFAIR direkt aktiviert, aber bei bestehenden Mitgliedern könnte es ja sein, dass derjenige es absichtlich deaktiviert hat (JavaScript Phobie ;-)), so dass es nicht einfach bei allen aktiviert werden sollte.


Martok - Di 24.04.12 19:53

user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
[...] ich glaube in der Ankündigung der Funktion oder so: Bei neu angemeldeten Mitgliedern ist das AFAIR direkt aktiviert, aber bei bestehenden Mitgliedern könnte es ja sein, dass derjenige es absichtlich deaktiviert hat [...]
Korrekt.
Dürfte seit ungefähr 2 Jahren sein. Ist immer wieder schön zu sehen, wie Leute nach Jahren der Inaktivität hier wieder kommen, und sowas nie erfahren haben :D