WinRar對VB.NET文件壓縮技巧歸納總結
VB.NET文件壓縮往往成為我們的問題,在這里我給大家推薦一下用Winrar進行文件壓縮被,因為一些數(shù)據(jù)庫文件(如Access文件)在遠程傳輸過程中可能由于文件比較大而影響傳遞效果。如果進行壓縮以后再傳遞,會減少傳遞時間,避免意外的發(fā)生,同時也保證了傳遞效果。VB編程過程中利用WinRar工具來壓縮數(shù)據(jù)庫文件,并完成遠程傳輸,十分方便,在此向大家介紹一下。用WinZip的方法類似。
一、Shell函數(shù)
Shell函數(shù)是VB中的內部函數(shù),它負責執(zhí)行一個可執(zhí)行文件,返回一個Variant(Double),如果成功的話,代表這個程序的進程ID,若不成功,則會返回0。
Shell的語法:Shell(PathName[,WindowStyle])。
PathName 為必需參數(shù)。類型為String,它指出了要執(zhí)行的程序名,以及任何需要的參數(shù)或命令行變量,也可以包括路徑名。
WindowStyle為可選參數(shù)。Integer類型,指定在程序運行時窗口的樣式。WindowStyle有以下這些值。
常量值描述
VbHide 0 窗口被隱藏,且焦點會移到隱式窗口。
VbNormalFocus 1 窗口具有焦點,且會還原到它原來的大小和位置。
VbMinimizedFocus 2 窗口會以一個具有焦點的圖標來顯示(缺省值)。
VbMaximizedFocus 3 窗口是一個具有焦點的***化窗口。
VbNormalNoFocus 4 窗口會被還原到最近使用的大小和位置,而當前活動的窗口仍然保持活動。
VbMinimizedNoFocus 6 窗口會以一個圖標來顯示,而當前活動的窗口仍然保持活動。
二、關于WinRar的用法
主要介紹以下如何在WinRar中用命令行來壓縮和解壓縮文件。
壓縮:WINRAR A [-switches]
例如你想把try.mdb壓縮到C盤下,可以WINRAR A C:\try.rar C:\try.mdb
解壓縮:如果帶目錄解壓縮
WINRAR X [-switches]
如果在當前目錄解壓縮,即解壓縮時不寫目錄名
WINRAR E [-switches]
例如你想把try.rar解壓縮到C盤下,可以WINRAR X C:\try.rar C:\try.mdb
三、VB.NET文件壓縮一個例子
在VB中新建一個工程,在Form1中添加兩個按鈕Command1、Command2和Command3,把他們的Caption屬性分別設為"壓縮文件"、"解壓縮文件"和"傳遞文件"。按Command1時把文件try.mdb壓縮成try.rar。
- Private Sub Command1_Click()
- Dim Rarexe As String 'WINRAR執(zhí)行文件的位置
- 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。在執(zhí)行了上面的壓縮過程后,可以刪除文件try.mdb,來解壓縮重新生成try.mdb。
- Private Sub Command2_Click()
- Dim Rarexe As String 'WINRAR執(zhí)行文件的位置
- 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
文件從一臺計算機傳輸?shù)搅硪慌_計算機前,應知道另一臺計算機的名字,然后用FileCopy語句就可以了。假設要把壓縮后try.rar傳遞到計算機名為"other"的共享目錄"want"下。
- Private Sub Command3_Click()
- Dim SourceFile, DestinationFile
- SourceFile ="C:\try.rar " ' 指定源文件名。
- DestinationFile = "\\other\want\try.rar" ' 指定目的文件名。
- FileCopy SourceFile, DestinationFile ' 將源文件的內容復制到目的文件中。
- End Sub
怎么樣,VB.NET文件壓縮還是十分簡單吧?
【編輯推薦】