如何使用Delphi将多个文件压缩成一个归档文件

11

我需要使用Delphi将多个文件压缩成一个档案。我希望使用免费组件或开源组件,因为我非常非常吝啬 :-)

我的主要需求是:

  1. 可以加密档案
  2. 可以创建通用的档案,任何拥有WinZip副本的人都可以打开它们

有没有人有使用过的组件建议? 请随意提出免费和商业组件/库的建议。


你有看过对于这个问题的回答吗? - Craig Stuntz
我考虑过那种方法,但答案主要集中在7-zip类型的解决方案上。我还想听听任何人使用这些工具的经验和意见。 - Mick
7-zip的优点在于它可以很好地处理你投入其中的任何ZIP文件。其他组件往往只能对大多数ZIP文件进行基本处理。 - Craig Stuntz
另一个优点是7-zip在压缩文件方面做得更好 - 7z文件至少比zip文件小30%。 - Charles Faiga
Delphi 的版本是什么? - NaN
加1分,因为它非常非常便宜! - Reversed Engineer
8个回答

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

1
DelphiZip需要单独的DLL文件。 - Ian Boyd

4

KaZip 是一款开源的ZIP压缩软件。以下是它的描述:

KAZIP是一个快速、简单的ZIP压缩和解压缩工具,使用最流行的ZIP格式。它采用Inflate-Deflate zip压缩格式(不支持加密和多磁盘支持)。KAZip完全基于Delphi VCL - 没有DLL、ActiveX或其他外部库。KAZip完全面向流,因此您可以仅在内存中处理数据,而无需创建临时文件等。如果您需要将zip-unzip功能添加到应用程序中,KAZIP是正确的解决方案。附加的ZipListView和ZipTreeView组件可实现易于可视化的功能。功能:使用Inflate-Deflate进行Zip-Unzip;通过使用Edison Mera Menndez的BZIP2单元进行BZip2解压缩。函数:添加文件、文件夹、流;选择、取消选择、检查;提取到文件和流;删除和重命名文件;创建、删除和重命名文件夹;测试、修复。许多新属性和方法,提高了速度。包含一个非常复杂的Zip浏览器演示应用程序。

目前它还不兼容Delphi 2009,但是通过对源代码进行一些小的更改,你可以使其在Delphi 2009上运行。实际上,这就是我所做的。

祝好


3

3
我推荐使用ComponentAce的ZipForge,售价为$69。 点击此处查看详情。

3

我甚至没有意识到这个。不错! - Mick

2

2
另一个值得一看的 Delphi 资源是 InnoSetup。源代码可用,稍加处理可能会让你在尝试做的事情上更占优势。它有一个选项可以创建自解压缩的 zip 归档文件,并且与 WinZip 兼容。
我的想法不是使用这个程序,而是使用他的源码作为起点,因为它经过了非常严格的测试并且非常稳定。

1

infozips zip32和unzip32的dll文件。它们可以从Delphi(甚至从Visual Basic)中使用,两者都有接口单元/模块。接口不如我希望的那样好,但它能正常工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接