Tools Links Login

FilesSearch

This sub/function searches your hard drive(s) or directories for file(s) like the Windows 'Find Files or Folders...'. It uses mainly the Dir() command and can be used with any programs and visual basic I have encountered. This helps uses to quickly find a file or program for their applications.

Original Author: Andrew Tang

Inputs

It needs two parameters, the start directory or drive and the extension. Example: FilesSearch "C:", "*.txt".

Assumptions

None that I am aware of.

Returns

Finds the file(s) with a particular extension from a start directory.

Side Effects

None. Slightly slower than the windows 'Find Files or Folder...' function.

API Declarations


Code

Sub FilesSearch(DrivePath As String, Ext As String)
Dim XDir() As String
Dim TmpDir As String
Dim FFound As String
Dim DirCount As Integer
Dim X As Integer
'Initialises Variables
DirCount = 0
ReDim XDir(0) As String
XDir(DirCount) = ""
If Right(DrivePath, 1) <> "" Then
  DrivePath = DrivePath & ""
End If
'Enter here the code for showing the path being
'search. Example: Form1.label2 = DrivePath
'Search for all directories and store in the
'XDir() variable
DoEvents
TmpDir = Dir(DrivePath, vbDirectory)
Do While TmpDir <> ""
  If TmpDir <> "." And TmpDir <> ".." Then
    If (GetAttr(DrivePath & TmpDir) And vbDirectory) = vbDirectory Then
      XDir(DirCount) = DrivePath & TmpDir & ""
      DirCount = DirCount + 1
      ReDim Preserve XDir(DirCount) As String
    End If
  End If
  TmpDir = Dir
Loop
'Searches for the files given by extension Ext
FFound = Dir(DrivePath & Ext)
Do Until FFound = ""
  'Code in here for the actions of the files found.
  'Files found stored in the variable FFound.
  'Example: Form1.list1.AddItem DrivePath & FFound
  FFound = Dir
Loop
'Recursive searches through all sub directories
For X = 0 To (UBound(XDir) - 1)
  FilesSearch XDir(X), Ext
Next X
End Sub

About this post

Posted: 2002-06-01
By: ArchiveBot
Viewed: 99 times

Categories

Visual Basic 6

Attachments

No attachments for this post


Loading Comments ...

Comments

No comments have been added for this post.

You must be logged in to make a comment.