精易论坛

标题: 简单但实用,希望加到精易模块,目录保留几层,去掉几层 [打印本页]

作者: airaz    时间: 2024-6-24 16:02
标题: 简单但实用,希望加到精易模块,目录保留几层,去掉几层
本帖最后由 airaz 于 2024-6-24 16:59 编辑

重新上传了 取上层目录.e (954.27 KB, 下载次数: 13)
为精易添砖加瓦



作者: b0y    时间: 2024-6-24 16:05
有个api好像也可以  忘了
作者: airaz    时间: 2024-6-24 16:07
b0y 发表于 2024-6-24 16:05
有个api好像也可以  忘了

我不管,模块里没有
作者: 笨来无一悟    时间: 2024-6-24 16:39
我之前捣鼓了一个比精易模块更简洁的写法 但是存在一个问题 如果传入的目录本身就已经是根目录了 就会返回 C: D:这样的模块需要考虑用户有没有什么不正确的调用方式 不做防呆设计有可能因为用户乱用导致出错 一做防呆设计速度又慢了
作者: airaz    时间: 2024-6-24 16:46
笨来无一悟 发表于 2024-6-24 16:39
我之前捣鼓了一个比精易模块更简洁的写法 但是存在一个问题 如果传入的目录本身就已经是根目录了 就会返回  ...

好吧在加个判断吧
作者: 笨来无一悟    时间: 2024-6-24 16:58
本帖最后由 笨来无一悟 于 2024-6-24 17:01 编辑

加了防呆设计 牺牲性能换取稳定
  
子程序名返回值类型公开备 注
目录_保留几层目录文本型 wndh8.com
参数名类 型参考可空数组备 注
完整目录文本型
保留层数整数型
变量名类 型静态数组备 注
计次整数型 
分割文本型0
返回文本型 
分割 = 分割文本 (完整目录, “\”, )
如果真 (取数组成员数 (分割) ≤ 保留层数)
返回 (完整目录)
计次循环首 (取数组成员数 (分割), 计次)
返回 = 返回 + 分割 [计次]“\”
如果真 (计次 = 保留层数)
跳出循环 ()

计次循环尾 ()
返回 (返回)

作者: 笨来无一悟    时间: 2024-6-24 17:07
这样就不怕用户乱搞了
  
子程序名返回值类型公开备 注
目录_取上层目录文本型 樊高科技
参数名类 型参考可空数组备 注
完整目录文本型
减去层数整数型
变量名类 型静态数组备 注
计次整数型 
分割文本型0
返回文本型 
分割 = 分割文本 (完整目录, “\”, )
如果真 (取数组成员数 (分割) - 减去层数 < 1)
返回 (分割 [1]“\”)
计次循环首 (取数组成员数 (分割) - 减去层数, 计次)
返回 = 返回 + 分割 [计次]“\”
计次循环尾 ()
返回 (返回)


作者: jtucar    时间: 2024-6-24 18:11
支持开源~!感谢分享
作者: Suky    时间: 2024-6-24 19:18
b0y 发表于 2024-6-24 16:05
有个api好像也可以  忘了

忘记的不算数
作者: 福仔    时间: 2024-6-24 19:27
提供一个提高效率的方法
使用查找文本, 保留n层就找n次, 最后一个找到的就是层数, 然后取文本左边, 效率比你这个要快很多
作者: 笨来无一悟    时间: 2024-6-24 19:36
b0y 发表于 2024-6-24 16:05
有个api好像也可以  忘了

精易模块里面有不过看介绍 是取文件的上层

文件 上层 目录.png (60.4 KB, 下载次数: 2)

文件 上层 目录.png

作者: 笨来无一悟    时间: 2024-6-24 19:53
调用系统API 提速4倍
  
子程序名返回值类型公开备 注
上层目录文本型 
参数名类 型参考可空数组备 注
完整目录文本型
减去层数整数型
计次循环首 (减去层数, )
如果真 (PathRemoveFileSpec (完整目录) = 0)
跳出循环 ()

计次循环尾 ()
返回 (完整目录)
DLL命令名返回值类型公开备 注
PathRemoveFileSpec整数型 公开, 删除结尾的文件名和反斜杠路径,如果有他们。
DLL库文件名:
Shlwapi.dll
在DLL库中对应命令名:
PathRemoveFileSpecA
参数名类 型传址数组备 注
pszPath文本型



作者: airaz    时间: 2024-6-24 20:55
福仔 发表于 2024-6-24 19:27
提供一个提高效率的方法
使用查找文本, 保留n层就找n次, 最后一个找到的就是层数, 然后取文本左边, 效率比 ...

查什么文本? “\“  ?
作者: b0y    时间: 2024-6-24 21:29
笨来无一悟 发表于 2024-6-24 19:36
精易模块里面有不过看介绍 是取文件的上层

不是这个 这个是去除最后的文件/目录名称
作者: 夏亿    时间: 2024-6-24 21:58
感谢分享,很给力!~
作者: ZHuanR    时间: 2024-6-24 22:04
新技能已get√
作者: 艾玛克138    时间: 2024-6-24 22:40
老大出品,必属精品
作者: yxl2008    时间: 2024-6-24 22:49
新技能已get√
作者: 查过    时间: 2024-6-25 07:06
感谢您对论坛的支持!
作者: 豆豆灰常开心    时间: 2024-6-25 07:11
感谢楼主分享!
作者: impkq    时间: 2024-6-25 07:49
感谢楼主分享!
作者: year1970    时间: 2024-6-25 07:59
感谢分享
作者: 396384183    时间: 2024-6-25 08:31

论坛有你更精彩
作者: wh1234567    时间: 2024-6-25 09:21
路过看看,电脑启动项如何获取到并删除掉不想让启动的程序?
作者: bianyuan456    时间: 2024-6-25 10:09
已经顶贴,感谢您对论坛的支持!
作者: 刘一手    时间: 2024-6-25 10:10
感谢楼主分享!

作者: qq977352880    时间: 2024-6-25 10:30
作者用心了,感谢你的付出。

作者: renhe2018    时间: 2024-6-25 11:10
学习一下
作者: 小虎来了    时间: 2024-6-25 14:05
        感谢分享,很给力!~
作者: kyo9766    时间: 2024-6-25 14:21
很实用,感谢分享
作者: shaoxing0117    时间: 2024-6-25 20:22
感谢分享,很给力!~
作者: please    时间: 2024-6-27 09:39
感谢分享,支持开源!!!
作者: qq977352880    时间: 2024-6-27 16:30
图文并茂,学习起来更容易。

作者: kmd24lmk    时间: 2024-6-27 18:23
感谢您对论坛的支持!

作者: kmd24lmk    时间: 2024-6-27 18:23
67666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666
作者: qq977352880    时间: 2024-6-27 20:30
学习了,希望自己的技术能更上一层楼。

作者: 我的yyy123    时间: 2024-6-29 11:59
学习学习谢谢分享
作者: 南鸾离梦    时间: 2024-7-5 19:43
66666666666666666666666666666666
作者: ljx111    时间: 2024-7-5 19:46
感谢分享
作者: qinwyin    时间: 2024-7-23 17:44
创意无限...
作者: kkt123    时间: 2024-7-27 09:22
支持开源~!感谢分享
作者: futiem    时间: 2024-8-6 20:21
希望加到精易模块,目录保留几层,去掉几层




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