Delphi 下 VCLZip控件的简单使用
2011-03-17 10:59
441 查看
uses VCLUnZip, VCLZip; function ComPressFile(dstFile,srcFile:string):Boolean; var vclzip:TVCLZip; begin Result:=False; vclzip:=TVCLZip.create(nil); try with vclzip do begin try ZipName:=dstFile; RecreateDirs:=true; //注意这里 StorePaths:=False; FilesList.Add(srcFile); Recurse := True; Zip; Result:=True; except Application.MessageBox('压缩文件失败','错误',MB_OK+MB_ICONINFORMATION); Result:=False; exit; end; end; finally vclzip.Free; end; end; function UnComPressFile(sFile,sOutFile:string):Boolean; var vcluzip:TVCLUnZip; begin Result:=False; vcluzip:=TVCLUnZip.Create(nil); try with vcluzip do begin try ZipName:=sFile; ReadZip; FilesList.Add('*.*'); DoAll := False; DestDir := sOutFile; RecreateDirs := False; RetainAttributes := True; Unzip; Result:=True; except Application.MessageBox('解压文件失败','错误',MB_OK+MB_ICONINFORMATION); Result:=False; exit; end; end; finally vcluzip.Free; end; end; procedure TForm1.Button1Click(Sender: TObject); var ls_dir, ls_SysTempDir: string; begin //if not OpenDialog1.Execute then exit; if not SelectDirectory('请指定文件夹', '', ls_dir) then exit; // VCLZip1.ZipName := ls_SysTempDir := GetEnvironmentVariable('Temp') + '/'; VCLZip1.ZipName := ls_SysTempDir + 'ABC.db'; VCLZip1.FilesList.Add(ls_dir + '/*.jpeg'); VCLZip1.FilesList.Add(ls_dir + '/*.jpg'); VCLZip1.FilesList.Add(ls_dir + '/*.bmp'); //VCLZip1.FilesList.Add(ls_dir + '/冒险岛/*.*'); //VCLZip1.FilesList.Add(ls_dir + '/三国/*.*'); VCLZip1.Recurse := False; //不包含下级目录中的文件 VCLZip1.StorePaths := False; //不记录路径 VCLZip1.PackLevel := 9; VCLZip1.Password := 'cvbom'; try VCLZip1.Zip; except ShowMessage('Error!'); exit end; MessageBox(0, '压缩成功', '成功', MB_OK + MB_ICONINFORMATION); end; procedure TForm1.Button2Click(Sender: TObject); var ls_dir, ls_SysTempDir: string; NumUnzipped: Integer; begin //ls_SysTempDir := GetEnvironmentVariable('Temp') + '/'; VCLUnZip1.ZipName := 'C:/Documents and Settings/yuantao/Local Settings/Temp/ABC.zip'; //VCLUnZip1.ReadZip; VCLUnZip1.FilesList.Add('*.*'); //VCLUnZip1.FilesList.Add(VCLUnZip1.Filename[VCLUnZip1.Count - 1]); VCLUnZip1.DoAll := True; VCLUnZip1.Password := 'cvbom'; VCLUnZip1.DestDir := 'D:/Setup'; VCLUnZip1.RecreateDirs := True; // don't recreate directory structures //VCLUnZip1.RetainAttributes := True; ShowMessage(IntToStr(VCLUnZip1.UnZip)); MessageBox(0, '解压缩成功', '成功', MB_OK + MB_ICONINFORMATION); end;
相关文章推荐
- .net 简单图表控件 (介绍测试示例使用部分) [b/s应用程序控件] I
- android刮奖控件,使用简单
- vclZip控件的使用
- StretchPanel可以根据需要收缩或者展开视图的控件,使用简单方便!
- 关于Delphi使用TPerlRegEx控件编译时出现Internal Error:l3576的一点发现
- delphi开发学习四:TClientDataSet与TDataSetProvider控件使用实例
- WM_ERASEBKGND官方解释(翻译),以及Delphi里所有的使用情况(就是绘制窗口控件背景色,并阻止进一步传递消息)
- delphi中XLSReadWrite控件的使用(2)---delphi XE下安装
- delphi 使用工控机控件 iThreadTimes 出现问题, 导致主程序创建页面的时候, 阻塞消息, 不能正常执行。
- 关于使用TreeView 控件的简单介绍
- Delphi 中TMsComm控件使用指南
- My97DatePicker日历控件简单使用
- 简单的做了一个评分控件,其实还算不上控件,只是用javascript做了一个效果,可以直接放在你的程序中使用。
- 网格控件群组的简单使用和颜色设置
- delphi中XLSReadWrite控件的使用(3)---基本应用
- 简单使用Delphi中的TO-DO List
- Flex3 快速入门:构建简单的用户界面 使用控件
- Day3.4--Android简单UI控件之ImageView以及ScaleType的使用
- 简单使用Delphi中的TO-DO List
- zw版【转发·台湾nvp系列Delphi例程】Delphi 使用 HALCON库件COM控件数据格式转换