压缩组件

时间:2011-09-16 08:32:11

标签: delphi delphi-2010 compression

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

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

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

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

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

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

6 个答案:

答案 0 :(得分:8)

Abbrevia可以很好地满足您的目的。

答案 1 :(得分:3)

JCL对于两个文件(即常见的归档格式)和jclCompression单元中的内存(TStream)都有一组很好的压缩类。对于某些格式,它需要DLL,它使用7zip。但它是开源和免费的(MPL / LGPL)。

答案 2 :(得分:2)

看看这个OpenSource SynZip unit。解压缩比Delphi附带的默认单元更快,它会生成一个更小的exe(crc表在启动时创建)。

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

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

我刚刚对Zip内容中的Unicode文件名进行了一些更改,不仅包括Win-Ansi字符集,还包括任何Unicode字符。

答案 3 :(得分:2)

我们使用ZipMaster

需要一个DLL,适用于2010年。

答案 4 :(得分:1)

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

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

答案 5 :(得分:0)

我使用过ZlibAbbrevia并且效果很好