如何使用Delphi将多个文件压缩到单个压缩文件中

问题描述:

我需要使用Delphi将多个文件压缩为单个压缩文件。我更愿意使用免费软件组件或开源组件,因为我很:-)如何使用Delphi将多个文件压缩到单个压缩文件中

很便宜我的主要要求是:

  1. 可以将存档加密
  2. 可以建立共同档案是任何人都可以打开WinZip副本

有没有人有他们用过的组件的建议?请随意建议免费以及商业组件/库。

+0

你有没有看答案为[这个问题](http://*.com/questions/74519/using-7zip-from-delphi)? – 2008-12-30 16:01:24

+0

我已经考虑过这种方法,但答案主要集中在7-zip类型的解决方案上。我还在寻找任何人使用这些工具的经验。 – Mick 2008-12-30 16:06:34

+0

7-zip的优势在于,它可以真正地在任何ZIP上运行。其他组件倾向于大多数工作正常*最* ZIP。 – 2008-12-30 16:41:10

或许DelphiZip是你正在寻找的,它似乎也支持加密,并且与WinZip兼容。它在LGPL下发布。

还有infozips zip32和unzip32 dlls。他们可以从德尔福(甚至从Visual Basic)使用,有两个接口单元/模块。界面并不像我想要的那样好,但它起作用。

你可以使用7zip的(LZMA)绑定帕斯卡(用Delphi兼容):http://www.birtles.org.uk/programming/

我推荐ComponentAce的$ 69 ZipForge

德尔福的另一个资源是InnoSetup。源代码是可用的,只需做一点工作就可以让你在尝试做什么时更具优势。有一个选项可以创建与WinZip兼容的自解压zip压缩文件,

我的想法并不是使用该程序,而是使用他的源代码作为起点,因为它经过了严格的测试并且非常稳定。

我真的使用madZipmadCollection

我很惊讶没有人提到JclCompression尚未 - 这是著名的绝地代码库(JCL)的一部分。 这里的单元本身的看法:http://jcl.svn.sourceforge.net/viewvc/jcl/trunk/jcl/source/common/JclCompression.pas?view=markup

注意,它与7-ZIP DLL版本4.64兼容 - 新版本可能不向后兼容...

KaZip是一个开放源代码的ZIP归档。下面是它的描述:

KAZIP是快速,简单的ZIP归档和 dearchiver它采用最流行的ZIP format.Inflate - 减缩拉链 压缩格式(不加密 支持,没有多片 支持).KAZip是完全以基于 德尔福VCL - 无DLL,ActiveX或其他 外部库 .KAZip是完全以 面向流的,所以你可以只处理内存中的数据 ,而无需创建 临时文件等。如果您需要 将zip-unzip功能添加到您的 应用程序中,KAZIP是正确的 解决方案。便于 visualisation.Functionality附加ZipListView和 ZipTreeView组件:拉链解压 使用充气-DeflateBZip2解压从 爱迪生梅拉Menndez.Functions的BZIP2单元 槽用法:添加 文件,文件夹,数据流;选择, 取消选择,检查;提取到 文件和流;删除和重命名 filesCreate,删除和重命名 foldersTest,RepairMany新的属性 和方法,提高speed.A非常 复杂邮编浏览器演示应用程序 包括

它与Delphi 2009不兼容,但是在源代码上有一些细微的变化,你也可以在Delphi 2009中工作。其实,这就是我所做的。

问候