易语言采用队列节点非递归遍历目录源码

511遇见

枚举文件

.版本 2
.支持库 EDataStructure
.支持库 iext

.子程序 枚举文件
.参数 目录, 文本型
.局部变量 队列, 队列
.局部变量 节点, 节点
.局部变量 节点1, 节点
.局部变量 路径, 文本型
.局部变量 文件夹名称, 文本型
.局部变量 文件名, 文本型
.局部变量 文件数目, 整数型

节点.加入属性 (“path”, 目录)
队列.压入 (节点)
.判断循环首 (队列.是否为空 () = 假)
队列.弹出 (节点1)
节点1.取文本值 (“path”, 路径)
路径 = 选择 (取文本右边 (路径, 1) ≠ “\”, 路径 + “\”, 路径)
文件夹名称 = 寻找文件 (路径 + “*.*”, #子目录)
.判断循环首 (文件夹名称 ≠ “”)
.如果真 (文件夹名称 ≠ “.” 且 文件夹名称 ≠ “..”)
节点.修改属性 (“path”, 路径 + 文件夹名称)
队列.压入 (节点)
.如果真结束
文件夹名称 = 寻找文件 (, #子目录)
.判断循环尾 ()
处理事件 ()
文件名 = 寻找文件 (路径 + “*.*”, )
.判断循环首 (文件名 ≠ “”)
超级列表框1.插入表项 (, 路径 + 文件名, , , , )
文件数目 = 文件数目 + 1
标签3.标题 = 到文本 (文件数目)
文件名 = 寻找文件 (, )
.判断循环尾 ()
.判断循环尾 ()

调用枚举文件

1、直接函数调用
枚举文件(编辑框1.内容)
2、如果多线程启动,这里传递的参数是文本,需要采用精易模块里的启动线程文本传参:
线程_启动_文本型 (到整数 (&枚举文件), , , 编辑框1.内容, , , , , , , , , )
3、或者采用
线程_启动多参_文本型 (&枚举文件, , 编辑框1.内容, , , , )


发布日期:

所属分类: 易语言 标签: