Reputation: 13475
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:
Does anyone have suggestions with components that they have used? Please feel free to suggest free as well as commercial components/libraries.
Upvotes: 11
Views: 8608
Reputation: 7489
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
Upvotes: 4
Reputation: 4164
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...
Upvotes: 3
Reputation: 15538
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.
Upvotes: 2
Reputation: 31
You could use 7zip (LZMA) bindings for Pascal (compatible with Delphi): http://www.birtles.org.uk/programming/
Upvotes: 2