Foxtable(狐表)用户栏目专家坐堂 → 请教 做一个我的电脑的目录树


  共有3377人关注过本帖树形打印复制链接

主题:请教 做一个我的电脑的目录树

帅哥哟,离线,有人找我吗?
ljh29206
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1368 积分:12189 威望:0 精华:0 注册:2012/3/5 11:32:00
请教 做一个我的电脑的目录树  发帖心情 Post By:2017/4/5 15:17:00 [只看该作者]

内部函数
Dim tr As WinForm.TreeNode = args(0)

If FileSys.DirectoryExists(tr.name)  Then
For Each dir As String In FileSys.GetDirectories(tr.name)
    Dim cd As WinForm.TreeNode =  tr.Nodes.Add(dir)
    Functions.Execute("AddChildren",cd)
Next
ElseIf FileSys.FileExists(tr.name) Then
    Dim cd As WinForm.TreeNode =  tr.Nodes.Add(tr.name)
End If

目录树生成代码

Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
For Each DInfo As IO.DriveInfo In IO.DriveInfo.GetDrives
    If dinfo.Isready Then
        nd = tv.Nodes.Add(dinfo.name)
        For Each dir As String In  FileSys.GetDirectories(dinfo.name)
            Dim  cd As WinForm.TreeNode = nd.Nodes.Add(dir,dir.Replace(dinfo.name,""))
          Functions.Execute("AddChildren",nd)
        Next
        For Each dir As String In  FileSys.GetFiles(dinfo.name)
            Dim  cd As WinForm.TreeNode = nd.Nodes.Add(dir,dir.Replace(dinfo.name,""))
        Next
    End If
Next

求指导 哪里错了
[此贴子已经被作者于2017/4/5 15:27:33编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110792 积分:563898 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/5 16:18:00 [只看该作者]

代码没有问题,只是没有权限读取一些系统的关键目录。

Dim tr As WinForm.TreeNode = args(0)

If FileSys.DirectoryExists(tr.name)  Then
    try
        For Each dir As String In FileSys.GetDirectories(tr.name)
            Dim cd As WinForm.TreeNode =  tr.Nodes.Add(dir)
            Functions.Execute("AddChildren",cd)
        Next
        catch
    End try
ElseIf FileSys.FileExists(tr.name) Then
    Dim cd As WinForm.TreeNode =  tr.Nodes.Add(tr.name)
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/5 16:18:00 [只看该作者]

Dim tr As WinForm.TreeNode = args(0)

If FileSys.DirectoryExists(tr.name)  Then
    For Each dir As String In FileSys.GetDirectories(tr.name)
        Dim info As new fileinfo(dir)
        If info.Hidden = False Then
            Dim cd As WinForm.TreeNode =  tr.Nodes.Add(dir, filesys.GetName(dir))
            Functions.Execute("test",cd)
        End If
    Next
End If

For Each dir As String In  FileSys.GetFiles(tr.name)
    Dim  cd As WinForm.TreeNode = tr.Nodes.Add(dir, FileSys.GetName(dir))
Next

 

 

----------------

 

Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
For Each DInfo As IO.DriveInfo In IO.DriveInfo.GetDrives
    If dinfo.Isready AndAlso dinfo.name = "d:\" Then
        nd = tv.Nodes.Add(dinfo.name)
        Functions.Execute("test",nd)
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
ljh29206
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1368 积分:12189 威望:0 精华:0 注册:2012/3/5 11:32:00
  发帖心情 Post By:2017/4/5 16:43:00 [只看该作者]

谢谢2位,再试下

 回到顶部
帅哥,在线噢!
jyh7081
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:963 积分:8510 威望:0 精华:0 注册:2012/10/3 13:25:00
  发帖心情 Post By:2017/5/12 11:07:00 [只看该作者]

有点色老师,我把路径改成子目录,就没反应了,只能针对根目录吗?(函数已添加)

 

Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
For Each DInfo As IO.DriveInfo In IO.DriveInfo.GetDrives
    If dinfo.Isready AndAlso dinfo.name = "d:\aa\" Then
        nd = tv.Nodes.Add(dinfo.name)
        Functions.Execute("test",nd)
    End If
Next

 

附件:

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:资源管理.table


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/5/12 11:11:00 [只看该作者]

 如果你要某个路径下的,这样写

 

Dim tv As WinForm.TreeView = e.Form.Controls("TreeView1")
Dim nd As WinForm.TreeNode
nd = tv.Nodes.Add("g:\data\")
Functions.Execute("test",nd)


 回到顶部
帅哥哟,离线,有人找我吗?
湛江智
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:812 积分:6688 威望:0 精华:0 注册:2014/11/26 12:32:00
回复:(有点色) 如果你要某个路径下的,这样写...  发帖心情 Post By:2019/6/12 17:06:00 [只看该作者]

 坛主,要实现双击目录树节点,打开文件,代码怎么写呢?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/6/12 17:20:00 [只看该作者]

以下是引用湛江智在2019/6/12 17:06:00的发言:
 坛主,要实现双击目录树节点,打开文件,代码怎么写呢?

 

msgbox(e.node.path) 然后改成路径打开即可

 

http://www.foxtable.com/webhelp/scr/0353.htm

 


 回到顶部