Страница: 1 |
Страница: 1 |
Вопрос: Обход дерева каталогов
Добавлено: 04.12.08 08:01
Автор вопроса: Jasmin
Здравствуйте!
Поделитесь, пожалуйста, алгоритмом обхода дерева каталогов. Т. е. мне нужен полный список всех каталогов, как если бы я вручную по очереди открывала каждый каталог до самого конца и переписывала получившиеся пути.
Знаю, что нужно через рекурсию. Пробовала вот так:
Call aaaaa("D:\Work\Outlook\")
End Sub
Sub aaaaa(MyPath As String)
MyName = Dir(MyPath, vbDirectory)
Do While MyName <> ""
If MyName <> "." And MyName <> ".." Then
If (GetAttr(MyPath & MyName) And vbDirectory) = vbDirectory Then
Debug.Print MyPath & MyName & "\"
Call aaaaa(MyPath & MyName & "\")
Else
Debug.Print MyPath & MyName
End If
End If
MyName = Dir
Loop
End Sub
Все выполняется нормально до тех пор, пока "углубляемся" в первом каталоге до конца. Когда нужно сменить подкаталог на следующий выводит ошибку поиска в строке MyName = Dir
Не запоминает он, что нужно дальше искать. :-(
Вроде слышала, что есть функция WinAPI для похожего. Просветите, пожалуйста, как искать, что писать.
Спасибо.
Ответы
Всего ответов: 6
Номер ответа: 1
Автор ответа:
Father
Вопросов: 0
Ответов: 159
Профиль | | #1
Добавлено: 04.12.08 10:34
Номер ответа: 2
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #2
Добавлено: 04.12.08 12:13
Можешь попробовать перебор на API при помощи функций:
FindFirstFile/FindNextFile/FindClose
Номер ответа: 3
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #3
Добавлено: 04.12.08 14:52
Father: Спасибо ОГРОМЕННОЕ! Как раз то, что нужно.
mc-black: Буду смотреть, вдумчиво читать.
Номер ответа: 4
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #4
Добавлено: 04.12.08 14:55
Father:
Еще дурацкий вопрос : Как вставлять в ответы такой же красивый код ?
Номер ответа: 5
Автор ответа:
Nytrogen
Вопросов: 18
Ответов: 186
Профиль | | #5
Добавлено: 04.12.08 17:51
Обрамляйте ваш код тегами [ SOURCE ] ...красивый код... [ /SOURCE ] (без пробелов).
Тут админы снова намудрили. Когда нажимаешь на кнопку Ответить, то кнопка Код добавляет теги [ CODE ][ /CODE ], а когда отвечаешь непосредственно в окошке под сообщениями темы, то добавляются теги "красивого" кода [ SOURCE ][ /SOURCE ]
Номер ответа: 6
Автор ответа:
Jasmin
Вопросов: 23
Ответов: 417
Профиль | | #6
Добавлено: 05.12.08 11:54
Ага, понятно теперь. Спасибо.
Вот код и обрамляла [ CODE ][ /CODE ]. А как случайно нажала в другом посте тоже "Код" и получила "красивый" код.