请教怎样搜寻目录——续帖
我想达到这样的目的:指定目录,点击按钮,这个目录下所有大于6个字符的目录名分别显示在label1——label10中,并在label11中显示个数。
假设目录结构如下:
E:---111---11---111111111
| |-222222222
| |-333333333
|-22---444444444
|-33---555555555
解释:e盘111目录下有11,22,33目录,11目录下有111111111,222222222,333333333子目录,22目录下有444444444子目录,33 目录下有555555555子目录。
指定e:\111\路径后,点击按钮,label1——label5中分别显示111111111——555555555,最后五个(label6~label10)中显示为空,label11中显示5。
我编写的程序如下:
Public Sub HaalDirOp(ByVal Path$)
Dim vDirName As String, LastDir As String, i As Integer
i = -1
Screen.MousePointer = vbHourglass
If Right(Path$, 1) <> "\" Then Path$ = Path$ & "\"
vDirName = Dir(Path, vbDirectory) ' Retrieve the first entry.
Do While Not vDirName = ""
If vDirName <> "." And vDirName <> ".." Then
If (GetAttr(Path & vDirName) And vbDirectory) = vbDirectory Then
LastDir = vDirName
'MsgBox vDirName
List1.AddItem Path$ & vDirName
If Len(vDirName) > 6 Then
i = i + 1
Label1(i).Caption = vDirName
End If
Call HaalDirOp(Path$ & vDirName)
vDirName = Dir(Path$, vbDirectory)
Do Until vDirName = LastDir Or vDirName = ""
vDirName = Dir
Loop
If vDirName = "" Then Exit Do
End If
End If
vDirName = Dir
Loop
Screen.MousePointer = vbNormal
End Sub
Private Sub Command1_Click()
HaalDirOp "e:\111\"
End Sub
现发现运行结果有问题。逐语句运行后发现:在label1中显示111111111、label2中显示222222222、label3中显示333333333后,照理想方式是444444444出现在label4中,555555555出现在label5中,但实际情况是444444444又出现在label1中,将111111111给覆盖掉,然后555555555出现在label1中将444444444覆盖掉。
简单地说,目前显示的情况是:
label1:555555555
label2:222222222
label3:333333333
label4:空
label5:空
请教如何显示成这样:
label1:111111111
label2:222222222
label3:333333333
label4:444444444
label5:555555555
另外label11的目录个数语句怎么写?
[此贴子已经被作者于2017-1-24 08:57编辑过]