重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
给你一个提示吧!呵呵,剩下的要自己思考哦!
创新互联公司自2013年创立以来,是专业互联网技术服务公司,拥有项目成都做网站、成都网站建设、成都外贸网站建设网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元姚安做网站,已为上家服务,为姚安各地企业和个人服务,联系电话:028-86922220
Path:是初始目录的路径
Private Sub WriteArray(ByVal Path As String)
'写入数组代码在这里,直接将Path写到数组就行了。
Dim dir As New IO.DirectoryInfo(Path)
For Each d As IO.DirectoryInfo In dir.GetDirectories
WriteArray(d.FullName) '递归
Next
End Sub
如果子目录较多那么递归会比较费时间,在调用递归前加入application.doevent就行了,这样在应对大递归时不会死机。
至于数组嘛使用 arraylist 最好了。
回答补充:
把递归去掉就行了啊!
这个不是遍历吧!只是简单将数组中的数取出来而已;
msgbox(os(a))
你的treeview和数组是什么结构呢?这个源码你改改用吧
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
Dim str(TreeView1.GetNodeCount(False) - 1, 0) As String '定义一个2维数组存放节点内容
Dim node As TreeNode
Dim childnode As TreeNode
Dim i, j As Integer
i = 0
For Each node In TreeView1.Nodes '循环根节点
j = 1
str(i, 0) = node.Text '每个根节点的内容存放在第一列
If UBound(str, 2) node.GetNodeCount(False) Then
ReDim Preserve str(TreeView1.GetNodeCount(False) - 1, node.GetNodeCount(False)) '根据子节点的数目更改数组大小
End If
For Each childnode In node.Nodes '循环子节点
str(i, j) = childnode.Text '存放每个子节点的内容
j = j + 1
Next
i = i + 1
Next
node = Nothing
childnode = Nothing
End Sub
for each是用来简化for的,但你这种写法有点奇怪,一般没这样用的,通常的用法是
dim a() as string={....}
dim str as string '定义临时变量,它的类型与你数组中元素类型一致
For Each str In a
MessageBox.Show(str)
Next
你上面代码中,a就是一个3个元素的数组,从a[0]到a[2], 用for each的时候,就会遍历你的a数组,上面的代码相当于
for i=0 to a.Length-1
MessageBox.Show(a(i))
next