TC官方合作论坛

标题: Tui应用--文件搜索工具 [打印本页]

作者: 超自然    时间: 2015-8-20 22:37
标题: Tui应用--文件搜索工具
最近看到论坛有人发文件搜索工具,想起自己4版本的时候也写过,兴起就搬到了5版本上.主要只是应用并展示Tui界面
[attach]21462[/attach]
[attach]21463[/attach]
本搜索工具支持*和?两个windows通配符.
左侧树形框为目录区,右侧列表框为文件区
双击目录树可以展开该目录
由于列表框没有优化,面对大量数据连续添加时,效率低下.因此,
当双击目录树(双击目录树会引发枚举该目录文件)或者搜索结果数量非常多时,可能长时间出现无响应的问题,请耐心等待.
因为支持通配符意味着可以诸如*.*或者*.exe之类的模糊条件搜索,这可能会导致枚举到巨量数据.枚举结束时大量数据持续涌入列表框将严重拖慢整个程序,因此,
强烈建议:搜索文件尽可能提供完整目标文件名,尽量不要使用*.*之类的语句!!除非你非常有耐心...(我试过*.*枚举所有盘区,闹了45分钟还没完事.)
双击右侧文件名可以直接打开该文件所在目录并定位该文件.
以下是搜索核心代码
  1. function 递归过程(路径,文件名,&最终结果)
  2.     var 文件,文件夹,数量,tmp
  3.     文件遍历(路径,文件,文件夹)
  4.     数量=数组大小(文件)
  5.     for(var i = 0; i < 数量; i++)
  6.         tmp=字符串转小写(文件[i])
  7.         if(dllcall("shlwapi.dll","int","PathMatchSpecW","wchar *",文件[i],"wchar *",文件名)!=0)
  8.             数组增加元素(最终结果,array(路径,文件[i]),null)
  9.         end
  10.     end
  11.     数量=数组大小(文件夹)
  12.     for(var i = 0; i < 数量; i++)
  13.         tmp=字符串修剪(文件夹[i])
  14.         if(tmp!="")
  15.             递归过程(路径&"\\"&文件夹[i],文件名,最终结果)
  16.         end
  17.     end
  18.     return 数组大小(最终结果)
  19. end
复制代码
其中的PathMatchSpecW是支持通配符的关键函数
















作者: a837198    时间: 2015-8-20 23:09
不错不错
作者: 言术    时间: 2015-8-21 04:23
了解一下
作者: qwe1063422121    时间: 2015-8-21 08:29
...............
作者: itcfan    时间: 2015-8-21 08:54

作者: good    时间: 2015-8-21 09:50

作者: oycs429    时间: 2015-9-29 09:45

作者: DavonFok    时间: 2015-9-29 23:47
学习一下
作者: 785953306    时间: 2015-10-8 11:24
其中的PathMatchSpecW是支持通配符的关键函数
作者: sanmaodo    时间: 2015-10-8 13:28
向你学习。
作者: a8012602    时间: 2015-10-18 10:27
shlwapi.dll
作者: somyyy    时间: 2015-10-25 01:11
不错
作者: 21522282    时间: 2015-11-1 19:46
学习中,很受用!
作者: 18667006365    时间: 2015-11-3 15:06
看看
作者: ylcc126    时间: 2015-11-11 19:53
本帖最后由 ylcc126 于 2016-4-8 20:14 编辑

该回复已被删除
作者: gospeell    时间: 2015-11-13 15:00
看看
作者: gospeell    时间: 2015-11-13 15:01
了解一下
作者: 极速齿轮    时间: 2015-12-26 14:00
学习学习了
作者: rxuehao    时间: 2016-1-3 20:35
太屌了!
作者: 469295445    时间: 2016-1-3 21:17

作者: 花落莫相离    时间: 2016-1-8 14:24

作者: xiaoyaoaiz    时间: 2016-3-27 19:13
感谢分享
作者: zxj8645    时间: 2016-4-10 03:06
Tui应用--文件搜索工具 [修改]
作者: 悟空道人    时间: 2016-4-14 12:12
看一看
作者: 312120292    时间: 2016-4-14 13:30
额  看看

作者: JSDYWZ    时间: 2016-5-21 10:50
[界面] Tui应用
作者: sunshadow_ja    时间: 2016-6-2 19:35
66666666666666666666666

作者: dmcl    时间: 2016-6-14 09:17
感谢分享
作者: 天生的叛逆者    时间: 2016-7-4 12:33

作者: zhuhh2000    时间: 2016-8-21 06:09
多谢
作者: ybc178    时间: 2016-8-25 00:45
支持           
作者: tbmbx2017    时间: 2016-9-9 13:30
请让本宝宝看下吧。
作者: nfapp    时间: 2016-9-27 13:16
支持一下
作者: pop_tiger    时间: 2016-10-26 20:01
学习一下
作者: y874855105    时间: 2016-10-27 09:17
学习
作者: 295384962    时间: 2016-11-10 14:50
555555555555555555555555555
作者: 16490020    时间: 2016-11-27 11:16
这东西找了好久勒,谢谢!!

作者: karl223    时间: 2017-1-19 13:11
看看
作者: goman    时间: 2017-1-29 22:52
对楼猪只能说,你太伟大了!!

作者: ms5084456    时间: 2017-3-16 18:34
支持
作者: etpower@126.com    时间: 2017-3-31 21:01
想学习一下
作者: baby杰杰    时间: 2017-4-14 13:29
我就是喜欢你的作品,太强大
作者: 719720807    时间: 2017-5-16 22:29
666666666666666666666
作者: 460071560    时间: 2017-5-21 00:00
顶顶顶顶顶顶顶顶顶顶
作者: gaolong630    时间: 2017-8-13 03:53
学习学习
作者: itsok    时间: 2017-9-26 23:47
顶顶顶顶顶顶顶顶顶顶
作者: milai5201    时间: 2017-11-15 20:54
12345678123456789
作者: donggua11    时间: 2017-11-20 22:23
学习学习
作者: qq324974    时间: 2017-11-21 01:27
Tui应用--文件搜索工具
作者: 一只熊    时间: 2017-11-21 14:11
好东西,拿走了
作者: 113a26    时间: 2017-12-21 18:16
JVN,HJK,CHJ
作者: huakeha    时间: 2018-1-1 19:33
PathMatchSpecW是支持通配符的关键函数
作者: apoul    时间: 2018-1-16 17:00
asdfafadfdasfa
作者: apoul    时间: 2018-1-16 17:00
asdfafadfdasfa
作者: apoul    时间: 2018-1-16 17:00
asdfafadfdasfa
作者: apoul    时间: 2018-1-16 17:00
asdfafadfdasfa
作者: Jäger    时间: 2018-3-16 11:51
666666666666666666666666
作者: q979033318    时间: 2018-3-19 02:08

作者: kgg666    时间: 2018-3-22 16:26
000000000000000
作者: wenbostudio    时间: 2018-4-11 23:20
sdntcvgbhn/<L>;/
作者: cococo789    时间: 2018-7-3 20:46
等等
作者: fhjym    时间: 2018-8-27 11:36
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1