PDA

Click to See Complete Forum and Search --> : searching harddisk for file type


RoundCow
Jan 2nd, 2000, 05:11 AM
how would i use api to ( lets say ) find all my mp3s on every directory and sub directory.

i know i have to use something like FindFileFirst and FindFileNext ... i don't quite understand those and i don't understand how to search subdirectories.

please help. thanks.

RogerH
Jan 2nd, 2000, 08:46 PM
Hi,

sorry, code's a little longer this time:


Private Sub Command1_Click()
List1.Clear
Call listfolders("c:\", "*.txt", List1)

End Sub

Sub listfolders(FolderName, FileMask As String, List As ListBox)

Dim sfolders() As String
Dim fldcount As Long
Dim filename As String

On Error Resume Next

If Right$(FolderName, 1) <> "\" Then FolderName = FolderName & "\"
filename = Dir$(FolderName & FileMask)

Do
If Len(filename) > 0 Then
List.AddItem FolderName & filename
DoEvents
filename = Dir$
End If
Loop Until Len(filename) = 0

filename = Dir(FolderName, vbDirectory)
fldcount = 0
ReDim sfolders(0)

Do
If filename <> "." And filename <> ".." Then
If (GetAttr(FolderName & filename) And vbDirectory) = vbDirectory Then
If Err.Number = 0 Then
fldcount = fldcount + 1
If fldcount = 1 Then
ReDim sfolders(1 To fldcount)
Else
ReDim Preserve sfolders(1 To fldcount)
End If

sfolders(fldcount) = FolderName & filename
Else
Err.Clear
End If
End If
End If
filename = Dir
Loop Until Len(filename) = 0

If fldcount > 0 Then
For fldcount = LBound(sfolders) To UBound(sfolders)
listfolders sfolders(fldcount), FileMask, List
Next
End If

End Sub


Roger