Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск файла [D6, Win2k, WinXP]


ashnurov ©   (2005-01-13 07:25:00) 

Подскажите как осуществить поиск файлов (например *.doc) по всему винчестеру во всех папках включая вложенные.


Kerk   (2005-01-13 12:20:00) [1]

DDDeN   (13.01.05 12:16) [11]
код дай


DDDeN   (2005-01-13 12:18:00) [2]

Я как-то пробовал искать *.bmp на всем диске. Но тут такой нюанс: если этот диск системный (т.е. операционка установлена), то рекурсивная процедура не заходит в каталог Program Files и Documents and settings. Но дело не в том, что папки имеют длинное название и пробел, а в чем-то другом... Я так и не узнал.

Мож кто сталкивался тоже?


Kerk   (2005-01-13 12:16:00) [3]

DDDeN   (13.01.05 12:15) [9]
если не в том что ты описал, то ошибка в алгоритме :)))


DDDeN   (2005-01-13 12:16:00) [4]

Я как-то пробовал искать *.bmp на всем диске. Но тут такой нюанс: если этот диск системный (т.е. операционка установлена), то рекурсивная процедура не заходит в каталог Program Files и Documents and settings. Но дело не в том, что папки имеют длинное название и пробел, а в чем-то другом... Я так и не узнал.

Мож кто сталкивался тоже?


DDDeN   (2005-01-13 12:15:00) [5]

Я как-то пробовал искать *.bmp на всем диске. Но тут такой нюанс: если этот диск системный (т.е. операционка установлена), то рекурсивная процедура не заходит в каталог Program Files и Documents and settings. Но дело не в том, что папки имеют длинное название и пробел, а в чем-то другом... Я так и не узнал.

Мож кто сталкивался тоже?


Думкин   (2005-01-13 08:07:00) [6]

http://delphibase.endimus.com/?action=viewfunc&topic=fileops&id=10046


Kerk   (2005-01-13 07:58:00) [7]

ashnurov   (13.01.05 7:56) [5]
см [4],[6]


ashnurov   (2005-01-13 07:56:00) [8]

мне нужно так-же как в windows происходит поск.


ЮЮ   (2005-01-13 07:56:00) [9]

1)
Пусть Search(const Dir: string) ищет файлы а папке Dir.
Если найденный файл является директорией вызовм Search(<найденная директория>).
Рекурсия называется.

2)
Пусть ListDir - список папок.
Первоначально вставляем стартовыю папку.
Пока список ListDir не пуст делать
 если Если найденный файл является директорией тогда
   добавмить в ListDir
 иначе
   ...
 удалить первый элемент списка


Kerk   (2005-01-13 07:41:00) [10]

ashnurov   (13.01.05 7:29) [2]
а ты ищи в каждой папке по очереди :)


Gero   (2005-01-13 07:34:00) [11]

Мда, проблема.


ashnurov   (2005-01-13 07:29:00) [12]

я смотрел, но там только поиск в указанном месте, а мне надо по всему винту.


MBo   (2005-01-13 07:26:00) [13]

изучить хелп по FindFirst/FindNext
Если не поможет, заглянуть в FAQ


Наверх

Титульная страница Поиск, карта сайта Написать письмо