易语言 ftp的操作

易语言 ftp的操作,第1张

.版本 2

.支持库 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, )


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/332021.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-03
下一篇2023-05-03

发表评论

登录后才能评论

评论列表(0条)

    保存