VB6.0中Dir()函數的使用方法

發表于:2007-05-25來源:作者:點擊數: 標簽:Dir使用方法VB6.0成員提供
VB 中提供的成員函數dir返回一個滿足指定類型或指定文件屬性的文件名,目錄名或卷標名。dir函數的語法結構為: Member Function Dir[(Pathname[,attributes])] As String 其中參數Pathname通常為一個文件名,此文件名可以包含目錄或文件夾以及驅動器符號,如
  VB中提供的成員函數dir返回一個滿足指定類型或指定文件屬性的文件名,目錄名或卷標名。dir函數的語法結構為:

clearcase/" target="_blank" >cccccc" width="90%" align="center" bgcolor="#e1e1e1" border="1">
Member Function Dir[(Pathname[,attributes])] As String

  其中參數Pathname通常為一個文件名,此文件名可以包含目錄或文件夾以及驅動器符號,如果沒有找到指定的Pathname,dir語句將返回一個零長度的字符串(""),支持多字符通配符和單字符通配符。需要注意的是:

  1.在程序中第一次調用dir函數時必須指明pathname參數,否則會產生運行錯誤;

  2.dir函數只返回滿足pathname條件的第一個文件名或目錄名,要得到其余滿足條件的文件名,可以再次調用dir函數而不用帶參數,當沒有匹配的文件,dir函數返回零長度的字符串,而此時如果再想調用dir函數,必須指定pathname參數,否則出現運行錯誤;

  3.在沒有檢索到滿足當前pathname匹配條件的文件時可以改變新的pathname值,但不能再次遞歸調用dir函數;

  4.調用dir函數時將屬性參數設置為vbdirectory并不能連續返回子目錄,僅返回當前目錄下的目錄。
  
  例1

Public Sub main()
Dim filenames As String
filenames = Dir("c:\", vbNormal + vbDirectory)
Do While filenames <> ""
Debug.Print filenames
filenames = Dir ’再次調用dir函數,此時可以不帶參數
Loop
End Sub

  例2

’將符合條件的條件和目錄分類,存到對應的數組中,完成輸出
Public Sub main()
 Dim FileNames As String, DirNames As String
 Dim FileArray() As String, DirArray() As String
 Dim TotalDirs As Integer, TotalFiles As Integer
 Dim iLoop As Integer

 DirNames = "c:\"
 FileNames = Dir(Dirname, vbNormal + vbDirectory)
 Do While FileNames <> ""
  If FileNames <> "." And FileNames <> ".." Then
   If (GetAttr(Dirname & FileNames) And vbDirectory) = vbDirectory Then
    TotalDirs = TotalDirs + 1
    ReDim Preserve DirArray(TotalDirs)
    DirArray(TotalDirs) = FileNames
   Else
    TotalFiles = TotalFiles + 1
    ReDim Preserve FileArray(TotalFiles)
    FileArray(TotalFiles) = FileNames
   End If
  End If
  FileNames = Dir
 Loop
 ’這里可對數組進行排序,此處略
 Debug.Print "___Directories______"
 For iLoop = 0 To UBound(DirArray)
  Debug.Print DirArray(iLoop)
 Next
 Debug.Print "___Files____"
 For iLoop = 0 To UBound(FileArray)
  Debug.Print FileArray(iLoop)
 Next
End Sub

  Dir函數可以用在不確定本機是否存在某文件或目錄的前提下后臺幫助用戶尋找并提示,然后運用該文件或目錄完成指定操作,如run等。但是由于不能遞歸使用,這就意味著不能一次查找整棵樹,更為糟糕的是,vb并沒有提供用來在多個不知名的目錄中查找某一給定的文件或文件簇的任何工具。幸運的win32api提供了一些文件查找的方法(SearchPath,FindFirstFile,FindNextFile等),此外還可利用已有的文件查找知識為用戶創建一個listbox控件,用來顯示所查找到的文件,以便用戶能選中其一。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97