一款vcl控制項,可以用來壓縮或解壓縮zip格式檔案,支援zip64格式。
示例**:
001002
003004
005006
007008
009010
011012
013014
015016
017018
019020
021022
023024
025026
027028
029030
031032
033034
035036
037038
039040
041042
043044
045046
047048
049050
051052
053054
055056
057058
059060
061062
063064
065066
067068
069070
071072
073074
075076
077078
079080
081082
083084
085086
087088
089090
091092
093094
095096
097098
099100
101102
103104
105106
107108
109110
111
unit unit1;
inte***ce
uses
windows, messages, sysutils, variants, classes, graphics, controls, forms,
dialogs, stdctrls, vclzip, vclunzip;
type
tform1 = class(tform)
btn_zip: tbutton;
lst1: tlistbox;
btn_unzip: tbutton;
edt1: tedit;
procedure btn_zipclick(sender: tobject);
procedure btn_unzipclick(sender: tobject);
private
public
end;
varform1: tform1;
implementation
function dozip(sdir,sfile: string;sllist: tstrings):boolean;
varvzip: tvclzip;
begin
result := true;
vzip := tvclzip.create(nil);
trywith vzip do
begin
zipname := sfile; //壓縮後檔名
rootdir := sdir; //根目錄,不儲存這個目錄資料夾
fileslist := sllist; //壓縮檔案列表,支援萬用字元*.*
adddirentriesonrecurse := true; //空目錄也新增
relativepaths := true; //相對路徑
tryzip;
except
result := false;
end;
end;
finally
freeandnil(vzip);
end;
end;
function dounzip(sdir,sfile: string):boolean;
varvunzip: tvclunzip;
begin
result := true;
vunzip := tvclunzip.create(nil);
trywith vunzip do
begin
zipname := sfile; //欲解壓的檔案
readzip; //讀取壓縮包資訊
fileslist.add('*.*'); //萬用字元,新增所有檔案
destdir := sdir; //解壓目的地路徑
recreatedirs := true; //建立目錄結構
tryunzip;
except
result := false;
end;
end;
finally
freeandnil(vunzip);
end;
end;
procedure tform1.btn_zipclick(sender: tobject);
begin
if dozip('e:/cvss/','f:/test1.zip',lst1.items) = true then
showmessage('壓縮成功')
else
showmessage('壓縮失敗');
end;
procedure tform1.btn_unzipclick(sender: tobject);
begin
if dounzip('f:/abc/',edt1.text) = true then
showmessage('解壓縮成功')
else
showmessage('解壓縮失敗');
end;
end.
執行結果如下圖所示:
vcbuild的簡單使用
vcbuild 命令列 更新 2007 年 11 月 vcbuild 工具使用以下命令列語法來生成 visual c 專案和解決方案。複製 vcbuild options project solution config all 標誌 options生成選項。有關更多資訊,請參見 vcbuild 選項...
QList的簡單使用
qlistlist list 1 2 3 4 5 6 7 8 qlist的插入 voidinsert int i,const t value 在qlist其中某個位置插入value,假如沒 宣告i i 預設size 及在最後插入value iteratorinsert iterator before...
QTreeWidget的簡單使用
qtreewidget是一種樹形的部件,它以樹的形式顯示各個項,它的每個項使用qtreewidgetitem來表示。qtreewidgetitem的值的表示都是用qstringlist來表示的。簡單的說明一下 for int i 0 i 3 i for int i 0 i 3 i treewidge...