首頁>Club>
7
回覆列表
  • 1 # 使用者834195712159

    例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控制元件,用來顯示所查詢到的檔案,以便使用者能選中其一。

  • 中秋節和大豐收的關聯?
  • 磁阻元件的發展階段?