请问在设置vclzip变量的时候在哪里设置啊?
unit Unit1;interfaceuses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,vclzip;type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;var
  Form1: TForm1;
  vclzip1:tvclzip;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
  begin
With VCLZip1 do
begin
ZipName := 'C:\news.zip';
FilesList.Add('C:\index.html');
FilesList.Add('C:\image');
Recurse := True;
StorePaths := True;
PackLevel := 9;
try
Zip
except
showmessage('error');
end;
end;
end;end.
我这样写哪里有问题,现在运行起来总出错,请朋友们指点一下,刚接触,确实很陌生,我就是想把在同一目录下的一个文件和一个文件夹同时打包到一个zip压缩包里,并且压缩包内也要显示一个文件和一个文件夹,而不是没有目录的所有文件,用rar的命令行打不了zip包,winrar可以打zip包但是却不能显示子目录,而且这个类似功能小软件要分发到我们机关的所有人,有的机器还不确定有没有装winrar,所以只能求助第三方控件,请朋友们帮帮忙,确实很着急,谢谢。

解决方案 »

  1.   

    错误为cpu运行错误,我想问设置vclzip变量的时候在哪里设置,网上的例子都是直接用到了vclzip1,而没有说明在哪里设置的vclzip变量。
      

  2.   

    这是我程序里写的一段   加个属性就可以。with VCLZip1 do
        begin
           ZipName:=SysCfg.strFilePath +'\'+ DownFileName ;
           RecreateDirs:=true;   //注意这里 
           StorePaths:=False;   
           FilesList.Add(SysCfg.strFilePath+'\CD\*.MP3');
           Recurse := True;
          try
            Zip;
          except
            Application.MessageBox('压缩文件失败','错误',MB_OK+MB_ICONINFORMATION);
            ggProgress.Progress :=0;
            exit;
          end;
        end;
      

  3.   

    程序已经正常运行了,非常感谢chinawcs的帮助,有几个地方有点疑问,首先是你程序中的vclzip1变量是在哪设置的,和我设置的一样吗?再有就是{RecreateDirs:=true; }这句到底有什么作用呢,确实程序不再弹出错误了,不知道这句起到了什么作用,{Recurse   :=   True;}由于个人英文水平不行,也搞不清楚这句是什么意思,设置了zip什么属性,甚至连这个单词什么意思都不知道。最后就是{ggProgress.Progress   :=0;}这句无法执行,也不太懂是什么意思,屏蔽掉就可以正常执行了。
    虽然程序正常运行,但我想实现的功能还有一点障碍,就是压缩包内无法装载子目录,所有的文件都是在同一级目录下,也就是在刚打开zip包的第一级目录。我做的程序是自动生成网页及拷贝网页元素,需要一同打包一个index.html和一个文件夹images/*.*,现在无法把images子目录一同打进去,只能把images目录下所有文件和index.html打在一起,不知道朋友有没有什么好的办法,还有vclzip的overwritemode属性不会设置,这样写vclzip1.overwritemode:=TUZOverwriteMode(1)总提示我类型不匹配,不知道怎么设置vclzip的读写覆盖属性。
    非常感谢chinawcs的帮助,分一定会给你,过一天我就结帖。
      

  4.   

    1、vclzip1 不是变量  这是个vclzip 压缩用的 三方控件 难道楼主没有安装吗?
    2、属性RecreateDirs 是否 重新创建目录
    3、关于 ggProgress.Progress   :=0;  这是我的程序中压缩进度条显示 去掉就可以了请根据需要 更改 RecreateDirs 值  多测试几次 就知道区别了 
    另外 建议楼主 安装个 金山词霸 呵呵 祝楼主成功
      

  5.   

    组件当然已经装上了,我在程序中设置了vclzip1:=tvclzip.create(nil);cup运行错误就不再出现了,现在就是有点不清楚如何能把文件夹也打进zip包里,现在我的包里都是文件,所有文件都在同一目录下。先给分吧,呵呵。
      

  6.   

    各位大哥:
    你们好.
    我现在要将一个文件夹下的所有文件打包成一个.zip 文件.
    可我不会用vclzip.各位强人谁有原码发给点约参考一下好吗?
    我会非常感谢您.我的QQ  149076749