【问题标题】:Compression component压缩组件
【发布时间】:2011-11-18 12:20:48
【问题描述】:

我正在寻找一个支持Delphi2010的压缩组件,并允许我做以下基本操作:

  • 创建 .zip 档案
  • 从 .zip 档案中提取
  • 删除 .zip 档案

我还需要该组件可以免费用于商业用途,并且可能不使用/不依赖 DLL(我不介意)。

到目前为止,我已经查看了 ZipForgeFlexCompressKaZipUnRAR,但我发现我需要购买许可证才能将 ZipForge 和 FlexCompress 用于商业用途。当谈到 KaZip 时,代码中存在错误,因此我在安装组件方面没有成功。而 UnRAR 就是这样;它只解压 .zip 或 .rar 档案。

总之,我需要一个压缩组件:

  • 可免费用于商业用途
  • 支持Delphi 2010
  • 执行上述操作
  • 不使用 DLL(不过,我不介意)

【问题讨论】:

标签: delphi delphi-2010 compression


【解决方案1】:

我们使用ZipMaster

需要一个 DLL,适用于 2010。

【讨论】:

    【解决方案2】:

    看看这个开源SynZip unit。它的解压速度甚至比 Delphi 自带的默认单元更快,而且会生成更小的 exe(crc 表在启动时创建)。

    为了删除 zip 内容,您可以混合使用 TZipWriter 和 TZipReader 以仅复制 zip 中需要的存档文件。

    不需要外部 dll。非常小的代码开销。适用于从 Delphi 6 到 XE(XE2 不久)。

    我刚刚做了一些更改来处理 Zip 内容中的 Unicode 文件名,不仅是 Win-Ansi 字符集,还有任何 Unicode 字符。

    【讨论】:

      【解决方案3】:

      还有这个组件围绕 7zip dll 构建(alpha 阶段,但支持 D7 到 D2010):

      http://www.rg-software.de/rg/index.php?option=com_content&view=article&id=29&Itemid=51

      【讨论】:

        【解决方案4】:

        JCL 在 jclCompression 单元中为文件(即常见的存档格式)和内存中的东西 (TStreams) 提供了一组很好的压缩类。对于某些需要 DLL 的格式,它使用 7zip 之一。但它是开源和免费的 (MPL / LGPL)。

        【讨论】:

        • +1 表示 JclCompression。使用起来真的很简单,但是......缺乏文档!至少,示例会有所帮助。
        【解决方案5】:

        我用过ZlibAbbrevia,效果很好

        【讨论】:

          【解决方案6】:

          Abbrevia 将很好地满足您的目的。

          【讨论】:

          • 有什么地方可以帮助我了解 Abbrevia 吗?或者查看代码示例?
          • Abbrevia 曾经是一个商业产品,PDF 文档非常好。它包含几个教程以帮助您入门,源代码下载包含一个“示例”文件夹,其中包含 Delphi 和 C++Builder 中的一堆示例。我没有明确更新 Unicode 支持的示例,但其中大多数将按原样编译。如果您有任何问题,最好在 SourceForge 的 Abbrevia 论坛上发帖,但这里或 Embarcadero 的 .thirdparty 新闻组也可以。
          猜你喜欢
          • 1970-01-01
          • 2019-02-24
          • 1970-01-01
          • 2013-03-09
          • 2021-11-16
          • 1970-01-01
          • 1970-01-01
          • 2015-02-06
          • 2016-12-26
          相关资源
          最近更新 更多