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

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的数据库编程方式 为VB5辩解: VB处理数据库时求数据表记录总数的最佳方法 为什么安装后的数据库应用总是路径不对或找不到? 返回 -VB资料 无论如何,就是只能输入数字-VB资料 VB用 DAO 或 ADO 正确访问 Access 2000 VB用CELL组件显示Access数据库的图片对象 VB用DAO打开Excel文件 VB用DATA控件绑定报表控件打印报表 VB用EXCEL来打印报表并生成折线图 VB用EXCEL组件简化VB编程的一种方法 VB用MDB文件做密码库 VB用ODBC API访问ODBC数据库 用VB 实现类电子表格的数据录入 用VB5直接控制Excel 97 用VBA编制Access的查询程序 用VB和RDO访问SQL Server 用VB开发多通道仪表数据采集程序 用VB实现关闭所有数据库对象 用VB实现类电子表格的数据录入 VB用代码创建数据库,表,字段 VB用类来编写数据库程序 优化OLE的调用频率-VB资料 语言选择引起的查询错误 -VB资料 远程数据库的访问-VB资料 运用ADO进行数据库表数据互导 -VB资料 在 VB5.0中编辑数据库和电子表格 在Access 2000中用ADO-VB资料 在Access数据库中实现密码管理的另一种方式 -VB资料 在VB6.0中使ACCESS数据库在网络使用中保持同步 在VB中更改SQL Server数据库结构 在VB中兼容非ACCESS数据库的技巧 哪位朋友帮我看看为什么我在窗体上画不出BREZIER曲线? 不知道access数据库可否做购物处理?具体请来这里。 如何能让sql语句中的表名,字段名等大小写不敏感!! PB连接ORCLE,运行出错。 指针的问题,大家给看看 本人是初学者,请问一个简单的问题 目的没达到,再问,关于span 客户端用ADO连MSSQL,远端的数据库改了数据库端口1433,原先好用的东西就不能用了,不知道改如何解决了 编译出错,是不是就是我的解题思路是错的?? 在vc中能不能建消息队列?怎样建? 用checklistbox如何一次删除所选中的全部项 我做了一个动态生成可上传多个文件的,但是有个问题就是我该如何读取那些字段的值。如:图片标题,我删除一些行后我如何确定新的字段值, 救命!如何用 cable modem 上宽带网 在VC里如何实现QQ的界面啊,急急急急急急急急急急急? web如何实现连接点的回调功能? 新闻系统建模? 如何去掉release版exe文件中export的___CppdebugHook? 用标准C++开发的时候最常用的工具是什么? 到哪里能载到一些编游戏用的2D、3D图象文件啊? 招聘asp.net工程師(深圳) windows关机的问题,把我搞得好惨 请问高手如何判断保存上传图片的字段是否有数据?谢谢! 急!告急了。 学Java与Vc哪个更有实力,更有前途? 有关J2EE部署文件? 请问谁有《微型计算机原理与汇编》潘峰著,电子工业出版社的!!谢谢 一个简单的问题(VFP中) 请问OnKeyPress 和 OnKeyDown 这两个事件有什么区别? 哪里有可视化的jCheckTree组件? 关于译码器的问题,急!! *******在red hat linux下怎么设置DNS?网络设置里没有嘛 help 一个简单的问题 怎样删除干净OCX控件? 我用QQ的自定义查找输入一个QQ号码,但现在忘了我输入的是哪个号码,能不能找回? 框架制作!! 框架的问题 提个弱问! 使用treeview控件,我想给它们的节点图标都换一下,可它默认图标都在上面,怎么去掉默认的。 有牛人吗?准考证英文怎么说? 请大家帮我看看,我的机器是怎么回事?我的机器很不稳定!!! 我为大家共享的资源.找我的人太多了,我吃不消.在这里列BILL.大家看看,书不算太多。 很傻的问题,在线等 ★★如何实现按一下按钮可以终止一个正在运行中的循环?请举个例子,谢谢! 谁能帮我提供一点资料或文档! 告急?(在线等待) 用正则表达式,怎么验证日期(yyyy-mm-dd)的输入啊? kao~ 请教有关MSWORD9.OLB的帮助文档是哪个? 怎样知道一个调度执行失败或没有执行???(MSSQL7)上火呀~~~ 如何将自己定义的记录类型转化成Tmemorystream对象? 这几个词的复数形式 the old man did nothing on Sundays except ——a walk in the park A took B to take C take D taking为什么是C,不是D或是B? “鲁迅是个著名作家,他写的文章很有意思”用英语怎么说 《夏日绝句》诗中哪两句是李清照的人生观,是她在国家危亡之际发出的慨叹 Mrs Smith is taking a walk in the park.(taking a walk 提问)What is Mr Smith _____ in the park? "making love out of nothing at all"的意思是什么? 夏日绝句中表现人生价值的诗句是哪句 Who is ___(tall),Tim or Tom 英语翻译我有一个幸福的家,爸爸爱我,妈妈爱我,弟弟爱我,我也爱他们,在温暖的家中,我快乐的长大. 请问variance 与 variation 的区别,在用法上? 夏日绝句其中最能表现李清照志向的语句是 ( )Tim,who's at the door?Dad,I think——.A.he is LiLei B.he is Tom c.shi is Lucy D.it't Jim I have been looking for a man. 英语单词the的所有用法和虚拟语气的构成方式 Who do you think is _____(boring),Tim or Tom? 请问五星红旗的红色和黄色的RGB值各是多少,那青天白日满地红旗中的蓝色和红色值又各是多少? 就是那个英语单词the的用法 这张桌子是大明和托尼的英语翻译 金色、白色、银色、金黄色、紫色的RGB值各是多少? 改错:she sister is a student There are many students in the park.Some are talking,________ are singing.空白处应该填others还是the others呢?急, 世说新语德行32 My sister is_student.she studies at_college.填a,an,the,/ 煽情怎么解释 世说新语 德行第三八 My sister is a student.She s( ) in Guangming school. 煽情怎麼解释 用sister,is,my,cute,old组成一句话.用上面的几个单词组成一句话. One day an old man is selling a big elephant .A young manOne day an old man is selling a big elephant.A young man comes to the elephant and begins to look at it slowly.The old man goes up to him and says in his ear,“ Don’t say anything about the 煽情这个词语用英文怎么说 I'm fourteen,my sister is sixteen.So I'm( ) her.A as old as B not younger than C not so young as D two years yonger thanI was surprised that she could run ( )I could.A as faster as Bso fast than C as fast as Dso fast as a young man put an ad in most of the newspaper是什么意思 a bit of 修饰可数名词还是不可数名词?bits of 和 a bit of 民国时期的报纸字体 是什么字体 Who's ——(careful) Tom Jim or Kate?用括号里单词的正确形式填空,Who's ——(careful) Tom Jim or Kate?用括号里单词的正确形式填空, a bit of后面跟可数名词还是不可数名词 编英语报纸用什么字体?有没有人出国英语报纸,不知道英语报纸正文都用什么字体和几号字体? Who's ____,Tom,Jim or Kate?amost careful b,the most careful c,carefullest d a little+()=a bit of;a little+()表示程度很浅;a little+cn单数时,他为形容词,修饰名词,表示(),与()同义 谁能告诉我 一张报纸大约有多少个字啊 谢谢 Jim is no more careful than Tom.怎么翻译? a bit of 后修饰的名词是可数还是不可数 They saw the sun (升起)in the east every morning Who is _____(careful) boy,TOM or Jack? 什么是长尾关键词啊?这几天在学SEO基本知识,听不懂这个词的意思啊 报纸标题字体是什么什么请问下标题母爱这行的是什么字体?急 the prince of egypt(埃及王子)的剧本外教的课要演舞台剧热锅上打转中…… "放某人一马"用英语怎么说? 报纸上的字为什么会印在桌子上 Jim is no more careful than 请问:放马过来英文怎么说?还有放你一马 要非常明亮黄色的RGB 阅读题,英语 The old man walk to the park.(改同义句) The old man go to the park ____ _____. lucy is twelve.kate is ten.(合并为一句)lucy is two___ ___ ___kate. 阅读题英语谢谢 permit和permission区别是什么? Here's a letter_____an English friend.A.for B.to C.of 应该选哪个,为什么? 1、The old man is taking a walk in the park.(改为否定句)2、We are talking about how to learn English well.(对划线部分提问,划线部分是how to learn English well.)3、Mike is playing computer games.(对划线部分提问,划 beautifu变最高级的时候前必须加the吗单词
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘