免费邀请码更改用户名CRC32解密2.0回帖奖励召回投票记录删除领夜猫子帮助中心 本站已运行
搜索
查看: 379|回复: 6
收起左侧

易语言取路径的上级目录的方法 - 支持本地路径、网络路径、斜杠反斜杠自动处理

[复制链接]
发表于 2018-8-14 20:22:40 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?加入我们

x


  1. * 本地路径测试
  2. * C:\Windows\System32\shell32.dll
  3. * C:\Windows\System32
  4. * C:\Windows
  5. * C:\
  6. * 网络路径测试
  7. * [url]http://127.0.0.1/Windows/System32/shell32.dll[/url]
  8. * [url]http://127.0.0.1/Windows/System32[/url]
  9. * [url]http://127.0.0.1/Windows[/url]
  10. * [url]http://127.0.0.1/[/url]


复制代码

截图.png


  1. .版本 2

  2. .程序集 程序集1

  3. .子程序 _启动子程序, 整数型, , 请在本子程序中放置易模块初始化代码


  4. _临时子程序 ()  ' 在初始化代码执行完毕后调用测试代码
  5. 返回 (0)  ' 可以根据您的需要返回任意数值

  6. .子程序 _临时子程序
  7. .局部变量 目录, 文本型
  8. .局部变量 上级目录, 文本型

  9. 输出调试文本 (“本地路径测试”)
  10. 目录 = “C:\Windows\System32\shell32.dll”
  11. .循环判断首 ()
  12.     上级目录 = 目录
  13.     目录 = 取上级目录 (上级目录)
  14.     输出调试文本 (上级目录)
  15. .循环判断尾 (上级目录 ≠ 目录)
  16. 输出调试文本 (“网络路径测试”)
  17. 目录 = “[url]http://127.0.0.1/Windows/System32/shell32.dll[/url]”
  18. .循环判断首 ()
  19.     上级目录 = 目录
  20.     目录 = 取上级目录 (上级目录)
  21.     输出调试文本 (上级目录)
  22. .循环判断尾 (上级目录 ≠ 目录)






  23. .子程序 取上级目录, 文本型, 公开
  24. .参数 俗处理的目录, 文本型
  25. .局部变量 分割, 文本型, , "0"
  26. .局部变量 计数, 整数型
  27. .局部变量 返回值, 文本型
  28. .局部变量 成员数, 整数型
  29. .局部变量 循环次数, 整数型
  30. .局部变量 网络路径, 逻辑型
  31. .局部变量 分割2, 文本型, , "0"
  32. .局部变量 目录, 文本型

  33. 目录 = 俗处理的目录
  34. 目录 = 子文本替换 (目录, “/”, “\”, , , 真)
  35. 网络路径 = 寻找文本 (目录, “\\”, , 假) ≠ -1
  36. .如果 (网络路径)
  37.     分割2 = 分割文本 (目录, “\\”, )
  38.     .如果真 (取数组成员数 (分割2) ≠ 2)
  39.         返回 (“”)
  40.     .如果真结束

  41. .否则
  42.     .如果真 (取文本右边 (目录, 1) = “:”)
  43.         返回 (目录 + “\”)
  44.     .如果真结束

  45. .如果结束
  46. 分割 = 分割文本 (目录, “\”, )
  47. 成员数 = 取数组成员数 (分割)
  48. .如果真 (成员数 = 1)
  49.     返回 (目录)
  50. .如果真结束
  51. 循环次数 = 成员数 - 1
  52. .计次循环首 (循环次数, 计数)
  53.     .如果 (循环次数 = 计数)
  54.         返回值 = 返回值 + 分割 [计数]
  55.     .否则
  56.         返回值 = 返回值 + 分割 [计数] + “\”
  57.     .如果结束

  58. .计次循环尾 ()
  59. .如果 (网络路径)

  60.     .判断开始 (成员数 = 3)
  61.         返回值 = 返回值 + “\” + 分割2 [2]
  62.         .如果真 (目录 = 返回值 且 取文本右边 (目录, 1) ≠ “\”)
  63.             返回值 = 返回值 + “\”
  64.         .如果真结束

  65.     .判断 (成员数 = 4)
  66.         返回值 = 返回值 + “\”
  67.     .默认

  68.     .判断结束

  69.     返回值 = 子文本替换 (返回值, “\”, “/”, , , 真)
  70. .否则
  71.     .如果真 (取文本右边 (返回值, 1) = “:”)
  72.         返回值 = 返回值 + “\”


  73.     .如果真结束
  74.     返回值 = 子文本替换 (返回值, “/”, “\”, , , 真)

  75. .如果结束

  76. 返回 (返回值)


复制代码

相关帖子

回复

使用道具 举报

腾讯云新春采购节 热门云产品3折起,爆款超值秒杀,新购高额满返,升级享优惠大礼包!
发表于 2018-8-15 07:34:36 | 显示全部楼层
沙发来挤下
回复 支持 反对

使用道具 举报

发表于 2018-8-15 14:33:37 | 显示全部楼层
大神就是大神....
回复 支持 反对

使用道具 举报

发表于 2018-8-15 17:49:17 | 显示全部楼层
看看把正好是我要的
回复 支持 反对

使用道具 举报

发表于 2018-8-18 14:24:08 | 显示全部楼层
看看多简单
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

小黑屋|手机版|Archiver|官方QQ群|从F到0 ( 蒙ICP备17002595号-1 )
蒙公网安备 15010402000325号 腾讯云安全认证

GMT+8, 2019-9-18 06:49, 3.227.233.55 , Processed in 0.717002 second(s), 32 queries .

Powered by Discuz! X3.4 © 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表