易语言非递归算法遍历目录的代码示例

非递归算法遍历目录

.版本 2
.支持库 shell
.支持库 EDataStructure
.支持库 iext
.程序集 窗口程序集1
.子程序 _按钮_浏览_被单击
编辑框_目录.内容 = 浏览文件夹 (“选择目录:”, 假)
.子程序 枚举文件
.参数 目录, 文本型
.局部变量 队列, 队列
.局部变量 节点, 节点
.局部变量 节点1, 节点
.局部变量 路径, 文本型
.局部变量 文件夹名称, 文本型
.局部变量 文件名, 文本型
.局部变量 文件数目, 整数型
节点.加入属性 (“path”, 目录)
' 把初始目录加到队列
队列.压入 (节点)
.判断循环首 (队列.是否为空 () = 假)
  ' 弹出队列最前一个元素作为目录,对该目录进行文件夹枚举和文件枚举
  队列.弹出 (节点1)
  节点1.取文本值 (“path”, 路径)
  路径 = 选择 (取文本右边 (路径, 1) ≠ “\”, 路径 + “\”, 路径)
  文件夹名称 = 寻找文件 (路径 + “*.*”, #子目录)
  .判断循环首 (文件夹名称 ≠ “”)
    .如果真 (文件夹名称 ≠ “.” 且 文件夹名称 ≠ “..”)
      ' 如果在当前目录下找到了文件夹,则把该文件夹压入到队列,等待扫描该文件夹的下一级目录和文件名
      节点.修改属性 (“path”, 路径 + 文件夹名称)
      队列.压入 (节点)
    .如果真结束
    文件夹名称 = 寻找文件 (, #子目录)
  .判断循环尾 ()
  处理事件 ()
  ' 寻找当前目录的所有文件
  文件名 = 寻找文件 (路径 + “*.*”, )
  .判断循环首 (文件名 ≠ “”)
    超级列表框1.插入表项 (, 路径 + 文件名, , , , )
    文件数目 = 文件数目 + 1
    标签3.标题 = 到文本 (文件数目)
    文件名 = 寻找文件 (, )
  .判断循环尾 ()
.判断循环尾 ()
.子程序 _按钮_枚举_被单击
超级列表框1.全部删除 ()
枚举文件 (编辑框_目录.内容)
信息框 (“完毕!”, 0, )

运行结果:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接

(0)

相关推荐

  • 易语言调用接口查看QQ各项资料的代码

    DLL命令表 .版本 2 .DLL命令 ShellExecuteA, 整数型, "shell32.dll", "ShellExecuteA", , 查找与指定文件关联在一起的程序的文件名,并执行相关操作,成功则返一个大于31的值. .参数 hwnd, 整数型, , 用来指定被执行文件显示的窗口所属的父窗口句柄,可以为NULL .参数 lpOperation, 文本型, , 指向一个表示执行方式的字符串 .参数 lpFile, 文本型, , 用来指定文件名,文件名既可

  • 易语言高精度完美延时的源码

    DLL命令表 .版本 2 .DLL命令 QueryPerformanceCounter, 整数型, "kernel32", "QueryPerformanceCounter", , 获取计数值 .参数 lpPerformanceCount, LARGE_INTEGER .DLL命令 QueryPerformanceFrequency, 整数型, "kernel32", "QueryPerformanceFrequency",

  • 易语言赋值定义多维数组的代码实例

    赋值定义多维数组示例 .版本 2 .程序集 窗口程序集1 .子程序 _按钮_显示_被单击 .局部变量 a, 整数型, , "0" .局部变量 c, 整数型, , "1,2" .局部变量 b, 整数型 a = { 1, 12, 2, 22, 3, 32, 4, 42 } .变量循环首 (1, 取整 (取数组成员数 (a) ÷ 2), 1, b) 重定义数组 (c, 真, b, 2) c [b] [1] = a [b × 2 - 1] 编辑框_显示.加入文本 (&quo

  • 易语言枚举所有子窗口讲解

    在易语言开发中,有时想直接从一个窗口中拿取 窗口下所有控件的信息,可以用window知道的api入手,但是精益模块有带有这个功能哦. 窗口_枚举所有子窗口() 三个参数: 一.欲寻找控件的窗口句柄 二.查询出来的所有子窗口句柄数组 三.查询的控件类名 对于前两个参数,相信大家都知道,第一个就是 窗口的句柄,第二个就是 句柄的数组(这个是返回的数组)  . 至于第三个参数,楼主和大家一样,第一眼看到有点迷茫,不知道从何下手,比如编辑框控件的类名是什么?标签控件的类名是什么?这里有个好方法,让大家知

  • 易语言获取程序已运行时间的代码

    获取程序已运行时间 .版本 2 .支持库 iext .程序集 窗口程序集1 .子程序 _时钟1_周期事件 .局部变量 hr, 整数型, 静态 .局部变量 min, 整数型, 静态 .局部变量 sec, 整数型, 静态 sec = sec + 1 .如果真 (sec = 60) sec = 0 min = min + 1 .如果真结束 .如果真 (min = 60) min = 0 hr = hr + 1 .如果真结束 状态条1.置文本 (0, "已运行:" + 取文本右边 ("

  • 易语言设置窗口透明化的代码

    窗口透明源码 运行结果: 总结 以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持.如果你想了解更多相关内容请查看下面相关链接

  • 易语言打开与关闭输入法的代码示例

    DLL命令表 .版本 2 .DLL命令 GetKeyboardLayoutList, 整数型, , "GetKeyboardLayoutList" .参数 nBuff, 整数型 .参数 lplist, 整数型, 数组 .DLL命令 ActivateKeyboardLayout, 整数型, , "ActivateKeyboardLayout" .参数 HKL, 整数型 .参数 flags, 整数型 打开与关闭输入法 .版本 2 .程序集 窗口程序集1 .程序集变量 键

  • 易语言制作英雄联盟辅助的源码

    LOL辅助 此功能需要加载超级模块7.3 .版本 2 .程序集 窗口程序集_启动窗口 .程序集变量 pid, 整数型 .子程序 __启动窗口_创建完毕 pid = 取进程ID ("League of Legends.exe") 监视热键 (&开启无限视距, #F5键) 监视热键 (&关闭无限视距, #F6键) 监视热键 (&开启普攻范围, #F2键) 监视热键 (&关闭普攻范围, #F1键) 监视热键 (&开启炮塔范围, #F4键) 监视热键 (

  • 易语言送你999朵玫瑰花源码

    送你999朵玫瑰花 .版本 2 .程序集 窗口程序集1 .子程序 __启动窗口_创建完毕 .局部变量 屏幕快照, 字节集 屏幕快照 = 快照 (, , ) _启动窗口.可视 = 真 _启动窗口.位置 = 3 画板1.移动 (0, 0, 取屏幕宽度 (), 取屏幕高度 ()) 画板1.底图 = 屏幕快照 置随机数种子 () 播放音乐 (#声音1, 真) 等待 (500) 献花 () .子程序 献花 .局部变量 a, 整数型 .局部变量 b, 整数型 .局部变量 c, 整数型 .局部变量 d, 整数

  • 易语言刷屏工具瞬间99+的代码

    刷屏工具 延时设置为1,信息瞬间99+ .版本 2 .支持库 eAPI .程序集 窗口程序集1 .子程序 _开始按钮_被单击 .判断循环首 (编辑框_内容.内容 ≠ "" 且 编辑框_延时.内容 ≠ "") 置剪辑板文本 (编辑框_内容.内容) 模拟按键 (#Ctrl键, #V键, ) 模拟按键 (#回车键, , ) 延时 (到整数 (编辑框_延时.内容)) .判断循环尾 () .子程序 _退出按钮_被单击 销毁 () 运行结果: 总结 以上就是这篇文章的全部内容了

随机推荐