How do I compress multiple files into a single archive with Delphi

十年热恋 提交于 2019-11-30 03:54:14
schnaader

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

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...

Erick Sasse

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.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!