Loading... 这节课我们正式开始学习我们的代码的编写。 首先首要完成的就是我们的核心功能——遍历功能。 在这里,你将学会如何遍历文件(易语言基础),以及如何使用回调函数,如何进行递归调用等。极其详细的解说,非常值得新手朋友们学习入手! --- **遍历封装** 学习查找文件的技巧。 首先,我们明确一点,我们是可以把该遍历功能封装起来的。封装之后,我们就可以直接带走使用了。 所以,我们需要写一个子程序,我把它的名字叫做:遍历文件。 它需要以下几个参数: **查找的目录:** 文本型,程序内部会自动给目录结尾加上 `\` **后缀名:** 文本型,可空,如果为空,则默认为“`*`”,即所有后缀文件。 **是否遍历子目录:** 逻辑型,可空,默认为否,即不遍历子目录。 **回调函数:** 子程序指针,可空,指定一个外部的子程序可以在每次找出一个文件的时候运行,该函数的第一个参数为查找到的文件名,第二个参数为文件的完整路径。 然后,我们开始写我们后面的代码。 首先我们要介绍用到的核心命令: 寻找文件:这是一个易语言自带的命令,用来寻找文件的,每次只能返回一个找到的结果,第一次调用的时候设置要查找的文件的路径或者目录的路径在哪儿,以及要查找的文件的属性1、#只读文件; 2、#隐藏文件; 4、#系统文件; 16、#子目录; 32、#存档文件 。如果想接着这次查找的条件继续查找,则第二次调用的时候,路径参数就留空。如果不为空,视为一次全新的查找。只要它的返回值不为空,则可以一直查找下去,如果返回值为空,说明可以找到的都已经罗列出来了,即停止就好。因此该命令通常与判断循环首结合使用。 另外,我们需要将查找文件和查找目录分开来查找。所以我们先来完成查找文件的部分。 查找文件即在第一个参数传入的时候就传入文件名,查找的时候第二个参数不要选择#子目录。 每查找到一个文件,就调用一次我们的回调函数给外部做一些操作,比如加入编辑框,加入超级列表框等。要使用回调函数,就使用命令:**调用子程序** ,这个命令就可以调用我们的回调函数啦。 当前目录(根目录下)的所有文件都找齐之后,我们再考虑是否要去查找子目录中存在的文件。所以我们要判断一下 **是否遍历子目录** 这个参数是否为真,如果为真的话,我们往下做如下的操作: 这一次还是用寻找文件的命令,请注意如果需要查找子目录的话第一个参数的文件名需要给予 `*.*`,第二个参数只选择 #子目录。这样就不包含文件啦。 我们测试一下查找文件目录,结果中会发现有两个特殊的子目录,`.` 与 `..`。一个点表示当前目录,两个点表示上一级目录。他们是我们不需要的子目录,需要在后面的时候排除他们。 然后内部我们使用递归函数调用遍历文件函数即可。这是整个子程序的精髓,可以递归往下找目录下的下一个目录。由于该递归可能有很多层,我们需要增加一个 **处理事件** 命令让 CPU 跑其他的内容。 出来之后再找下一个子目录即可。 --- **课后作业** **课后作业:** 请大家,根据视频所学,完成遍历子程序的封装吧! --- **请务必完成作业之后再看下一课!** 下节课我们将开始将遍历功能应用于我们的软件。 以下是我们的视频教程: **在线观看:** http://v.youku.com/v_show/id_XMjgxODY4MTQ5Mg==.html **高清源文件下载:** <div class="hideContent">该部分仅登录用户可见</div> 感谢大家的收看,我们下期再见! 最后修改:2021 年 08 月 09 日 © 允许规范转载 赞 赠人玫瑰,手留余香