【问题标题】:How do I compress multiple files into a single archive with Delphi如何使用 Delphi 将多个文件压缩到一个存档中
【发布时间】:2010-09-28 21:00:06
【问题描述】:

我需要使用 Delphi 将多个文件压缩到一个存档中。我更喜欢使用免费软件组件或开源组件,因为我非常便宜:-)

我的主要要求是:

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

有人对他们使用过的组件有什么建议吗?请随时提出免费以及商业组件/库的建议。

【问题讨论】:

  • 你看过this question的答案了吗?
  • 我考虑过这种方法,但答案主要集中在 7-zip 类型的解决方案上。我也在寻找一些有使用这些工具的经验的 cmet。
  • 7-zip 的优势在于它非常非常适用于您曾经扔过的任何 ZIP。对于大多数 ZIP,其他组件往往工作正常。
  • 另一个优势是 7-zip 在压缩文件方面做得更好 - 7z 文件比 zip 文件至少小 30%
  • 什么是Delphi版本?

标签: delphi compression


【解决方案1】:

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

【讨论】:

  • DelphiZip 需要单独的 DLL
【解决方案2】:

KaZip 是一个开源 ZIP 存档器。这是它的描述:

KAZIP 是快速、简单的 ZIP 归档器,并且 使用最流行的 ZIP 的 dearchiver format.Inflate - 压缩 zip 压缩格式(无加密 支持且无多盘 支持).KAZip 完全基于 Delphi VCL - 没有 DLL、ActiveX 或其他 外部库.KAZip 完全 面向流,所以你可以处理 数据只在内存中而不创建 临时文件等。如果你需要 将 zip-unzip 功能添加到您的 应用,KAZIP 是对的 解决方案。附加的 ZipListView 和 ZipTreeView 组件,方便 可视化。功能:Zip-Unzip 使用 Inflate-DeflateBZip2 解压 BZIP2 单位的低谷使用 Edison Mera Menndez.Functions:Adding 文件、文件夹、流;选择, 取消选择,检查;提取到 文件和流;删除和重命名 文件创建、删除和重命名 文件夹Test、Repair许多新属性 和方法,提高了速度。一个非常 复杂的 Zip 浏览器演示应用程序 包括在内

它与 Delphi 2009 尚不兼容,但对源代码进行了一些小改动,您也可以使其在 Delphi 2009 中运行。事实上,我就是这么做的。

问候

【讨论】:

    【解决方案3】:

    我正在使用来自madCollection 的madZip

    【讨论】:

    • 我什至不知道这个。不错!
    【解决方案4】:

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

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

    【讨论】:

      【解决方案5】:

      我推荐 ComponentAce 的 69 美元 ZipForge。

      【讨论】:

        【解决方案6】:

        您可以为 Pascal 使用 7zip (LZMA) 绑定(与 Delphi 兼容):http://www.birtles.org.uk/programming/

        【讨论】:

          【解决方案7】:

          要查看的另一个 Delphi 资源是 InnoSetup。源代码是可用的,稍加工作可能会让您在尝试做的事情上占得先机。有一个选项可以创建与 WinZip 兼容的自解压 zip 档案,

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

          【讨论】:

            【解决方案8】:

            有infozips zip32 和 unzip32 dll。它们可以在 Delphi(甚至 Visual Basic)中使用,两者都有接口单元/模块。界面没有我希望的那么好,但它可以工作。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-06-25
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2016-12-17
              • 1970-01-01
              • 2019-08-18
              • 2011-08-03
              相关资源
              最近更新 更多