Страница: 1 |
Страница: 1 |
Вопрос: Поиск файлов
Добавлено: 05.08.06 10:31
Автор вопроса: Azamat
Как же всетаки на VB организовать поиск файлов.
чтобы поиск охватывал весь диск со вложенными папками...
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
[root]
Вопросов: 45
Ответов: 1212
Web-сайт:
Профиль | | #1
Добавлено: 05.08.06 11:18
Форма:
Private Sub Form_Load()
'Это займет продолжительное время так что не пугайтесь
'Укажите путь, для поиска файлов
InterateObject ("C:\"
End Sub
Модуль:
Private Const MAX_PATH As Long = 260
Private Const INVALID_HANDLE_VALUE As Long = -1
Private Const FILE_ATTRIBUTE_DIRECTORY As Long = &H10
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * MAX_PATH
cAlternate As String * 14
End Type
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" _
 ByVal lpFileName As String, _
ByRef lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" _
 ByVal hFindFile As Long, _
ByRef lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Public Sub InterateObject(ByRef Source As String)
Dim objName As String
Dim hSearch As Long
Dim WFD As WIN32_FIND_DATA
Dim Cont As Integer
Cont = True
hSearch = FindFirstFile(Source & "*", WFD)
If hSearch <> INVALID_HANDLE_VALUE Then
Do While Cont
objName = Left$(WFD.cFileName, InStr(WFD.cFileName, vbNullChar) - 1)
If Not (objName = "." Or objName = ".." Then
If (WFD.dwFileAttributes And FILE_ATTRIBUTE_DIRECTORY) = 0 Then
Form1.List1.AddItem Source & objName
Else
InterateObject Source & objName & "\"
End If
End If
Cont = FindNextFile(hSearch, WFD)
Loop
Cont = FindClose(hSearch)
End If
End Sub
Номер ответа: 2
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #2
Добавлено: 05.08.06 17:04
Как же всётаки научить вас пользоваться гуглом, или хотябы яндексом?
Номер ответа: 3
Автор ответа:
Calhoon
ICQ: 789764
Вопросов: 90
Ответов: 230
Web-сайт:
Профиль | | #3
Добавлено: 05.08.06 18:27
Взял чей-то код, немного доработал, добавил возможности индикации поиска (папка, файл), отмены.
http://truerezult.nm.ru/VB/modScaning.rar
Номер ответа: 4
Автор ответа:
[root]
Вопросов: 45
Ответов: 1212
Web-сайт:
Профиль | | #4
Добавлено: 05.08.06 21:20
Hacker ни как!
Пока будут добрые люди давать готовый код, никто из новичков не будет
юзать гугл и уа.ру
Номер ответа: 5
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #5
Добавлено: 05.08.06 21:34
Номер ответа: 6
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #6
Добавлено: 06.08.06 00:24
[root], кто б говорил... Именно ты и кормиш новичков, вырезая им материал и код из тех же статей или примеров... ты хоть ссылки давать, пусть клацать тренируются
Номер ответа: 7
Автор ответа:
Dr. Zwoo4
ICQ: 319248917
Вопросов: 3
Ответов: 25
Профиль | | #7
Добавлено: 06.08.06 04:45
а ещё лучше - просто подумать ))) тем более задача простейшая.
Номер ответа: 8
Автор ответа:
[root]
Вопросов: 45
Ответов: 1212
Web-сайт:
Профиль | | #8
Добавлено: 06.08.06 07:41
Sacred Phoenix - да хочу почему не хочу.
HACKER - из статей ладно, а если я готовый код даю значит я его когда
проработал и подправил и посмотрел как работает.
Т.е. я искал ответ для себя, почему ж не поделиться, тем более этого
готового проработанного материала нет так уж и много.