关于解压缩的问题(20分)

M

mfj

Unregistered / Unconfirmed
GUEST, unregistred user!
解压缩:
procedure TForm1.unzipbaoClick(Sender: TObject);
begin
VCLUnZip1.ZipName :=Edit1.Text; //'E:/济阳审计/济阳建委.package' ;//文件名
VCLUnZip1.DestDir :=ExtractFileDir(Edit1.Text)+'/zip'; //'E:/济阳审计/济阳建委';//解压路径
VCLUnZip1.RecreateDirs := True;//是否创建子目录
VCLUnZip1.DoAll := True;
VCLUnZip1.OverwriteMode := always; //是否覆盖
try
VCLUnZip1.UnZip;
Except
MessageDlg('文件解压缩失败!',mtInformation,[mbOk],0);
Close;
Exit;
end;
showmessage('文件解压缩成功');
end;
现在的问题是我每次解压时我规定一个ZIP文件夹才行.
如何让它解压时生成一个和包相同的文件夹名称呢>?
 
可以用一个全局变量记录下包的位置
 
楼上的,可以举一个例子吗?
谢谢。
 
只能是取得包的名字,然后根据这个名字去创建新的文件夹(如果存在先删除)。
 
to babibean:
对呀。就是要这样。怎么实现呢?
 
取得包名:
str:='E:/济阳审计/济阳建委.package';
str:=copy(str,LastDelimiter('/',str)+1,maxint);
str:=Copy(str,1,Pos('.',str)-1);
 
procedure TForm1.unzipbaoClick(Sender: TObject);
var
str:string;
begin
str:=Edit1.Text;//'E:/济阳审计/济阳建委.package';
str:=copy(str,LastDelimiter('/',str)+1,maxint);
str:=Copy(str,1,Pos('.',str)-1);
VCLUnZip1.ZipName :=str;//'E:/济阳审计/济阳建委.package' ;//文件名
VCLUnZip1.DestDir :=ExtractFileDir(str); //'E:/济阳审计/济阳建委';//解压路径
VCLUnZip1.RecreateDirs := True;//是否创建子目录
VCLUnZip1.DoAll := True;
VCLUnZip1.OverwriteMode := always; //是否覆盖
try
VCLUnZip1.UnZip;
Except
MessageDlg('文件解压缩失败!',mtInformation,[mbOk],0);
Close;
Exit;
end;
showmessage('文件解压缩成功');
end;

文件打开失败。
 
没人理了。
 
to david_jkl:
你回答的非常正确。刚才是我自己疏忽。谢谢。
 

Similar threads

I
回复
0
查看
599
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
669
import
I
顶部