欢迎光临
我们一直在努力

用vb实现文件查找功能_visualbasic教程

建站超值云服务器,限时71元/月

在VB中要实现查找文件功能,我们可以利用VB的DIR函数进行递归来实现。每次使用DIR函数后,比较是否有要查找的文件,再检查是否有子目录,若有,利用递归继续查找,这样可对整个盘进行查找。
  下面是一个例子,查找DOS目录下的所有EXE文件,统计EXE文件的数目并列出文件名。本程序会查找当前路径下的所有文件和子目录,与WIN95的“包含子文件夹”的查找功能类似。
程序与注释如下:
1.在窗体中加一命令按钮Command1,Caption=查找示例,双击此按钮,写如下代码:
PrivateSubCommand1-Click()
Dimff()AsString′定义一个字符串数组用来保存找到的文件名称
DimfnAsLong′保存找到的文件数目
fn=TreeSearch(″C:%%dos″,″*.exe″,ff())
Print″找到文件数目为″;fn
ForI=1Tofn
Printff(I)
Next
EndSub
2.插入一模块Modulel.bas,写如下代码:
OptionExplicit
PublicFunctionTreeSearch(ByValsPathAsString,ByValsFileSpecAsString,sFiles()AsString)
AsLong
Static1FilesAsLong′文件数目
DimsDir AsString
DimsSubDirs()AsString′存放子目录名称
Dim1IndexAsLong
IfRight(sPath,1)<>″%%″ThensPath=sPath&″%%″
sDir=Dir(sPath&sFileSpec)
′获得当前目录下文件名和数目
DoWhileLen(sDir)
1Files=1Files+1
ReDimPreservesFiles(1To1Files)
sFiles(1Files)=sPath&sDir
sDir=Dir
Loop
′获得当前目录下的子目录名称
1Index=0
sDir=Dir(sPath&″*.*″,16)
DoWhileLen(sDir)
IfLeft(sDir,1)<>″.″Then′skip.and..
′找出子目录名
IfGetAttr(sPath&sDir)AndvbDirectoryThen
1Index=lIndex+1
′保存子目录名
RedimPreservesSubDirs(1To1Index)
sSubDirs(1Index)=sPath&sDir&″%%″
EndIf
EndIf
sDir=dir
Loop
For1Index=1To1Index
′查找每一个子目录下文件,这里利用了递归
CallTreeSearch(sSubDirs(1Index),sFileSpec,sFiles())
Next1Index
TreeSearch=1Files
EndFunction
3.保存文件,按F5运行,单击命令按钮即可。
程序运行环境:VB4.0(32位),中文WIN95。->

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 用vb实现文件查找功能_visualbasic教程
分享到: 更多 (0)