.支持库 iext
.支持库 internet.局部变量 项目类型, 整数型
.局部变量 选中项, 整数型
.局部变量 当前目录, 文本型
.局部变量 容器1, 整数型选中项 = 远程文件框.现行选中项
.如果真 (选中项 = -1)
返回 ()
.如果真结束
项目类型 = 远程文件框.取表项数值 (选中项)当前目录 = FTP取现行目录 ()
.判断开始 (项目类型 = 0) ' 是否为到上目录
容器1 = 倒找文本 (当前目录, “/”, , 真)
.如果真 (容器1 ≠ -1)
当前目录 = 取文本左边 (当前目录, 容器1)
.如果真 (当前目录 ≠ “/”)
当前目录 = 取文本左边 (当前目录, 容器1 - 1)
.如果真结束
FTP置现行目录 (当前目录)
填充远程框 ()
.如果真结束.判断 (项目类型 = 1) ' 是否到子目录
.如果真 (取文本右边 (当前目录, 1) ≠ “/”)
当前目录 = 当前目录 + “/”
.如果真结束
FTP置现行目录 (当前目录 + 远程文件框.取标题 (选中项, ))
填充远程框 ()
.默认.版本 2
.支持库 iext
.支持库 internet.子程序 填充远程框
.局部变量 文件名, 文本型, , "0"
.局部变量 文件尺寸, 整数型, , "0"
.局部变量 文件属性, 整数型, , "0"
.局部变量 文件时间, 日期时间型, , "0"
.局部变量 数目, 整数型
.局部变量 容器1, 整数型
.局部变量 名称, 文本型
.局部变量 索引, 整数型
.局部变量 现行目录, 文本型远程文件框.全部删除 ()状态标签.标题 = “正在获取目录列表,请稍候...”
状态标签.刷新显示 () ' 立即显示改变后的标题
数目 = FTP目录列表 (“*.*”, , 文件名, 文件属性, 文件尺寸, 文件时间)
' 填充目录
现行目录 = FTP取现行目录 ()
.如果真 (现行目录 ≠ “/”)
远程文件框.插入表项 (, , 0, , , 0) ' 如果不是根目录,则插入到父目录的特殊表项
.如果真结束.计次循环首 (数目, 容器1)
.如果真 (位与 (文件属性 [容器1], #子目录) ≠ 0)
名称 = 文件名 [容器1]
.如果真 (取文本左边 (名称, 1) ≠ “.”)
索引 = 远程文件框.插入表项 (, 名称, 1, , , 1)
远程文件框.置标题 (索引, 2, 到文本 (文件时间 [容器1]))
.如果真结束.如果真结束.计次循环尾 ()
' 填充文件
.计次循环首 (数目, 容器1)
.如果真 (位与 (文件属性 [容器1], #子目录) = 0)
索引 = 远程文件框.插入表项 (, 文件名 [容器1], 2, , , 2)
远程文件框.置标题 (索引, 1, 到文本 (文件尺寸 [容器1]))
远程文件框.置标题 (索引, 2, 到文本 (文件时间 [容器1]))
.如果真结束.计次循环尾 ()
.版本 2.支持库 downlib
.子程序 _添加用户_创建完毕
服务器名 = “10.110.160.23”
登录名 = “jjwnet”
登录密码 = “1”
.如果真 (全局辅助对象.连接FTP服务器 (“ftp://” + 服务器名 + “/others/”, 登录名, 登录密码, 21, , ) = 假)
信息框 (“无法连接服务器”, 0, )
销毁 ()
.版本 2
.支持库 downlib
.子程序 上传文件
.参数 服务端文件名, 文本型
.参数 本地文件名, 文本型, ,
.局部变量 任务参数, 任务参数
任务参数.类型 = #传送常量.上传
任务参数.用户名 = 登录名
任务参数.用户密码 = 登录密码
任务参数.本地文件路径 = 本地文件名
输出调试文本 (任务参数.本地文件路径)
任务参数.文件地址 = 服务端文件名
输出调试文本 (任务参数.文件地址)
任务参数.交互回调函数 = &交互回调函数
任务参数.日志回调函数 = &日志回调函数
全局上传对象.上传文件 (任务参数)
.子程序 交互回调函数, 整数型, , 同名覆盖
.参数 消息类型, 整数型
.参数 线程信息, 整数型
.参数 参数3, 整数型
.参数 参数4, 整数型
.参数 对象信息, 整数型
.局部变量 获得对象标记, 整数型
.局部变量 内容, 文本型
.局部变量 新文件名, 文本型
.局部变量 线程组, 整数型, , "0"
' 成员<15>的中文名称为“交互回调函数”,英文名称为“MutualCallBack”,类型为“子程序指针(SubPtr)”。
' 注册一个回调函数,系统产生需要交互的消息时调用此函数,具体消息请参见传送常量中设置的消息常量。如果为0则不接收,默认为0。回调函数需要有5个参数,一个整数型的返回值。返回值根据消息类型的不同而不同,如果没有说明则返回值没有意义。参见具体的消息第一个参数(整数型)消息类型,参见“传送常量。”第二个参数(整数型),线程信息,可以通过”取线程信息“获得每个上传或下载对象的线程信息,与本参数比较从而确定发送本消息的对象第三个参数(整数型)根据消息类型的不同而不同,参见具体的消息第四个参数(整数型)根据消息类型的不同而不同,参见具体的消息第五个参数(整数型),对象信息,可以通过“取对象信息”获得下载或上传对象的信息与本参数比较,从而确定本消息属于哪个对象。
.如果真 (消息类型 = #传送常量.发现存在文件)
返回 (#传送常量.覆盖) ' 发现有同名文件存在,则覆盖
.如果真结束
返回 (0)
.子程序 日志回调函数
.参数 线程信息, 整数型
.参数 时间, 文本型
.参数 内容, 文本型
.参数 消息类型, 整数型
.参数 对象信息, 整数型
.局部变量 日志内容, 文本型
.版本 2
.支持库 dp1
.子程序 _按钮1_被单击
.局部变量 文件名, 文本型
文件名 = “d/xxxxxx.txt”
上传文件 (“ftp://” + 服务器名 + “/databases/” +“xxxxxx.txt”, 文件名)
延时 (1000)
信息框 (“上传成功”, 0, “finish”)
简单的写一个 窗口内需要 按钮1 通用对话框1 两个控件.版本 2
.支持库 internet
.子程序 _按钮1_被单击
.局部变量 文件名, 文本型
.如果 (连接FTP服务器 (“192.168.1.1”, “”, “”, 21, ) = 真)
.如果真 (通用对话框1.打开 () = 真 且 通用对话框1.文件名 ≠ “”) ' 判断是否打开了文件
文件名 = 取文本右边 (通用对话框1.文件名, 取文本长度 (通用对话框1.文件名) - 倒找文本 (通用对话框1.文件名, “\”, , 假)) ' 取出被打开的文件名
.如果 (FTP文件上传 (通用对话框1.文件名, 文件名, 假) = 真)
信息框 (“上传文件 ” + 文件名 + “ 成功!”, 0, )
.否则
信息框 (“上传文件 ” + 文件名 + “ 失败!”, 0, )
.如果结束
.如果真结束
.否则
信息框 (“连接失败”, 0, )
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)