安全中国首页 > 编程中心 > VB编程
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:www.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

用VB实现文件查找功能

更新时间:2005-8-30 22:26:00
责任编辑:ShellExp
热 点:
在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中使用艺术字
 
学习软件编程开发技术,推荐加入以下软件编程培训班:
易语言软件编程培训班(简单易学)  Delphi软件编程培训班  VC++软件编程培训班
VB软件编程培训班  JAVA高端编程就业研发班

学习网站开发制作技术,推荐加入以下网站开发培训班:
ASP.net网站开发项目实战班  ASP语言网站建设培训班

学习网络安全入侵防护技术,推荐加入以下技术培训班:
大型网络安全入侵防护班  网站脚本程序全方位安全检测班

学习网络管理、网吧运营维护技术(网管),推荐加入以下培训班:
大型网吧技术管理人才特训班  Linux网络嵌入架构工程师培训班

学习专项特殊技术,推荐加入以下专项技术培训班:
软件与游戏外挂脱壳破解班(逆向工程)  赚钱王道-网赚技能培训班  Flash动画设计师就业特训班

 
相关编程
一日一文章
 
一日一软件
一日一动画