圖片來源 |
連結:将Delphi Xe2的Zip单元移植了一份到Delphi Xe上
再利用万一博客的這篇文章,就可以再加上進度條了!
给 System.Zip 增加了个(多文件解压时的)解压进度事件
2015/12/22 補充:
Delphi XE 使用 XE2 移轉過來的 System.Zip,在使用上雖然能壓縮,但卻無法被 Zip 解壓縮程式直接打開 (正確來說是壓縮檔毀損)。
哼哼……原來還有藏一手啊……
在比對 XE2 的原始碼後,經過調整,總算是能夠正確使用,真是謝謝前人的努力!
重點在 windowBits 修改處如下:
1 2 3 4 5 6 7 8 9 | 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:
沒有留言:
張貼留言