精易论坛

标题: 精易模块优化 [打印本页]

作者: 墨影0620    时间: 2019-9-12 17:08
标题: 精易模块优化
以下源码调用了精易模块,增加了返回空文本已标志遍历结束。
  
子程序名返回值类型公开备 注
文件_枚举1_优化 如提供搜索目录路径,将会搜索此目录所有在内的文件。(全部检索完毕后第三个参数会传递两个空文本表示结束!)
参数名类 型参考可空数组备 注
目录文本型目录,如“D:\”盘,目录不以\结尾会自动添加
拓展名文本型“*.exe”
装载函数子程序指针二个参数,1=目录【文本型】;2=文件名【文本型】(全部检索完毕后会返回空文本表示结束!)
变量名类 型静态数组备 注
文本文本型 
文件夹文本型 
局_目录文本型 
返回空逻辑型 
局_目录 = 目录
如果真 (取文本右边 (目录, 1)“\”)
局_目录 = 目录 + “\”
文本 = 寻找文件 (局_目录 + 拓展名, )
判断循环首 (文本 ≠ “”)
程序_Call (到整数 (装载函数), lstrcpyn_文本型 (局_目录, 局_目录, 0), lstrcpyn_文本型 (文本, 文本, 0))
文本 = 寻找文件 (, )
判断循环尾 ()
文本 = 寻找文件 (局_目录 + “*.*”, #子目录 )
判断循环首 (文本 ≠ “”)
如果真 (取文本左边 (文本, 1)“.”)
文本 = 局_目录 + 文本
文件_枚举1_优化 (文本, 拓展名, 装载函数)
文本 = 寻找文件 (, #子目录 )
系统_处理事件1 ()
判断循环尾 ()
如果真 (文本 = “” 返回空 = )
程序_Call (到整数 (装载函数), lstrcpyn_文本型 (“”, “”, 0), lstrcpyn_文本型 (“”, “”, 0))
返回空 = 真



补充内容 (2019-10-3 23:16):
更好的代码在置顶帖中
作者: 灵海雪缘    时间: 2019-9-12 17:57
不错不错!
作者: 汉族    时间: 2019-9-12 19:06
速度 还有些慢因为分开执行 子目录的 要同时执行 只需要判断 文件类型=子目录 即可
作者: 汉族    时间: 2019-9-12 19:08
  
子程序名返回值类型公开备 注
枚举目录文件回调  
参数名类 型参考可空数组备 注
文件目录文本型必须加\结尾
回调子程序指针直接回调显示文本
变量名类 型静态数组备 注
目录名文本型 
完整路径文本型 
i整数型 
目录名 = 寻找文件 (文件目录 + “*.*”, #只读文件#隐藏文件#系统文件#子目录#存档文件 )
判断循环首 (目录名 ≠ “”)
如果真 (目录名 ≠ “.” 目录名 ≠ “..”)
完整路径 = 文件目录 + 目录名
如果 (GetFileAttributes (完整路径) = 16)  ' //为文件夹  取文件类型()   一样的
枚举目录文件回调 (完整路径 + “\”)  ' //递归
调用子程序 (回调, , , 完整路径)
调试输出 (完整路径)

目录名 = 寻找文件 (, #只读文件#隐藏文件#系统文件#子目录#存档文件 )
判断循环尾 ()

作者: 我是个帅哥    时间: 2019-9-12 21:57
谢谢分享
作者: 外星星人    时间: 2019-9-13 13:20
不错不错!
作者: aufhur    时间: 2019-9-13 21:22
谢谢分享!不错不错……
作者: shituo    时间: 2019-9-16 22:17
发错了地方 发到 精易产品中心才对
作者: sfqosk    时间: 2019-9-17 12:25
谢谢分享 下载备用
作者: 墨影0620    时间: 2019-10-3 22:04
汉族 发表于 2019-9-12 19:08
[e=1].版本 2

.子程序 枚举目录文件回调

回调那里貌似少了一个参数
作者: 墨影0620    时间: 2019-10-3 23:11
以下代码源自于@汉族 ,经过一丢丢优化。
至于如何选择制定后缀的问题暂未解决。

先用 文件_取扩展名 凑合一下吧(源自精易模块)

  
子程序名返回值类型公开备 注
文件_枚举3 取自精易模块,由汉族优化。返回执行完毕后枚举出的文件数量
参数名类 型参考可空数组备 注
文件目录文本型如果末尾没有“\”会自动添加你
回调子程序指针直接回调显示文本,被调用的子程序应有一个文本型参数
变量名类 型静态数组备 注
目录名文本型 
完整路径文本型 
i整数型 
计次整数型 
标记点整数型 
文件目录 = 选择 (取文本右边 (文件目录, 1)“\”, 文件目录 + “\”, 文件目录)
目录名 = 寻找文件 (文件目录 + “*.*”, #只读文件#隐藏文件#系统文件#子目录#存档文件 )
判断循环首 (目录名 ≠ “”)
如果真 (目录名 ≠ “.” 目录名 ≠ “..”)
完整路径 = 文件目录 + 目录名
判断 (GetFileAttributes (完整路径) = 16)  ' //为文件夹  取文件类型()   一样的
文件_枚举3 (完整路径, 回调)  ' //递归
调用子程序 (回调, , , 完整路径)
' 调试输出 (完整路径)
目录名 = 寻找文件 (, #只读文件#隐藏文件#系统文件#子目录#存档文件 )
判断循环尾 ()


i支持库列表   支持库注释   
spec特殊功能支持库


作者: 墨影0620    时间: 2019-10-3 23:12
以下代码源自于@汉族 ,经过一丢丢优化。
至于如何选择制定后缀的问题暂未解决。
先用 文件_取扩展名 凑合一下吧(源自精易模块)
  
子程序名返回值类型公开备 注
文件_枚举3 取自精易模块,由汉族优化。返回执行完毕后枚举出的文件数量
参数名类 型参考可空数组备 注
文件目录文本型如果末尾没有“\”会自动添加你
回调子程序指针直接回调显示文本,被调用的子程序应有一个文本型参数
变量名类 型静态数组备 注
目录名文本型 
完整路径文本型 
i整数型 
计次整数型 
标记点整数型 
文件目录 = 选择 (取文本右边 (文件目录, 1)“\”, 文件目录 + “\”, 文件目录)
目录名 = 寻找文件 (文件目录 + “*.*”, #只读文件#隐藏文件#系统文件#子目录#存档文件 )
判断循环首 (目录名 ≠ “”)
如果真 (目录名 ≠ “.” 目录名 ≠ “..”)
完整路径 = 文件目录 + 目录名
判断 (GetFileAttributes (完整路径) = 16)  ' //为文件夹  取文件类型()   一样的
文件_枚举3 (完整路径, 回调)  ' //递归
调用子程序 (回调, , , 完整路径)
' 调试输出 (完整路径)
目录名 = 寻找文件 (, #只读文件#隐藏文件#系统文件#子目录#存档文件 )
判断循环尾 ()


i支持库列表   支持库注释   
spec特殊功能支持库



作者: 墨影0620    时间: 2019-10-3 23:14
墨影0620 发表于 2019-10-3 22:04
回调那里貌似少了一个参数

@汉族 问题是调用子程序子程序指针那里既不是全局变量也不是静态变量,不能直接扔掉的吧。。。
作者: 墨影0620    时间: 2019-10-4 18:50
汉族 发表于 2019-9-12 19:06
速度 还有些慢因为分开执行 子目录的 要同时执行 只需要判断 文件类型=子目录 即可

关于筛选后缀的问题。。。

作者: 墨影0620    时间: 2019-10-4 19:51
墨影0620 发表于 2019-10-4 18:50
关于筛选后缀的问题。。。

我试过了,那样只搜索第一个文件夹。子文件夹就不行了@汉族




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