7z sdk 压缩和解压ZIP文件

iBuilder 2018-01-29 11:58:34
有人用unit sevenzip; 来解压缩文件吗?

procedure TFormMain.btnCompressClick(Sender: TObject);
var
Arch: I7zOutArchive;
Counter: Integer;
begin
if OpenDialog.Files.Count = 0 then
begin
ShowMessage('请添加文件');
Exit;
end;
memoOutput.Lines.Append('开始压缩');
Arch := CreateOutArchive(CLSID_CFormat7z);//这里用7Z格式,没有问题,但是换成CLSID_CFormatZIP格式。只
能操作一个文件,如果同时添加多个文件,在调用 Arch.SaveToFile('.\test.zip')时候就人卡死。
Arch.SetProgressCallback(nil, ProgressCallback);
Arch.SetPassword('123456');
for Counter := 0 to OpenDialog.Files.Count - 1 do
Arch.AddFile(OpenDialog.Files[Counter],
ExtractFileName(OpenDialog.Files[Counter]));
SetCompressionLevel(Arch, 5);
SetCompressionMethod(Arch, m7Deflate64);
Arch.SaveToFile('.\test.ZIP');
memoOutput.Lines.Append('完成压缩');
Arch := nil;
end;
...全文
1751 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
iBuilder 2018-01-30
  • 打赏
  • 举报
回复
在线等。。。。。。。。。
doloopcn 2018-01-30
  • 打赏
  • 举报
回复
没有用过,建议ZIP格式的加密算法是否可以换一个,SDK中对于ZIP的加密是不是有特殊说明? SetCompressionMethod(Arch, m7Deflate64);------ZIP中是否支持64的加密算法?
lyhoo163 2018-01-30
  • 打赏
  • 举报
回复
报谦,字打错了。 D7中,Zipb单元,可以简单操作ZIP。 第三方控件VclZip,功能比较强大。
lyhoo163 2018-01-30
  • 打赏
  • 举报
回复
D7中,Zipb单位,可以简单操作ZIP。 第三方管件VclZip,功能编辑部强大。
  • 打赏
  • 举报
回复
Delphi XE2+中自带TZipFile类,而且是原生实现,不依赖外部DLL。

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧