Translate

ebook【Delphi跨平台資料庫程式設計火速上手】電子書出版 (CHT)

Delphi 跨平台資料庫程式設計火速上手,是本關於整合 Delphi 的跨平台技術打造 2-Tier 架構的跨平台 APP 的入門技術書。 全書沒有需要理解的技術知識,只講套路。 力求短時間把製作 APP 的工法熟悉,未來要開發其它的應用程式也能舉一反三。 底下...

2012/03/21

Delphi XE 的 ZIP 實現方法

圖片來源


連結:将Delphi Xe2的Zip单元移植了一份到Delphi Xe上

再利用万一博客的這篇文章,就可以再加上進度條了!

给 System.Zip 增加了个(多文件解压时的)解压进度事件

2015/12/22 補充:
Delphi XE 使用 XE2 移轉過來的 System.Zip,在使用上雖然能壓縮,但卻無法被 Zip 解壓縮程式直接打開 (正確來說是壓縮檔毀損)。

哼哼……原來還有藏一手啊……

在比對 XE2 的原始碼後,經過調整,總算是能夠正確使用,真是謝謝前人的努力!



重點在 windowBits 修改處如下:
  RegisterCompressionHandler(zcDeflate,
    function(InStream: TStream; const ZipFile: TZipFile; const Item: TZipHeader): TStream
    begin
      Result := TZCompressionStream.Create(InStream, TZCompressionLevel.zcDefault, -15, 8, TZStrategy.zsDefault);
    end,
    function(InStream: TStream; const ZipFile: TZipFile; const Item: TZipHeader): TStream
    begin
      Result := TZDecompressionStream.Create(InStream, -15);
    end);

See also:

沒有留言:

張貼留言