Question

I need to compress multiple files into a single archive using Delphi. I'd prefer to use freeware components or open-source components because I am very very cheap :-)

My primary requirements are:

  1. Possible to encrypt the archive
  2. Can create common archives that can be opened by anyone with a copy of WinZip

Does anyone have suggestions with components that they have used? Please feel free to suggest free as well as commercial components/libraries.

Was it helpful?

Solution

Perhaps DelphiZip is what you are looking for, it seems to support encryption, too, and is WinZip compatible. It is released under LGPL.

OTHER TIPS

KaZip is an open-source ZIP archiver. Here is its description:

KAZIP is fast, simple ZIP archiver and dearchiver which uses most popular ZIP format.Inflate - Deflate zip compression format (no encryption support and no multidisk support).KAZip is totaly based on Delphi VCL - no DLL, ActiveX or other external libraries.KAZip is totaly stream oriented so you can deal with data only in memory without creating temporary files, etc. If you need to add zip-unzip functionality to your application,KAZIP is the right solution. Additional ZipListView and ZipTreeView components for easy visualisation.Functionality:Zip-Unzip using Inflate-DeflateBZip2 unzipping trough usage of BZIP2 units from Edison Mera Menndez.Functions:Adding Files, Folders, Streams; Selecting, Deselecting, Checking;Extracting to files and streams;Delete and Rename filesCreate, Delete and Rename foldersTest, RepairMany new properties and methods, improved speed.A very complex Zip Browser demo application is included

It is not compatible with Delphi 2009 yet, but with some minor changes in the source code, you can make it work in Delphi 2009 too. Actually, that's what I did.

Regards

I`m using madZip from madCollection

I'm surprised no-one has mentioned JclCompression yet - it's part of the well-known Jedi Code Library (JCL). Here's a view of the unit itself : http://jcl.svn.sourceforge.net/viewvc/jcl/trunk/jcl/source/common/JclCompression.pas?view=markup

Note, it's compatible with 7-zip DLL version 4.64 - newer versions might not be backwards-compatible...

I recommend the $69 ZipForge from ComponentAce.

You could use 7zip (LZMA) bindings for Pascal (compatible with Delphi): http://www.birtles.org.uk/programming/

Another Delphi resource to look at would be InnoSetup. The source code is available and with a little work might give you an edge up on what your trying to do. There is an option to create self extracting zip archives which are compatible with WinZip,

My thoughts are not to use the program, but to use his source as a starting point since it is very heavily tested and extremely solid.

There are infozips zip32 and unzip32 dlls. They can be used from Delphi (even from Visual Basic), there are interface units/modules for both. The interface isn't as good as I would have liked it, but it works.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top