Chinaunix首页 | 论坛 | 博客
  • 博客访问: 188816
  • 博文数量: 106
  • 博客积分: 3810
  • 博客等级: 中校
  • 技术积分: 1007
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-18 13:35
文章分类

全部博文(106)

文章存档

2014年(17)

2011年(5)

2010年(75)

2009年(9)

我的朋友

分类:

2010-04-29 23:01:54

这是一个利用循环搜索原理来遍历目录中的所有文件的过程,非常实用,本人收藏改进后经常使用,遗憾的是很难考证谁是原创.再次声明本人只是对其中部分稍加修改.
 
 

' 功能:遍历目录中的所有文件(包括子目录)
' 特点:非API函数,可扩展,如是否包括子目录及限定文件后缀名等
Public Function SearchPath(ByVal sPath As String, ListBoxCon As ListBox) As Boolean
    
  Dim sChildDir() As String
  Dim sFileName As String
  Dim lDirNum As Long
  Dim lCount As Long
  On Error GoTo SearchPathErr
    
  If Right(sPath, 1) <> "\" Then sPath = sPath + "\"
  sFileName = Dir(sPath, vbDirectory Or vbHidden Or vbNormal Or vbReadOnly)
  While sFileName <> ""
  DoEvents
  If (GetAttr(sPath + sFileName) And vbDirectory) = vbDirectory Then
  If sFileName <> "." And sFileName <> ".." Then
  ReDim Preserve sChildDir(lDirNum) As String
  sChildDir(lDirNum) = sFileName
  lDirNum = lDirNum + 1
  End If
  Else
  ListBoxCon.AddItem sPath + sFileName
  End If
  sFileName = Dir
  Wend
    
  For lCount = 0 To lDirNum - 1
  Call SearchPath(sPath + sChildDir(lCount), ListBoxCon)
  Next
    
  Erase sChildDir
  SearchPath = True
  Exit Function
SearchPathErr:
  SearchPath = False
End Function


阅读(300) | 评论(0) | 转发(0) |
0

上一篇:常用api函数集合

下一篇:LOG记录器

给主人留下些什么吧!~~