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

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运行,单击命令按钮即可。
为什么说Amazon的James Hamilton是“可遇不可求”的? Facebook背后的数据团队 红帽将产品转移到Apache社区 Impala是如何提升3~90倍查询效率的? 云中保障数据安全及完整性必须防范的遗留问题 VMware推出移动性平台:VMware Horizon Suite 移动周报:全球最大校园Hackathon的参赛宝典 Unity3D首届游戏创意设计大赛开始报名 中国日报:向移动新媒体蜕变 C#五子棋程序设计 Mozilla宣布推出Firefox OS 面临四大问题 Ruby 2系列首个稳定版 Ruby 2.0.0-P0发布 微软改进Windows Blue搜索 系统或今夏推出 移动新趋势:扁平化设计 vs. 拟物化设计(下篇) 传奇程序员:Minecraft开发者Notch大神 让沟通更便捷 ConnectYard宣布推出全新的Web API 在Hadoop上运行SQL:程序员需知晓的13种数据工具 怎样用好Eucalyptus? AWS攻势变猛,Rackspace主动降价CDN与云存储 惠普将于下季度推出低功耗的Moonshot服务器 webOS复活!LG收购webOS用于智能电视 那些因为HTML5而将消亡的产品 初窥iWatch用户界面:开创基于时间的全新体验 如何编写出拥抱变化的代码? 20个优秀的前端框架 以AWS和vCloud为标杆看四大开源平台的定位 桌面集成开发环境五年内必将“死亡”? 助影人圆梦奥斯卡 8mm相机应用其实很平庸 苹果应用审查团队叫停Cookie追踪技术 时势造英雄:中国早期O2O创业故事 iOS开发与Android开发的四大不同 将10进制转换成16进制的函数是什么啊? VC高手,怎样以编程的方法实现磁带机的Backup 和 Restore. enmity,进来,我给你结帐.共200分 支援白菜300分,支持白菜个人网站建设:))) CMM 的缩写是什么? 想和大家讨论一下怎样系统的编制软件 如何实现和Word、CorelDRAW同样效果缩放位图 请问各位大哥大爷大妈大。。。。。。。。。。。。。哪里有支持 ASP 的服务器软件下载 我该如何控制IP地址??高手请进。。。 弱弱地问:关于SQL server中的中括号。 各位侠客帮忙啊,重新装系统出了问题!! 一点点小问题????? 请问在 WINDOWS98 下面,除了IIS,还有没有支持 PHP 的服务器软件呢? 在ADO中如何获取表名 关于ASN树的问题(snmp中的MIB的拓扑树) 你是高手你进来!!!!! 各位的顶级域名都在哪申请?价格/速度如何?大家都来说说! DirectX8的MultiFileReader过滤器怎么找不到? 关于用VB显示ado数据库中的图像字段问题 大家来谈谈Msdn如何有效利用 请各位帮忙查看我这段程序错在哪里 , 我是照书上做的 , 可就是无法保存. SQL plus 为何无法登录?? 谁要下载msdn? 紧急求救!寻找工作! 最新新消息~~~~~~~台灣地區中午地震最大震度花蓮市5級 有没有大连的公司要俺? 请教大家!!!java如何实现多重继承?接口该如何使用?份数可以再加,只要我明白了 怎样以编程的方法实现磁带机的Backup. 愿者请进,请各位留下自己的QQ或E-mail,以后大家可以多多交流!!! solaris unix8 的一个问题 asp是用什么软件的阿?我用了interdev,可是开始新建项目时就不行,叫你输入serve时,总是不对?应该输什么啊? 关于字符集 哪里有好的LAN管理软件??? 一个去美国的机会,保签(替朋友贴的,信誉没问题) 打印没有输出? 动态分配内存 因为本人准备过一段时间出去找软件开发工作,本人手头有一张高级程序员资格证书,但没有本科学历请问?? delphi6.0中 data access中怎么没有ttable 和tquery部件了, 该怎么办? 在w2k 下多用户的自动登录。。请指教? SubclassWindow的问题,急,多谢!!!! 高分求购高程经验 一个留学美国的机会,保签 本人手头只有一张高级程序员资格证书,但没有本科学历请问?? 请问如何制作多表头报表,有什么好的VCL吗? 关于水货手机的问题 Is there very large defferent between VB and delphi? Wise INSTALL 安装 DELPHI 出现了问题? 怎么能得到系统中所有窗体(包括其他应用程序打开的窗体)的句柄 bmp图像 网络是泡沫 网络文学是垃圾!! 请教WIN2000下协议绑定的问题 盘面里的黄金分割线怎么看滴……0.618 0.5 0.382 都有说法吗? 饮水机上的水,热水温度最高能达到多少度?另外喝自来水加热过的水好还是喝饮水机上的热水好? 长期饮用纯净水有利健康吗? 1.618黄金分割黄金分割 饮水机桶中的水会不会和烧开的热水混合?如果把自来水灌进桶里,当做饮用水好不好? 饮用纯净水和自来水相比哪个对身体好 黄金分割比例是0.618,这句话对吗要注意各种细节哦~ 饮水机的水是烧开的吗?有没有到100度?我想用自来水放到桶里来用不知行不行. 家庭过滤饮用的纯净水哪种对健康比较好?现在市场上提供的家庭用过滤饮用水装置有多种类型,价格从几百到几千不等.有的用反渗透膜把水过滤得除了H2O之外,几乎没有别的东西.有的(不用 黄金分割比是什么 我们家自来水烧开后特别难喝,现在每天喝饮水机过滤的水,长期喝有好处还是坏处阿?饮水机过滤的东西是碳粒我家水壶是不锈钢的,很干净的!没有水垢,自来水里应该不含碱(烧开的水没碱,没 长期饮用纯净水对身体好吗 黄金分割里较短线段与线段的比值= =就这样..不要小数带根号谢谢...是较短线段与线段的比值注意~较短线段较短线段较短线段较短线段..... 现在那些饮水机的水被反复反复的烧开,喝了这对身体有什么影响?据说烧开5分钟还是10分钟之后的水就不宜喝的了具休是几分钟啊?忘记了 末端直饮机出来的水是纯水还是矿物质水?直接饮用对健康有益吗?纯水是不能饮用的吧? 生活中的黄金分割的实例,差不多要3个,具体一点~~~ 饮水机是过滤的,现在不想用过滤桶,能用桶装水吗 桶装水和烧的自来水哪一个对身体健康更有利? 黄金分割有什么生活实际应用实例?我们今天学了黄金分割,但不知道究竟有什么用途`` 过滤饮水机用自来水过滤可以吗不要复制``我想买一个过滤饮水机``就是桶上有过滤东西的`自来水直接倒进去能喝吗? 喝烧开的水是不是比纯净水对身体好呢?> 生活中的黄金分割比,快一点,一定要写出比. 请问饮水机是买桶装水的好还是自来水过滤的好? 烧开的纯净水与没烧过的纯净水,混在一起喝, 能举例告诉我黄金分割广泛应用于生活用品的例子吗 美的的饮水机过滤器过滤之后水里有自来水味道? 喝烧开的自来水好 还是喝桶 装的纯净水好 【】“黄金分割”在生活中的例子?【】如题 美的饮水机过滤后的水直接饮用还有自来水的味道,能直接喝吗?新买的美的饮水机,带陶瓷加活性碳过滤的,过滤后的水还是有自来水的味道,可以直接饮用吗? 纯净水可以烧开喝嘛 我们喝什么水健康烧开的自来水致癌 婴幼儿喝桶装水好,还是自来水好? 在水处理中,超滤能除去水中的细菌病毒吗,超滤产水可以钦用吧我们公司用的就是超滤产水用作钦用水,但水质不得而知,最为严重的是喝这水有一种味道,有种土腥味,大家都不知道到底能不能 水二次烧开喝,对身体健康有影响吗?二次烧开的水是什么味道?蒸馏水一样的无味吗? 城市居民一般喝什么水,烧开的自来水,还是桶装水,还是买的矿泉水 自来水中细菌病毒含量多吗?加热煮沸能除去水中多少的细菌病毒? 如何饮水更健康? 专家:自来水烧开喝安全 喝什么水好呀?是烧开的自来水还是桶装水呢? 〓合格的糖果.饼干包装能抵挡细菌病毒吗?放在水中会入水吗 自来水烧开就是安全的饮用水吗? 桶装水健康还是家用电壶烧开的自来水好? 水可以冲走细菌和病毒吗如果只用清水洗碗,可以冲洗掉细菌和病毒吗?比如大肠肝菌和流感病毒,如果家里有人得了流感,那用过的碗单独用清水冲几分钟能去掉流感病毒吗 饮水机的水反复烧开能喝吗? 武汉的自来水和桶装水哪个更健康?(自来水有味道) 100度高温是不是可以杀灭所有的病毒和细菌? 自来水安全吗?烧开就可以喝了吗? 喝桶装水好还是自来水更好? 白开水可以放多长时间 饮水机一般把水烧到几度? 喝自来水好还是桶装水好 白开水放多久就不能喝了,为什么?不是还说放一天后的开水治便泌吗,又是为什么?两个是不是矛盾呢? 饮水机里面的水一定需要烧开了才能喝吗? 用自来水烧水好还是用桶装水烧好? 煮过的白开水可以存放多久? 饮水机喝的水是用自来水烧的,红的一边是开水,蓝的一边接的水可以喝吗?拜托了各位 谢谢 自来水烧开了和桶装水有区别吗? 白色念珠菌感染怎么治疗?高危10天后发现自己大腿出现丘疹..出现疼痒..拖延了3个多月才到医院检查医生没问病情直接做血常规检测.和涂片.后来说是白色念珠菌感染..请问下..做血常规检测 股市中黄金分割数据中出现了0.382 、0.5 、0.618 和1.382 、1.5、1.618这两组数据?应怎样区分 饮水机放自来水饮用对身体有害吗? 喝桶装水好还是自来水烧开好
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn