VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 显示盘中所有的目录
发表评论(0)作者:, 平台:, 阅读:9881, 日期:2000-03-12
显示盘中所有的目录

以下的代码把盘中所有的目录都显示在 Listbox 中。需要一个 DriveListBox 和一个 DirListBox。如果 DirListBox 隐藏的话,处理可以快一些。


Dim iLevel As Integer, iMaxSize As Integer

Dim i As Integer, j As Integer

ReDim iDirCount(22) As Integer

'最大 22 级目录

ReDim sdirs(22, 1) As String

'drive1 是 DriveListBox 控件

'dir1 是 DirListBox 控件

iLevel = 1

iDirCount(iLevel) = 1

iMaxSize = 1

sdirs(iLevel, iDirCount(iLevel)) = Left$(drive1.Drive, 2) & "\"

Do

iLevel = iLevel + 1

iDirCount(iLevel) = 0

For j = 1 To iDirCount(iLevel - 1)

dir1.Path = sdirs(iLevel - 1, j)

dir1.Refresh

If iMaxSize < (iDirCount(iLevel) + dir1.ListCount) Then

ReDim Preserve sdirs(22, iMaxSize + dir1.ListCount + 1) As String

iMaxSize = dir1.ListCount + iDirCount(iLevel) + 1

End If

For i = 0 To dir1.ListCount - 1

iDirCount(iLevel) = _

iDirCount(iLevel) + 1 '子目录记数

sdirs(iLevel, iDirCount(iLevel)) = dir1.List(i)

Next i

Next j

'所有名称放到 List1 中

list1.Clear

If iDirCount(iLevel) = 0 Then

'如果无自目录

For i = 1 To iLevel

For j = 1 To iDirCount(i)

list1.AddItem sdirs(i, j)

Next j

Next i

Exit Do

End If

Loop