我刚解决这个问题,本来也想象以前的那个帖子上的人那样解决了就不把方法告诉大家的,
不过想想,既然来到这里,都是编程人,没什么好保密的,所以写出来让以后碰到同样问题
的人都能所帮助!呵呵,罗嗦了一大堆,进入正题吧!
Button1和Button2分别是压缩和解压按钮,在加入VCLZip1和VCLUnZip1控件。
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);
var
i:integer;
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;
你可以自己改进,如加入进度条显示,好了,要吃饭去了,饿死了!