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

用VB實現文件查找功能

編輯:VB綜合教程
在VB中要實現查找文件功能,我們可以利用VB的DIR函數進行遞歸來實現。每次使用DIR函數後,比較是否有要查找的文件,再檢查是否有子目錄,若有,利用遞歸繼續查找,這樣可對整個盤進行查找。
  下面是一個例子,查找DOS目錄下的所有EXE文件,統計EXE文件的數目並列出文件名。本程序會查找當前路徑下的所有文件和子目錄,與WIN95的“包含子文件夾”的查找功能類似。
  程序與注釋如下:
  1.在窗體中加一命令按鈕Command1,Caption=查找示例,雙擊此按鈕,寫如下代碼:
  PrivateSubCommand1-Click()
  Dimff()AsString′定義一個字符串數組用來保存找到的文件名稱
  DimfnAsLong′保存找到的文件數目
  fn=TreeSearch(″C:%%dos″,″*.exe″,ff())
  Print″找到文件數目為″;fn
  ForI=1Tofn
  Printff(I)
  Next
  EndSub
  2.插入一模塊Modulel.bas,寫如下代碼:
  OptionExplicit
  PublicFunctionTreeSearch(ByValsPathAsString,ByValsFileSpecAsString,sFiles()AsString)
  AsLong
  Static1FilesAsLong′文件數目
  DimsDir AsString
  DimsSubDirs()AsString′存放子目錄名稱
  Dim1IndexAsLong
  IfRight(sPath,1)<>″%%″ThensPath=sPath&″%%″
  sDir=Dir(sPath&sFileSpec)
  ′獲得當前目錄下文件名和數目
  DoWhileLen(sDir)
  1Files=1Files+1
  ReDimPreservesFiles(1To1Files)
  sFiles(1Files)=sPath&sDir
  sDir=Dir
  Loop
  ′獲得當前目錄下的子目錄名稱
  1Index=0
  sDir=Dir(sPath&″*.*″,16)
  DoWhileLen(sDir)
  IfLeft(sDir,1)<>″.″Then′skip.and..
  ′找出子目錄名
  IfGetAttr(sPath&sDir)AndvbDirectoryThen
  1Index=lIndex+1
  ′保存子目錄名
  RedimPreservesSubDirs(1To1Index)
  sSubDirs(1Index)=sPath&sDir&″%%″
  EndIf
  EndIf
  sDir=dir
  Loop
  For1Index=1To1Index
  ′查找每一個子目錄下文件,這裡利用了遞歸
  CallTreeSearch(sSubDirs(1Index),sFileSpec,sFiles())
  Next1Index
  TreeSearch=1Files
  EndFunction
  3.保存文件,按F5運行,單擊命令按鈕即可。
  程序運行環境:VB4.0(32位),中文WIN95。->

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