博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Delphi VclZip用法详 .
阅读量:5228 次
发布时间:2019-06-14

本文共 1126 字,大约阅读时间需要 3 分钟。

  1. function Zip(ZipMode,PackSize:Integer;ZipFile,UnzipDir:String):Boolean; //压缩或解压缩文件   
  2. var ziper:TVCLZip;  
  3. begin  
  4. //函数用法:Zip(压缩模式,压缩包大小,压缩文件,解压目录)   
  5. //ZipMode为0:压缩;为1:解压缩 PackSize为0则不分包;否则为分包的大小   
  6. try  
  7. if copy(UnzipDir, length(UnzipDir), 1) = '\' then  
  8. UnzipDir := copy(UnzipDir, 1, length(UnzipDir) - 1); //去除目录后的“\”   
  9. ziper:=TVCLZip.Create(application); //创建zipper   
  10. ziper.DoAll:=true; //加此设置将对分包文件解压缩有效   
  11. ziper.OverwriteMode:=Always; //总是覆盖模式   
  12. if PackSize<>0 then begin //如果为0则压缩成一个文件,否则压成多文件   
  13. ziper.MultiZipInfo.MultiMode:=mmBlocks; //设置分包模式   
  14. ziper.MultiZipInfo.SaveZipInfoOnFirstDisk:=True; //打包信息保存在第一文件中   
  15. ziper.MultiZipInfo.FirstBlockSize:=PackSize; //分包首文件大小   
  16. ziper.MultiZipInfo.BlockSize:=PackSize; //其他分包文件大小   
  17. end;  
  18. ziper.FilesList.Clear;  
  19. ziper.ZipName := ZipFile; //获取压缩文件名   
  20. if ZipMode=0 then begin //压缩文件处理   
  21. ziper.FilesList.Add(UnzipDir+'\*.*'); //添加解压缩文件列表   
  22. Application.ProcessMessages; //响应WINDOWS事件   
  23. ziper.Zip; //压缩   
  24. end else begin  
  25. ziper.DestDir:= UnzipDir; //解压缩的目标目录   
  26. ziper.UnZip; //解压缩   
  27. end;  
  28. ziper.Free; //释放压缩工具资源   
  29. Result:=True; //执行成功   
  30. except  
  31. Result:=False;//执行失败   
  32. end;  
  33. end;  

转载于:https://www.cnblogs.com/wxb-km/archive/2012/11/28/2793413.html

你可能感兴趣的文章
OpenCv-Python 图像处理基本操作
查看>>
「Unity」委托 将方法作为参数传递
查看>>
重置GNOME-TERMINAL
查看>>
redis哨兵集群、docker入门
查看>>
正则表达式2
查看>>
Unity3D_(插件)小地图自刷新制作Minimap小地图
查看>>
为什么分布式一定要有Redis?
查看>>
hihoCoder 1233 : Boxes(盒子)
查看>>
团队的绩效评估计划
查看>>
oracle中anyData数据类型的使用实例
查看>>
C++对vector里面的元素排序及取任意重叠区间
查看>>
软件测试——性能测试总结
查看>>
12.4站立会议
查看>>
SSM整合(精简版)
查看>>
各种xml文件约束,Eclipse用
查看>>
泰勒展开,傅里叶变换,拉普拉斯变换和Z变换的物理意义
查看>>
Java Concurrentmodificationexception异常原因和解决方法
查看>>
Python 面向对象(其四)
查看>>
客户端访问浏览器的流程
查看>>
Linux——ls
查看>>