Private Sub SearchForFolders(fName As String, Path As String, File As String)
'fName - указывает, какие подкаталоги будем искать("*" - все подкаталоги, как и в нашем случае);
' Path - указывает, в какой папке будем искать; File - указывает, какой файл будем искать.
If StopSearch = True Then Exit Sub 'переменная StopSearch указывает, должен ли быть прерван поиск.
Dim Atr As Integer
Dim hFnd As Long
Dim WFD As WIN32_FIND_DATA
hFnd = FindFirstFile(Path & fName, WFD) 'ищем первый подкаталог.
If hFnd = INVALID_HANDLE_VALUE Then Exit Sub 'если подкаталог не найден, то выходим из функции.
SearchForFiles File, Path 'вызывает ещё одну фнкцию для поиска файлов в папке.
Do
Atr = (WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) 'узнаём, является ли найденный файл папкой
If TrimNull(WFD.cFileName) <> "." And TrimNull(WFD.cFileName) <> ".." Then 'если папка не
является корневой на диске, то функция FindNextFile возвращает эти два значения.
If Atr > 0 Then
DoEvents
SearchForFolders fName, Path & TrimNull(WFD.cFileName) & "\", File 'Если файл является папкой, то снова
вызываем функцию поиска подкаталогов в этой папке.
End If
End If
Loop While FindNextFile(hFnd, WFD) 'производим поиск до конца.
FindClose hFnd 'освобождаем память.
End Sub
Поиск файлов в Visual Basic 6.0
1) Директория поиска (к примеру "D:\hlam")
2) Расширение фала
3) дата и время создания файла
4) размер файла
Приведите пожалуйста более подробный пример, т.к я начинающий.
Заранее благодарю! :)
Код:
Можно без их использования - для этого достаточно посмотреть в мсдн.
Первый вариант работает быстрее, ибо все происходит в обход ВБшных процедур.