我用Vclzip控件的分盘压缩功能,如我给定文件名为'A',生成出来的是压缩文件就是从"A.001"一直到"A.00n",这里好象缺少了一个.zip的文件,请问这是为什么,而且用Winzip直接打开"A.001"文件,会报告压缩包有错误,请问为什么?    另外问大家,如何进行分盘压缩文件的解压缩

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      With VCLZip1 do
      begin
            ZipName := 'A:\BACKUP.ZIP';
            MultiZipInfo.MultiMode := mmSpan;
            MultiZipInfo.WriteDiskLabels := True;
            MultiZipInfo.SaveOnFirstDisk:=200000;
            FilesList.Add('C:\temp\*.mp3');
    Recurse := True;
            try
      Zip;
            finally
              showmessage('finish!');
            end;
      end;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      With VCLUnZip1 do
      begin
        ZipName := 'A:\backup.zip'; 
        CheckDiskLabels := True; 
        FilesList.clear;
        FilesList.Add( '*.*' );              
        DoAll := true;                  
        DestDir := 'c:\temp';        
        RecreateDirs := False;    
        RetainAttributes := True;   
        Unzip
      end;
    end;//VCLZip1的OnGetNextDisk事件
    procedure TForm1.VCLZip1GetNextDisk(Sender: TObject; NextDisk: Integer;
      var FName: String);
    var
      MsgArray: String;
    begin
      MsgArray := '请插入' + IntToStr(NextDisk)+'号软盘!';
      If MessageDlg(MsgArray,mtConfirmation,[mbOK,mbCancel],0) = mrCancel then
         FName := '';  
    end;
      

  2.   

    对不起,可能我说的有问题,我要的是按一定的容量分文件压缩,如100M一个文件,而不是要压缩到软盘上。我曾试过选进行压缩,再控制切分文件的办法,没有错误,但我把一个600多M的文件按100M切分,竞然30多分钟没有完成,太慢了,请问大家有没有别的好办法,我是直接用切割流的办法完成的。
      

  3.   

    dfsdfsdfsdf—————————————————————————————————
    ┏━★━━◆━━★━┓ 
    ♂欢|◢CSDN◣|使♂        ▲自由保存帖子,浏览,关注检测
    ┃迎|◥论坛助手◤|用┃        ▲完善的CSDN客户端工具
    ┗━☆━━◇━━━☆┛       ▲自动添加签名......让你更快,更爽,更方便地上CSDN...
    http://www.csdn.net/expert/topic/573/573604.xml
    http://www.chinaok.net/csdn/csdn.zip