精易论坛

标题: 对精易模块 文件_枚举 重复枚举情况的改善 [打印本页]

作者: Suky    时间: 2022-9-21 01:15
标题: 对精易模块 文件_枚举 重复枚举情况的改善
本帖最后由 Suky 于 2022-9-21 01:21 编辑
  
子程序名返回值类型公开备 注
文件_枚举整数型 枚举某个目录下的指定类型文件;成功返回文件数量;
参数名类 型参考可空数组备 注
欲寻找的目录文本型文件目录
欲寻找的文件名文本型如果寻找全部文件可以填入*.*,或*.txt只找txt文件, 多个后缀中间用“|”隔开
文件数组文本型用于装载文件数组的变量;把寻找到的文件都放在这个数组里,并返回;
是否带路径逻辑型默认为假; 真=带目录路径,如C:\012.txt; 假=不带,如 012.txt;
是否按字母排序逻辑型默认为假;真=按字母a-z排序  假=不排序
是否遍历子目录逻辑型留空默认为假;为真时文件数组不主动清空
变量名类 型静态数组备 注
局_文件名文本型 
局_目录文本型 
局_后缀数组文本型0
局_后缀总数整数型 
局_计次整数型 
如果真 (是否遍历子目录 = )
清除数组 (文件数组)
局_目录 = 欲寻找的目录
如果真 (取文本右边 (局_目录, 1)“\”)
局_目录 = 局_目录 + “\”
局_后缀数组 = 分割文本 (欲寻找的文件名, “|”, )
局_后缀总数 = 取数组成员数 (局_后缀数组)
' Suky 2022年9月21日 添加↓↓=====================
计次循环首 (局_后缀总数, 局_计次)
局_文件名 = 文本_取右边 (局_后缀数组 [局_计次], “.”, , )
局_后缀数组 [局_计次]子文本替换 (局_后缀数组 [局_计次], 局_文件名, 到小写 (局_文件名), , , )
计次循环尾 ()
局_后缀总数 = 数组_去重复 (局_后缀数组, )
' 局_后缀总数 = 取数组成员数 (局_后缀数组)
' ================================================
计次循环首 (局_后缀总数, 局_计次)
局_文件名 = 寻找文件 (局_目录 + 局_后缀数组 [局_计次], )
判断循环首 (局_文件名 ≠ “”)
如果真 (是否带路径)
局_文件名 = 局_目录 + 局_文件名
加入成员 (文件数组, 局_文件名)
系统_处理事件1 ()
局_文件名 = 寻找文件 (, )
判断循环尾 ()
计次循环尾 ()
如果真 (是否按字母排序)
数组_排序 (文件数组, 0, )
如果真 (是否遍历子目录)
局_文件名 = 寻找文件 (局_目录 + “*.*”, #子目录 )
判断循环首 (局_文件名 ≠ “”)
如果真 (局_文件名 ≠ “.” 局_文件名 ≠ “..”)
文件_枚举 (局_目录 + 局_文件名, 欲寻找的文件名, 文件数组, 是否带路径, 是否按字母排序, 是否遍历子目录)
系统_处理事件1 ()
局_文件名 = 寻找文件 (, #子目录 )
判断循环尾 ()
返回 (取数组成员数 (文件数组))



修改原因:
文件_枚举
https://125.confly.eu.org/forum.php?mod=viewthread&tid=14747034
(出处: 精易论坛)



作者: wuqingg    时间: 2022-9-21 08:42
早................
作者: Suky    时间: 2022-9-21 08:52
wuqingg 发表于 2022-9-21 08:42
早................


作者: 李泽勇2    时间: 2022-9-21 09:02
本帖最后由 李泽勇2 于 2022-9-21 09:29 编辑

你好,我用的精易模块里面的枚举,怎么没有出现重复结果 呢?请帮忙看看有没有问题:
  
子程序名返回值类型公开备 注
文件_枚举整数型 枚举某个目录下的指定类型文件;成功返回文件数量
参数名类 型参考可空数组备 注
欲寻找的目录文本型文件目录
欲寻找的文件名文本型如果寻找全部文件可以填入{“*.*”},或{“*.txt”}只找txt文件,过滤多个扩展名的用 分割文本() 例如:分割文本 (“*.txt|*.rar”, “|”, )
文件数组文本型用于装载文件数组的变量;把寻找到的文件都放在这个数组里,并返回;
是否带路径逻辑型默认为假; 真=带目录路径,如C:\012.txt; 假=不带,如 012.txt;
是否按字母排序逻辑型默认为假;真=按字母a-z排序  假=不排序
是否遍历子目录逻辑型留空默认为假;为真时文件数组不主动清空
变量名类 型静态数组备 注
局_文件名文本型 
局_目录文本型 
局_计次整数型 
如果真 (是否遍历子目录 = )
清除数组 (文件数组)
局_目录 = 欲寻找的目录
如果真 (取文本右边 (局_目录, 1)“\”)
局_目录 = 局_目录 + “\”
计次循环首 (取数组成员数 (欲寻找的文件名), 局_计次)
局_文件名 = 寻找文件 (局_目录 + 欲寻找的文件名 [局_计次], )
判断循环首 (局_文件名 ≠ “”)
如果真 (是否带路径)
局_文件名 = 局_目录 + 局_文件名
加入成员 (文件数组, 局_文件名)
系统_处理事件1 ()
局_文件名 = 寻找文件 (, )
判断循环尾 ()
计次循环尾 ()
如果真 (是否按字母排序)
数组_排序 (文件数组, 0, )
如果真 (是否遍历子目录)
局_文件名 = 寻找文件 (局_目录 + “*.*”, #子目录 )
判断循环首 (局_文件名 ≠ “”)
如果真 (局_文件名 ≠ “.” 局_文件名 ≠ “..”)
文件_枚举 (局_目录 + 局_文件名, 欲寻找的文件名, 文件数组, 是否带路径, 是否按字母排序, 是否遍历子目录)
系统_处理事件1 ()
局_文件名 = 寻找文件 (, #子目录 )
判断循环尾 ()
返回 (取数组成员数 (文件数组))


作者: 胖虎O    时间: 2022-9-21 10:06
看一下感谢
作者: Suky    时间: 2022-9-21 10:52
本帖最后由 Suky 于 2022-9-21 11:00 编辑
李泽勇2 发表于 2022-9-21 09:02
你好,我用的精易模块里面的枚举,怎么没有出现重复结果 呢?请帮忙看看有没有问题:
[e=0].版本 2


你这代码不对劲啊
欲寻找的文件名……文本型    勾选了数组?????
你这是哪个版本的?看注释跟10.3.5一样,看结构又不一样



作者: sinewtec    时间: 2022-9-21 13:54
支持开源!@!!!!!!!!!!
作者: 李泽勇2    时间: 2022-9-21 22:04
本帖最后由 李泽勇2 于 2022-9-21 22:07 编辑
Suky 发表于 2022-9-21 10:52
你这代码不对劲啊
欲寻找的文件名……文本型    勾选了数组?????
你这是哪个版本的?看注 ...

你好!我自己搞播放器时候修改的。所以有点不一样,我就为了方便枚举指定扩展名的文件。我看着好像没问题,但效率不高。我这样用法:



作者: 杨明煜    时间: 2022-9-22 07:51
值得学习,谢谢呀!..........
作者: 李泽勇2    时间: 2022-9-22 08:14
Suky 发表于 2022-9-21 10:52
你这代码不对劲啊
欲寻找的文件名……文本型    勾选了数组?????
你这是哪个版本的?看注 ...

没问题就行,谢谢!
作者: li5076    时间: 2022-10-24 19:17
888888888888888
作者: 隐退Cc    时间: 2022-10-25 22:51
谢谢。我研究一下吧
作者: jun666666    时间: 2023-1-21 16:18
值得学习,谢谢呀!..........
作者: 我非平凡    时间: 2023-1-23 11:02
对精易模块 文件_枚举 重复枚举情况的改善
作者: 恋尘    时间: 2024-6-12 02:43

支持开源!@!!!!!!!!!!
作者: linhuo    时间: 2025-6-26 09:41
支持开源!@!!!!!!!!!!




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4