VclZip 3 10 1的簡單使用示例

2021-05-25 06:00:43 字數 2994 閱讀 8357

一款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...