VB中利用WinRAR進行檔案壓縮

2021-04-17 08:44:57 字數 2763 閱讀 9973

winrar和winzip,筆者在

vb程式設計過程

中利用winrar工具來壓縮資料庫檔案,並完成遠端傳輸,十分方便,在此向大家介紹一下。用winzip的方法類似。

一、shell函式

shell函式是

vb中的內部函式,它負責執行乙個可執行檔案,返回乙個variant(double),如果成功的話,代表這個程式的程序id,若不成功,則會返回0。

shell的語法:shell(pathname[,windowstyle])。

pathname 為必需引數。型別為string,它指出了要執行的程式名,以及任何需要的引數或命令列變數,也可以包括路徑名。

windowstyle為可選引數。integer型別,指定在程式執行時視窗的樣式。windowstyle有以下這些值。

常量 值 描述

vbhide 0 視窗被隱藏,且焦點會移到隱式視窗。

vbnormalfocus 1 視窗具有焦點,且會還原到它原來的大小和位置。

vbminimizedfocus 2 視窗會以乙個具有焦點的圖示來顯示(預設值)。

vbmaximizedfocus 3 視窗是乙個具有焦點的最大化視窗。

vbnormalnofocus 4 視窗會被還原到最近使用的大小和位置,而當前活動的視窗仍然保持活動。

vbminimizednofocus 6 視窗會以乙個圖示來顯示,而當前活動的視窗仍然保持活動。

二、關於

winrar的用法

主要介紹以下如何在

winrar中用命令列來壓縮和解壓縮檔案。

壓縮:winrar a [-switches]

[files] [@file lists]

例如你想把try.mdb壓縮到c盤下,可以

winrar a c:try.rar c:try.mdb

解壓縮:如果帶目錄解壓縮

winrar x [-switches]

[files] [@file lists] [destionation folder]

如果在當前目錄解壓縮,即解壓縮時不寫目錄名

winrar e [-switches]

[files] [@file lists] [destionation folder]

例如你想把try.rar解壓縮到c盤下,可以

winrar x c:try.rar c:try.mdb

三、乙個例子

在 vb中新建乙個工程,在form1中新增兩個按鈕command1、command2和command3,把他們的caption屬性分別設為"壓縮檔案"、"解壓縮檔案"和"傳遞檔案"。按command1時把檔案try.mdb壓縮成try.rar。

private sub command1_click() 

dim rarexe as string 『

winrar執行檔案的位置 

dim source as string 『 壓縮前的原始檔案 

dim target as string 『 壓縮後的目標檔案 

dim filestring as string 『shell指令中的字串 

dim result as long 

rarexe="c:program files

winrar

winrar" 

source="c:try.mdb" 

target="c:try.rar" 

filestring = rarexe & " a " & target & " " & source 

result = shell(filestring,

vbhide) 

end sub 

解壓的過程類似,按command2可以把try.rar解壓生成 try.mdb。在執行了上面的壓縮過程後,可以刪除檔案try.mdb,來解壓縮重新生成try.mdb。 

private sub command2_click() 

dim rarexe as string 『

winrar執行檔案的位置 

dim source as string 『 解壓縮前的原始檔案 

dim target as string 『 解壓縮後的目標檔案 

dim filestring as string 『shell指令中的字串 

dim result as long 

rarexe="c:program files

winrar

winrar" 

source="c:try.rar" 

target="c:try.mdb" 

filestring = rarexe & " x " & source & " " & target 

result = shell(filestring,

vbhide) 

end sub 

檔案從一台計算機傳輸到另一台計算機前,應知道另一台計算機的名字,然後用filecopy語句就可以了。假設要把壓縮後try.rar傳遞到計算機名為"other"的共享目錄"want"下。 

private sub command3_click() 

dim sourcefile, destinationfile 

sourcefile ="c:try.rar " 『 指定源檔名。 

destinationfile = "otherwanttry.rar" 『 指定目的檔名。 

filecopy sourcefile, destinationfile 『 將原始檔的內容複製到目的檔案中。 

end sub 

怎麼樣,十分簡單吧?

利用python進行檔案操作

作者 wyh草樣 出處 什麼是檔案 檔案是系統儲存區域的乙個命名位置,用來儲存一些資訊,便於後續訪問。能夠在非易失性儲存器中實現持續性儲存,比如在硬碟上。當我們要讀取或者寫入檔案時,我們需要開啟檔案 在操作完畢時,我們需要關閉檔案,以便釋放和檔案操作相關的系統資源,因此,檔案操作的主要包括以下 開啟...

利用fprintf進行檔案操作 向檔案中追加寫入

include include file fp fp fopen c rect.txt a 引數a表示追加寫入 fprintf fp,d rect.left left,top,right,bottom is pointer of the tow points,they are int type fp...

利用序列化進行檔案讀寫

在很多應用中我們需要對資料進行儲存,或是從介質上讀取資料,這就涉及到檔案的操作。我們可以利用各種檔案訪問方法完成這些工作,但mfc中也提供了一種讀寫檔案的簡單方法 序列化 序列化機制通過更高層次的介面功能向開發者提供了更利於使用和透明於位元組流的檔案操縱方法,舉乙個例來講你可以將乙個字串寫入檔案而不...