说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

VB实现文件查找功能

HTML文档下载 WORD文档下载 PDF文档下载
VB实现文件查找功能
在VB中要实现查找文件功能,我们可以利用VB的DIR函数进行递归来实现。每次使用DIR函数后,比较是否有要查找的文件,再检查是否有子目录,若有,利用递归继续查找,这样可对整个盘进行查找。
  下面是一个例子,查找DOS目录下的所有EXE文件,统计EXE文件的数目并列出文件名。本程序会查找当前路径下的所有文件和子目录,与WIN95的“包含子文件夹”的查找功能类似。

程序与注释如下:
1.在窗体中加一命令按钮Command1,Caption=查找示例,双击此按钮,写如下代码:

 Private Sub Command1_Click()
  Dim ff() As String '定义一个字符串数组用来保存找到的文件名称
  Dim fn As Long '保存找到的文件数目
  fn=TreeSearch("C:%%dos","*.exe",ff())
  Print "找到文件数目为" & fn
  For I=1 To fn
   Print ff(I)
  Next
 End Sub

2.插入一模块Modulel.bas,写如下代码:

 Option Explicit
 Public Function TreeSearch(ByVal sPath As String,ByVal sFileSpec As String,sFiles() As String) As Long
  Static 1Files As Long '文件数目
  Dim sDir As String
  Dim sSubDirs() As String '存放子目录名称
  Dim 1Index As Long
  If Right(sPath,1)<>"%%" Then sPath=sPath & "%%"
  sDir=Dir(sPath & sFileSpec)
  '获得当前目录下文件名和数目
  Do While Len(sDir)
   1Files=1Files+1
   ReDim Preserve sFiles(1 To 1Files)
   sFiles(1Files)=sPath & sDir
   sDir=Dir
  Loop
  '获得当前目录下的子目录名称
  1Index=0
  sDir=Dir(sPath & "*.*",16)
  Do While Len(sDir)
   If Left(sDir,1)<>"." Then 'skip.and..
   '找出子目录名
    If GetAttr(sPath & sDir)And vbDirectory Then
     1Index=lIndex+1
     '保存子目录名
     Redim Preserve sSubDirs(1 To 1Index)
     sSubDirs(1Index)=sPath & sDir & "%%"
    End If
   End If
   sDir=dir
  Loop
  For 1Index=1 To 1Index
   '查找每一个子目录下文件,这里利用了递归
   Call TreeSearch(sSubDirs(1Index),sFileSpec,sFiles())
  Next 1Index
  TreeSearch=1Files
 End Function

3.保存文件,按F5运行,单击命令按钮即可。
VB如何实现“百叶窗”的图形特效? VB如何实现霓虹灯效果 VB如何在VB中用API获得EXE文件图标并显示在Picture控件里 VB如何在VB中直接显示无格式256灰度级图像 VB如何在窗体中平铺图片? 三维字的实现 -VB资料 闪动窗口标题 -VB资料 闪烁的标题栏 -VB资料 实现画面的各种切换方法-VB资料 实现屏幕变暗的效果 -VB资料 实现图像切换效果 -VB资料 提取Win9x拷贝的动画-VB资料 一个图像滤光处理程序-VB资料 一个用VB5.0 实现的鼠标绘图程序 用VB6.0制作画图板 用VB6设计有趣的动画场景 用VB编程绘制网格图像 用VB绘制抛物线动画曲线 用VB绘制正弦动画曲线 用VB实现“百叶窗”的图形特效 用VB实现托盘动画图标 用Visual Basic 定制BMP文件 用Visual Basic的Move方法实现动画效果 用Visual Basic与MS-Draw开发通用作图软件 在VB中获取可执行文件及Windows 95快捷方式的图标 在VB中进行各种图形切换的方法 在VB中制作可滚动的图像显示 在图片上平滑移动文字 -VB资料 VB怎样使程序的标题条闪烁? VB制作图像的Mask图 CWinInetConnection-一个封装了WinInet API函数的类 -VB资料 未来的软件架构和技术 zalyer接帖 过节了!谨以些分献给坚守在灌水第一线的朋友们~~(二) 数据库保存图片的问题 js赋值后提交,怎么在servlet中value 为空?? SendMessage参数问题, 过节了!谨以些分献给坚守在灌水第一线的朋友们~(三) 未来的软件架构和技术 ▁▂▃▄▅学ASP一个月了,现在学SQL SERVER,散分100,只为交友!▅▄▃▂▁ 大家好 ! 中秋快乐 顺便提个问题 ? 在线等....顶也给分拉...Explorer执行了非法操作该窗口即将关闭? 过节了!谨以些分献给坚守在灌水第一线的朋友们~(四) 过节了!谨以些分献给坚守在灌水第一线的朋友们~(五) excel中数据透视表? 了解:今年高程考试有没有新增内容,因为去年就新增了CMM、C++、OA办公自动化软件开发等知识,事先也没有通知各位考生。 绝对好文---------------人力资源“总奸”的自白-------ZT 中秋检举 一个恶意网站! 用PHP上传文件到LINUX服务器,结果文件用FTP软件删不掉 有做网格控件经验的请进 请教一个数据库的小问题 各位高手帮帮我! 高手来帮忙!!! 菜鸟提问:怎样从HBITMAP获得BMP的尺寸?(SDK) 请帮忙。 请问一个关于photoshop的问题,多谢指教100分 vb excel 关于MFC多文档在何处放置自已的初始化文档的代码? 今年又是一个人过中秋,终于想找个GF了! 电影画面倒置是怎么回事? 如何将pbyte指向的byte数据传递给byte数组或char等 送分 为中秋节还工作在自己岗位上的朋友散分! 送分 cgi---這裡有多少個寫法?? 送分 gcc编译好的程序怎么运行阿? 关于多文档的问题:如何固定视窗大小? 替换字符串 初学VC的困惑——什么是标准C?? 一个小数,如何确定小数点的位数? 菜单乱码,求救! 怎样调用delphi编的DLL中的函数 关于XP操作系统中的imail 服务器的配置问题 請問有多少個寫法?????在线等待!急啊! to 思归 ,VIEWSATE的那个问题,无人回答,我贴出代码了,你看看, substring(indexA, indexB) 的官方解释不明白 请教大师两个问题 卷积是什么意思?请介绍一下这方面的资料? 用户界面与开发环境怎样脱离????? ASE 12.5.0 FOR NT安装问题。。。 没分了,但还得提这个问题? 杨柳青青著地垂的著什么意思? “杨柳青青著地垂”下句 什么地大哭 什么地照耀,什么地哭着,什么地笑着,什么的说着 成语什么地哭 什么地吟诵、什么地哭泣、什么地读诗、什么地泪、什么地海浪、什么地海龟? 作文什么什么流泪了 为什么称日本军人为"太君"?与杨家将里的"佘太君"有何不同?这两个"太君"应该是不同的吧 阿拉斯加雪橇犬,纯的大狗 100斤 一岁半能卖多少钱?. 杨家将那么多人,哪个才是佘太君的老公啊?同时杨家将的几将排行是怎样的? 余太君是谁 希特勒未死一直活到1962年?历史学美国一学生为完成作业扮流浪汉进学校后以总理:伊朗有能力在数周内提炼武器级评论:欧债危机促欧盟内部各成员国重新塞尔维亚为铁托遗孀举行国葬 2万多人谷歌无人驾驶汽车安全性可超人类驾驶(印度发生连环爆炸 致5人死亡25人受世界最高人找到真爱将结婚 两人相差7阿根廷举行中期议会选举 执政联盟面临韩“独岛”宣传片擅自使用日剧画面 视阿根廷国会选举受瞩目 现总统或丧失部感谢那些不健康的食物G7真的不带普京玩?飞利浦儿童理发器帮忙6月1日开通网络预约杭州两男孩随车坠入水库续:父母状告汽养生圈里很火的麦卢卡蜂蜜gogogo,等你来购!这是蓝莓的季节1000件商品 1 元秒杀周一早高峰接送考生车辆不受“错峰限行良渚新城拉开高速发展帷幕傲视苍穹战国俏冤家妾生小小公务员神印王座千年帝国的兴亡星际战争之地球人的崛起绝世妖王宫女皇后:陌上翠花钿鬼神职业宋行之活在徽宗年间观音洞旅游岩头村旅游西宁南禅寺旅游唐蕃古道旅游鲁普岩寺旅游平山湖大峡谷旅游凯旋王国旅游念青唐古拉观景台旅游北山国家森林公园旅游龙井峡漂流旅游蓝调庄园旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘