515424@qq.com 发表于 2020-4-21 12:10:58

想自己封装一个寻找所有文件名的子程序

想问下这个数组怎么返回呢,“返回()”这个命令提示不能将通用型数据转换到文本型数组。我该怎么写,谢谢各位师傅

易生情 发表于 2020-4-21 12:20:02

.版本 2

.子程序 文件_枚举, 整数型, 公开, 枚举某个目录下的指定类型文件;成功返回文件数量;
.参数 欲寻找的目录, 文本型, , 文件目录
.参数 欲寻找的文件名, 文本型, , 如果寻找全部文件可以填入*.*,或*.txt只找txt文件
.参数 文件数组, 文本型, 参考 可空 数组, 用于装载文件数组的变量;把寻找到的文件都放在这个数组里,并返回;
.参数 是否带路径, 逻辑型, 可空, 默认为假; 真=带目录路径,如C:\012.txt; 假=不带,如 012.txt;
.参数 是否按字母排序, 逻辑型, 可空, 默认为假;真=按字母a-z排序假=不排序
.参数 是否遍历子目录, 逻辑型, 可空, 留空默认为假;为真时文件数组不主动清空
.局部变量 局_文件名, 文本型
.局部变量 局_目录, 文本型

.如果真 (是否遍历子目录 = 假)
    清除数组 (文件数组)
.如果真结束
局_目录 = 欲寻找的目录
.如果真 (取文本右边 (局_目录, 1) ≠ “\”)
    局_目录 = 局_目录 + “\”
.如果真结束
局_文件名 = 寻找文件 (局_目录 + 欲寻找的文件名, )
.判断循环首 (局_文件名 ≠ “”)
    .如果真 (是否带路径)
      局_文件名 = 局_目录 + 局_文件名
    .如果真结束
    加入成员 (文件数组, 局_文件名)
    系统_处理事件1 ()
    局_文件名 = 寻找文件 (, )
.判断循环尾 ()
.如果真 (是否按字母排序)
    数组_排序 (文件数组, 0, )
.如果真结束
.如果真 (是否遍历子目录)
    局_文件名 = 寻找文件 (局_目录 + “*.*”, #子目录)
    .判断循环首 (局_文件名 ≠ “”)
      .如果真 (局_文件名 ≠ “.” 且 局_文件名 ≠ “..”)
            文件_枚举 (局_目录 + 局_文件名, 欲寻找的文件名, 文件数组, 是否带路径, 是否按字母排序, 是否遍历子目录)
            系统_处理事件1 ()
      .如果真结束
      局_文件名 = 寻找文件 (, #子目录)
    .判断循环尾 ()
.如果真结束
返回 (取数组成员数 (文件数组))

515424@qq.com 发表于 2020-4-21 12:25:49

易生情 发表于 2020-4-21 12:20
.版本 2

.子程序 文件_枚举, 整数型, 公开, 枚举某个目录下的指定类型文件;成功返回文件数量;


:dizzy:我看不懂

Hmingwei 发表于 2020-4-28 10:40:07

百度有

yyz860723 发表于 2021-5-29 00:57:28

楼主发贴辛苦了,谢谢楼主分享!我觉得易语言吧是注册对了!
页: [1]
查看完整版本: 想自己封装一个寻找所有文件名的子程序