Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Abbrevia , TZipfile oder Zipmaster (https://www.delphipraxis.net/202539-abbrevia-tzipfile-oder-zipmaster.html)

hoika 15. Nov 2019 10:06

Abbrevia , TZipfile oder Zipmaster
 
Hallo,
ich wärme mal einen alten Thread auf.

https://www.delphipraxis.net/191146-...zipfile-2.html

Gibt es Neuerungen?

Im Moment nutze ich den Zipmaster.
Der kann aber bis heute keine Streams verarbeiten, sondern arbeitet komplett dateibasiert.
Das würde ich gern ändern.
Mir wurde vor einer ganzen Weile (>3 Jahre) mal Abbrevia empfohlen.

Vorschläge?

sakura 15. Nov 2019 10:13

AW: Abbrevia , TZipfile oder Zipmaster
 
Wenn es um ZIP geht, dann schaue Dir unbedingt SynZIP an. Sehr schnell und in aktiver Entwicklung: https://github.com/synopse/SynPDF/bl...ter/SynZip.pas

...:cat:...

Codehunter 15. Nov 2019 10:32

AW: Abbrevia , TZipfile oder Zipmaster
 
Zitat:

Zitat von hoika (Beitrag 1451347)
Im Moment nutze ich den Zipmaster.
Der kann aber bis heute keine Streams verarbeiten, sondern arbeitet komplett dateibasiert.

Ich arbeite mit ZipForge, das kann mit Streams problemlos umgehen. So habe ich einen Fall wo ich eine passwortgeschützte ZIP als Binärresource direkt in die EXE kompiliere und "on the fly" im RAM entpacke, also gänzlich ohne temporäre Dateien. Funktioniert problemlos. Nun kann man sich nur noch streiten, ob 2 Sekunden für das Auslesen der Resource, das Entschlüsseln und Entpacken im RAM und das Auswerten der entpackten Daten (dekomprimiert ca. 4,5 MB ASCII-Daten) nun viel oder wenig sind. Wobei ca. 0,3 Sekunden auf das Auswerten der entpackten Daten entfallen und ca. 0,1 Sekunden auf das Lesen der Resource. Der Rest von 1,6 Sekunden entfällt auf ZipForge, wobei die Daten auch in der maximalen Kompressionsstufe und 256-Bit-AES-verschlüsselt vorliegen. Ausgeführt auf einem i7-7700K.

freimatz 15. Nov 2019 10:40

AW: Abbrevia , TZipfile oder Zipmaster
 
ZipForge verwende ich auch. Abbrevia kann ich nicht empfehlen, hatte da mal mit bestimmten existierenden zip Probleme.

Bbommel 15. Nov 2019 11:03

AW: Abbrevia , TZipfile oder Zipmaster
 
Dann mache ich bei der kleinen Umfrage mal kurz mit. :-) Ich nutze TZipFile und wir sind damit zufrieden. Wir nutzen es im Wesentlichen, um bei Problemen Daten beim Kunden zu "verpacken" und unserer Hotline zusenden zu können.

Zum Stream: TZipFile kann Streams zum ZIP-Archiv hinzufügen. Auspacken kann es allerdings (wenn ich nichts übersehen habe; habe ich noch nie gebraucht) nicht in einen Stream, sondern nur in Dateien auf der Platte.

Uwe Raabe 15. Nov 2019 11:27

AW: Abbrevia , TZipfile oder Zipmaster
 
Zitat:

Zitat von Bbommel (Beitrag 1451354)
Zum Stream: TZipFile kann Streams zum ZIP-Archiv hinzufügen. Auspacken kann es allerdings (wenn ich nichts übersehen habe; habe ich noch nie gebraucht) nicht in einen Stream, sondern nur in Dateien auf der Platte.

Das gilt nur für Extract. Die Methode Read (wird übrigens auch von Extract benutzt) gibt entweder TBytes oder einen TStream zurück.

Bbommel 15. Nov 2019 11:30

AW: Abbrevia , TZipfile oder Zipmaster
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1451359)
Das gilt nur für Extract. Die Methode Read (wird übrigens auch von Extract benutzt) gibt entweder TBytes oder einen TStream zurück.

Ah, wieder was gelernt - ich wusste doch, ich habe was übersehen. :-) Danke für die Korrektur!

jziersch 15. Nov 2019 11:49

AW: Abbrevia , TZipfile oder Zipmaster
 
Ich verwende TZipFile für den DocX import und export in WPTools,
es hat keine Problem ein ZIP in einem memory stream zu lesen oder zu erzeugen:

function TWPIoZIPInterfaceDelphi.OpenRead( Stream : TStream ) : Boolean;
begin
FreeAndNil(FZipFile);
FZipFile := TZipFile.Create;
FZipFile.Open(Stream, zmRead);
FZIPStreamSize := Stream.Size;
Result := true;
end;

function TWPIoZIPInterfaceDelphi.OpenWrite( Stream : TStream ) : Boolean;
begin
FreeAndNil(FZipFile);
FZipFile := TZipFile.Create;
FZipFile.Open(Stream, zmWrite);
Result := true;
end;

Für ältere Delphi Versionen bindet mein Wrapper dann Abbrevia ein.

scrat1979 15. Nov 2019 13:36

AW: Abbrevia , TZipfile oder Zipmaster
 
Ich verwende ebenfalls ZipForge und fahre damit spitze. Außerdem arbeite ich mit der kompletten CompressionSuite von ComponentAce und bin von Preis/Leistung begeistert. Und nein, ich stehe in keiner Beziehung zu dem Softwareunternehmen:)

hoika 15. Nov 2019 14:32

AW: Abbrevia , TZipfile oder Zipmaster
 
Hallo,
danke für die Antworten.

Zitat:

Abbrevia kann ich nicht empfehlen, hatte da mal mit bestimmten existierenden zip Probleme.
Genau das ist mein Problem.
Mit TZipmaster gezippt und Abbrevia kann es nicht auspacken, argz ;(

Ich bleib beim Zipmaster ;)

DieDolly 15. Nov 2019 14:46

AW: Abbrevia , TZipfile oder Zipmaster
 
Ich werfe mal die 7z.dll in den Raum. Funktioniert perfekt bis heute. Man muss nur vieles selber machen. Das empfinde ich sogar als Vorteil.

hoika 15. Nov 2019 15:09

AW: Abbrevia , TZipfile oder Zipmaster
 
Hallo,
7zip ist free, auch im Business-Bereich??

Argz, geht nicht, weil ja einen MemoryStream habe.

DieDolly 16. Nov 2019 10:46

AW: Abbrevia , TZipfile oder Zipmaster
 
Direkt aus der Lizenzdatei
Zitat:

Note:
You can use 7-Zip on any computer, including a computer in a commercial
organization. You don't need to register or pay for 7-Zip.


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