带你玩转超级列表框 30 文件遍历器之遍历封装

  • A+

加入VIP,可以享受无广告视频播放!更可享受教程提前看!详情猛戳:VIP介绍

这节课我们正式开始学习我们的代码的编写。

首先首要完成的就是我们的核心功能——遍历功能。

在这里,你将学会如何遍历文件(易语言基础),以及如何使用回调函数,如何进行递归调用等。极其详细的解说,非常值得新手朋友们学习入手!


遍历封装

学习查找文件的技巧。

首先,我们明确一点,我们是可以把该遍历功能封装起来的。封装之后,我们就可以直接带走使用了。

所以,我们需要写一个子程序,我把它的名字叫做:遍历文件。

它需要以下几个参数:

查找的目录:文本型,程序内部会自动给目录结尾加上“\”。

后缀名:文本型,可空,如果为空,则默认为“*”,即所有后缀文件。

是否遍历子目录:逻辑型,可空,默认为否,即不遍历子目录。

回调函数:子程序指针,可空,指定一个外部的子程序可以在每次找出一个文件的时候运行,该函数的第一个参数为查找到的文件名,第二个参数为文件的完整路径。

然后,我们开始写我们后面的代码。

首先我们要介绍用到的核心命令:

寻找文件:这是一个易语言自带的命令,用来寻找文件的,每次只能返回一个找到的结果,第一次调用的时候设置要查找的文件的路径或者目录的路径在哪儿,以及要查找的文件的属性1、#只读文件; 2、#隐藏文件; 4、#系统文件; 16、#子目录; 32、#存档文件 。如果想接着这次查找的条件继续查找,则第二次调用的时候,路径参数就留空。如果不为空,视为一次全新的查找。只要它的返回值不为空,则可以一直查找下去,如果返回值为空,说明可以找到的都已经罗列出来了,即停止就好。因此该命令通常与判断循环首结合使用。

另外,我们需要将查找文件和查找目录分开来查找。所以我们先来完成查找文件的部分。

查找文件即在第一个参数传入的时候就传入文件名,查找的时候第二个参数不要选择#子目录。

每查找到一个文件,就调用一次我们的回调函数给外部做一些操作,比如加入编辑框,加入超级列表框等。要使用回调函数,就使用命令:调用子程序,这个命令就可以调用我们的回调函数啦。

当前目录(根目录下)的所有文件都找齐之后,我们再考虑是否要去查找子目录中存在的文件。所以我们要判断一下是否遍历子目录这个参数是否为真,如果为真的话,我们往下做如下的操作:

这一次还是用寻找文件的命令,请注意如果需要查找子目录的话第一个参数的文件名需要给予*.*,第二个参数只选择#子目录。这样就不包含文件啦。

我们测试一下查找文件目录,结果中会发现有两个特殊的子目录,...。一个点表示当前目录,两个点表示上一级目录。他们是我们不需要的子目录,需要在后面的时候排除他们。

然后内部我们使用递归函数调用遍历文件函数即可。这是整个子程序的精髓,可以递归往下找目录下的下一个目录。由于该递归可能有很多层,我们需要增加一个处理事件命令让CPU跑其他的内容。

出来之后再找下一个子目录即可。


课后作业

课后作业:

请大家,根据视频所学,完成遍历子程序的封装吧!


请务必完成作业之后再看下一课!

下节课我们将开始将遍历功能应用于我们的软件。

 

 

 

以下是我们的视频教程:

在线观看:

 

 

高清源文件下载:

内容已经隐藏,请注册为本站会员后查看

 

 

 

感谢大家的收看,我们下期再见!