| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Поиск файлов. |
| Автор: ivan219 16.10.2006, 22:54 | ||||
Код.
Обясните мне зачем тут нужна
и ещё в каком порядке всё это дело ищит файлы т.е. как по имени по дате создания или ещё как Добавлено @ 22:58 И ещё может кто распишет этот код а то я непонемаю что к чему |
| Автор: Yanis 16.10.2006, 23:28 |
| ivan219 Как-то ты странно пытаешься разобраться... Вроде всё просто... Процедура ищет все файлы (маска '*.*') путём простого рекурсивного перебора. А справку прочитать? Функция проверяет оканчивается ли строка на '\' (для винды) и добавляет обратный slash, если нет. В каком месте ты непонимаешь что к чему? |
| Автор: Демо 16.10.2006, 23:38 | ||
Автор этого кода взял готовую функцию, криво передрал. А ты изучаешь ;)
|
| Автор: ~FoX~ 17.10.2006, 14:23 | ||
Это когда функция вызывает сама себя или собственный кусок. Тока вот какая она то не рекурсивная, да и не функция нифига...
Корявая процедурка! |
| Автор: ivan219 17.10.2006, 20:39 |
| ~FoX~, спасибо. А можно не корявую процедуру посмотреть Так как мне надо искать всего в одной папке фаилы с расширением Dll |
| Автор: Zero 17.10.2006, 21:24 | ||||||
ivan219, я не понял чё именно ты хочешь, чтобы обязательно твоя процедура была переделана или тебе просто
Если второе то вот так как ты видел в DRKB:
PS: он ищет все длл-ки в каталоге "c:\Windows\AppPatch\" Добавлено @ 21:26 Если ты хочешь разобраться именно в той которая написана в первом твоём посте, то говори конкретно чё тебе не понятно... Хотя ~FoX~ вроде более менее Добавлено @ 21:32
Yanis там нет не какой рекурсии. Когда обясняешь опытным-новичкам, то желательно немного конектить с терминологие... |
| Автор: Yanis 17.10.2006, 21:35 | ||
Эт я поспешил Да и вопросы какие-то... |
| Автор: ivan219 17.10.2006, 22:24 |
Самые простые Хотя помойму разобрался |
| Автор: ivan219 18.10.2006, 02:19 | ||
Маленькое дополнение к коду в этом случае будут видны все расширения dll,DLL,Dll....
|
| Автор: Демо 18.10.2006, 07:52 | ||
Вот блин. Ну что тут непонятного?
|
| Автор: Yanis 18.10.2006, 08:05 |
Я тоже этим вопросом задаюсь. Вижу что ivan219 разбирается, но почему застревает в таких местах -- непонятно. |
| Автор: ~FoX~ 18.10.2006, 08:09 | ||||||
А не проще
Финды не чувствительны к регистру. Добавлено @ 08:17 [/code] Можно:
Вызывается так:
|
| Автор: Yanis 18.10.2006, 08:18 |
Финды нет, а pascal да |
| Автор: ~FoX~ 18.10.2006, 08:22 |
(фИнды, а не финдЫ) Я имел ввиду FindFirst((Dir+'*.DLL', faAnyFile, SearchRec) тоже самое что FindFirst((Dir+'*.dLl', faAnyFile, SearchRec) |
| Автор: ivan219 18.10.2006, 13:28 | ||
Да не зострял я. Я просто хотел узнать читаем первый пост Но на вопрос в каком порядке ищутся файлы так мне некто и неответил а мне это надо знать Сказали рекурсивный а что рекурсивный это как И ещё хотел узнать какой способ самый быстрый |
| Автор: _hunter 18.10.2006, 13:56 |
| ни в каком они порядке ищутся -- как в таблице файлов записанны, так и ищутся. поэтому, обычно, имена файлов показывают не сразу, а пишут в какой-нить вектор, который потом сортируют. |
| Автор: ivan219 18.10.2006, 14:04 |
А это не есть зэргут |
| Автор: Zero 18.10.2006, 18:49 | ||||
ivan219, вот тут: http://forum.vingrad.ru/index.php?showtopic=116792&view=findpost&p=892041 Я привёл код поиска длл-лок, и в том порядке в котором ты их увидишь в поле мемо, в том порядке они и ищутся. Логично??? После этого поста, ты видимо не читал, но там было описано на счёт рекурсии. Ну используя стандартные функции, это и есть самый быстрый... Т.к. там уже всё продумано. Добавлено @ 18:51
Ты прочитал начало, и не дочитал до конца поэтому не понял ответ. Но приглидись так: Это можно сказать и был ответ. |