Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ZIP-Archiv mit Fortschrittsanzeige packen (https://www.delphipraxis.net/132689-zip-archiv-mit-fortschrittsanzeige-packen.html)

I love Delphi 17. Apr 2009 14:41


ZIP-Archiv mit Fortschrittsanzeige packen
 
Hallo,
ich möchte in meinem Programm eine ZIP-Datei packen. Da diese jedoch schnell mal 2 GB groß werden kann, wäre eine Fortschrittsanzeige sicherlich sehr nützlich.
Weiß jemand wie man so etwas realisieren kann?
Als Komponente habe ich mir TZip (TZip) rausgesucht, habe es aber noch nie benutzt. Die Komponente zeigt zwar einen Fortschritt an, jedoch weiß ich bzw. mein Programm nicht, wann alles gepackt ist!

Bin für jede Antwort dankbar,
I love Delphi!


///////////////////////////////////

Ok, Problem gelöst. Vll. sollte ich es doch länger als 3 Minuten probieren...

Luckie 17. Apr 2009 15:03

Re: ZIP-Archiv mit Fortschrittsanzeige packen
 
Wäre schön, wenn du noch deine Lösung hier einstellen würdest.

I love Delphi 17. Apr 2009 15:18

Re: ZIP-Archiv mit Fortschrittsanzeige packen
 
Gerne,
kein Problem!

Mit der genannten nicht-visuellen Komponente TZip lässt sich das sehr einfach realisieren.
Folgenden Code braucht man nun zum erstellen des Archives:

Delphi-Quellcode:
Zip.Filename:='Test.zip';
Zip.FileSpecList:=TStrings; //Zum Beispiel OpenDialog.Files
Zip.Add(); //Gibt die Anzahl der gepackten Dateien zurück
Die Komponente selbst hat eine Eigenschaft, mit der sich eine Fortschrittsanzeige einblenden lässt. Anders geht es auch nicht, es gibt zwar eine ProgressEvent, dieses bezieht sich jedoch auf jede einzelne Datei. Wenn der "Packvorgang" beendet ist wird das "...EndBatchEvent" ausgelöst.

Grüße,
I love Delphi!


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:50 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