程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> Visual Basic語言 >> VB綜合教程 >> VB中利用WinRAR進行文件壓縮

VB中利用WinRAR進行文件壓縮

編輯:VB綜合教程
一些數據庫文件(如Access文件)在遠程傳輸過程中可能由於文件比較大而影響傳遞效果。如果進行壓縮以後再傳遞,會減少傳遞時間,避免意外的發生,同時也保證了傳遞效果。我們在壓縮文件時,最常用的壓縮工具為WinRar和Winzip,筆者在VB編程過程中利用WinRar工具來壓縮數據庫文件,並完成遠程傳輸,十分方便,在此向大家介紹一下。用WinZip的方法類似。
  
  一、Shell函數
  Shell函數是VB中的內部函數,它負責執行一個可執行文件,返回一個Variant(Double),如果成功的話,代表這個程序的進程ID,若不成功,則會返回0。
  
  Shell的語法:Shell(PathName[,WindowStyle])。
  
  PathName為必需參數。類型為String,它指出了要執行的程序名,以及任何需要的參數或命令行變量,也可以包括路徑名。
  
  WindowStyle為可選參數。Integer類型,指定在程序運行時窗口的樣式。WindowStyle有以下這些值。
  
  常量值描述
  VbHide0窗口被隱藏,且焦點會移到隱式窗口。
  VbNormalFocus1窗口具有焦點,且會還原到它原來的大小和位置。
  VbMinimizedFocus2窗口會以一個具有焦點的圖標來顯示(缺省值)。
  VbMaximizedFocus3窗口是一個具有焦點的最大化窗口。
  VbNormalNoFocus4窗口會被還原到最近使用的大小和位置,而當前活動的窗口仍然保持活動。
  VbMinimizedNoFocus6窗口會以一個圖標來顯示,而當前活動的窗口仍然保持活動。
  
  二、關於WinRar的用法
  主要介紹以下如何在WinRar中用命令行來壓縮和解壓縮文件。
  
  壓縮:WINRARA[-switches][Files][@Filelists]
  
  例如你想把try.mdb壓縮到C盤下,可以WINRARAC:try.rarC:try.mdb
  
  解壓縮:如果帶目錄解壓縮
  
   WINRARX[-switches][Files][@Filelists][destionationfolder]
  
   如果在當前目錄解壓縮,即解壓縮時不寫目錄名
  
   WINRARE[-switches][Files][@Filelists][destionationfolder]
  
  例如你想把try.rar解壓縮到C盤下,可以WINRARXC:try.rarC:try.mdb
  
  三、一個例子
  在VB中新建一個工程,在Form1中添加兩個按鈕Command1、Command2和Command3,把他們的Caption屬性分別設為"壓縮文件"、"解壓縮文件"和"傳遞文件"。按Command1時把文件try.mdb壓縮成try.rar。
  PrivateSubCommand1_Click()
  
  DimRarexeAsString‘WINRAR執行文件的位置
  
  DimSourceAsString‘壓縮前的原始文件
  
  DimTargetAsString‘壓縮後的目標文件
  
  DimFileStringasString‘Shell指令中的字符串
  
  DimResultAsLong
  
   Rarexe="C:programfileswinrarwinrar"
  
  Source="C:try.mdb"
  
  Target="C:try.rar"
  
  FileString=rarexe&"a"&Target&""&Source
  
  Result=Shell(FileString,vbHide)
  
  EndSub
  
  解壓的過程類似,按Command2可以把try.rar解壓生成try.mdb。在執行了上面的壓縮過程後,可以刪除文件try.mdb,來解壓縮重新生成try.mdb。
  
  PrivateSubCommand2_Click()
  
  DimRarexeAsString‘WINRAR執行文件的位置
  
  DimSourceAsString‘解壓縮前的原始文件
  
  DimTargetAsString‘解壓縮後的目標文件
  
  DimFileStringasString‘Shell指令中的字符串
  
  DimResultAsLong
  
   Rarexe="C:programfileswinrarwinrar"
  
  Source="C:try.rar"
  
  Target="C:try.mdb"
  
  FileString=rarexe&"X"&Source&""&Target
  
  Result=Shell(FileString,vbHide)
  
  EndSub
  
  文件從一台計算機傳輸到另一台計算機前,應知道另一台計算機的名字,然後用FileCopy語句就可以了。假設要把壓縮後try.rar傳遞到計算機名為"other"的共享目錄"want"下。
  
  PrivateSubCommand3_Click()
  
  DimSourceFile,DestinationFile
  
  SourceFile="C:try.rar"‘指定源文件名。
  
  DestinationFile="otherwanttry.rar"‘指定目的文件名。
  
  FileCopySourceFile,DestinationFile‘將源文件的內容復制到目的文件中。
  
  EndSub
  
  怎麼樣,十分簡單吧?->

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved