2011-09-16 102 views
5

我要尋找一個支持Delphi2010壓縮組件,讓我做的基本操作:壓縮組件

  • 創建的.zip檔案從.zip文件
  • 刪除.zip文件
  • 提取物

我還需要該組件免費用於商業用途,並且可能不使用/依賴於DLL(我不介意它是否適用)。

到目前爲止,我看着ZipForgeFlexCompressKaZipUnRAR,但我發現我需要購買一個許可證用於商業用途ZipForge和FlexCompress。當談到KaZip時,代碼中存在錯誤,所以我在安裝組件方面沒有成功。而UnRAR就是這樣;它只解壓縮.zip或.rar檔案。

因此,在總結,我需要一個壓縮組件:

  • 是免費用於商業用途
  • 支持德爾福2010
  • 執行上述操作
  • 不使用的DLL(不過,我不介意)
+1

檢查出這個問題。] [1] [1]:http://stackoverflow.com/questions/1770386/freeware-zip-component-for-delphi-2010-delphi-xe –

回答

8

Abbrevia將很好地爲您的目的服務。

+0

是否有任何地方我可以得到幫助與Abbrevia?或查看代碼示例? – ple103

+3

Abbrevia曾是商業產品,PDF文檔非常好。它包括幾個教程,以幫助您入門,並且源代碼下載包含一個「Examples」文件夾,其中包含一些Delphi和C++ Builder中的示例。我沒有明確更新Unicode支持的示例,但其中大多數將按原樣編譯。如果您有任何疑問,最好在SourceForge的Abbrevia論壇上發佈,但這裏或Embarcadero的第三方新聞組也可以發揮作用。用於JclCompression的 –

0

我用ZlibAbbrevia並在jclCompression單元存儲的東西(T流)都表現得十分出色

3

JCL有一個很好的集這兩個文件的壓縮類(即常見的壓縮格式)的和。對於某些格式它需要DLL,它使用7zip之一。但它是開源和免費的(MPL/LGPL)。

+0

+1。真的很簡單,但缺乏文檔!至少,例子會有所幫助。 – TridenT

2

看看這個開放源代碼SynZip unit。解壓縮速度比Delphi提供的默認單位更快,並且它會生成一個較小的exe(crc表在啓動時創建)。

爲了刪除一個zip內容,你可以混合使用TZipWriter和TZipReader來只複製zip文件中所需的存檔文件。

無需外部DLL。非常小的代碼開銷。從Delphi 6到XE(很快就用於XE2)。

我只是做了一些改變,以處理Zip內容中的Unicode文件名,不僅Win-Ansi字符集,而且任何Unicode字符。