以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]请教FTP目录递归代码优化  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=60914)

--  作者:zyqzyy
--  发布时间:2014/12/3 22:42:00
--  [求助]请教FTP目录递归代码优化

下面的代码递归FTP服务器上指定目录下的所有子目录并生成目录树,成功了,效率偏低(是先保存在数据表中,再由数据表生成目录树),请老师指点!想直接生成目录树。

Dim path As String = args(0)
Dim ftp1 As new ftpclient
ftp1.host= "192.168.1.246"              
ftp1.Port= "21"           
ftp1.Account = "hhe"             
ftp1.password = "12"        
For Each p As String In ftp1.GetDirList(path)
    Tables(“表A”).AddNew
    Dim s As String = ""
    s = path & "\\" & p
    s = s.Replace(_TSG & "\\","")
    Tables(“表A”).Current("分类") = s  

    Tables(“表A”).Current.Save
    Functions.Execute("FTP目录", path & "\\" & p)
Next
Dim tv As WinForm.TreeView = Forms("FTP资源管理器").Controls("TreeView1")
tv.CreateTree(“表A”,"分类") 
tv.Nodes.Insert(“教育图书”,0)
tv.Nodes(“教育图书”).Ic

[此贴子已经被作者于2014-12-3 22:42:38编辑过]

--  作者:有点甜
--  发布时间:2014/12/3 22:44:00
--  

 只能是这样获取的,你生成目录树以后,可以把此目录树保存

 

http://www.foxtable.com/help/topics/2014.htm

 

http://www.foxtable.com/help/topics/1974.htm

 


--  作者:zyqzyy
--  发布时间:2014/12/3 23:00:00
--  

请老师细看一下,想在红色地方就直接生成目录树,不想保存成数据表,再转弯生成目录树

For Each p As String In ftp1.GetDirList(path)
    Tables(“表A”).AddNew
    Dim s As String = ""
    s = path & "\\" & p
    s = s.Replace(_TSG & "\\","")   ’_TSG 是指定的FTP目录
    Tables(“表A”).Current("分类") = s  

    Tables(“表A”).Current.Save
    Functions.Execute("FTP目录", path & "\\" & p)
Next

[此贴子已经被作者于2014-12-3 23:02:04编辑过]

--  作者:有点甜
--  发布时间:2014/12/3 23:09:00
--  

 这不是最简单的么?

 

Dim tv As WinForm.TreeView = Forms("FTP资源管理器").Controls("TreeView1")

For Each p As String In ftp1.GetDirList(path)
    Dim nd As Object = tv.Nodes.Add(p)   
    Functions.Execute("FTP目录", nd, path & "\\" & p)
Next

 

 

---------

 

函数那里

 

Dim a1 As Object = args(0)

Dim a2 As Object = args(1)

For Each p As String In ftp1.GetDirList(a2)
    Dim nd As Object = a1.Nodes.Add(p)   
    Functions.Execute("FTP目录", nd, a2 & "\\" & p)
Next

[此贴子已经被作者于2014-12-4 9:07:22编辑过]