| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Рекурсивный подсчет файлов в папке |
| Автор: Тутанхамец 23.3.2006, 18:46 | ||
| Господа! Вот есть такой код:
...который ищет и ищет файлы, причем столько, сколько их в той папке отродясь не бывало. В чем моя ошибка? И что это за '.', которую находит FindNext? Заранее спасибо. |
| Автор: smartov 23.3.2006, 18:49 |
| '.' - ссылка на текущую папку '..' - ссылка на родительскую папку Само собой оно в бесконечную рекурсию падает. Отсеивай их. Добавлено @ 18:50 P.S. И лучше юзай юникодные функции (FindFirstW....) потому, что иначе могут быть проблемы с файлами, у которых в именах встречаются разные нездоровые символы (Например ярлык на флопак - в нем есть символ дроби) |
| Автор: Тутанхамец 23.3.2006, 18:55 |
| Ага! Теперь ясно. Спасибо А FindFirstW- где ее взять? Что-то в справке Делфи5 ее не видно. Или ты имеешь в виду APIшную FindFirstFile? Добавлено @ 18:59 А есть более быстроработающие способы получения информации о файлах в директории? |
| Автор: _hunter 23.3.2006, 19:05 |
| нету... |
| Автор: bems 23.3.2006, 19:08 |
| Ее он и имеет ввиду. Только юникод версия. |
| Автор: Тутанхамец 23.3.2006, 19:10 |
| А сама Винда гораздо быстрее считает, когда вызываешь окно свойств папки. Как так? Она выгрызает из директории записи о файлах? Ну дык наверняка FindFirst и пр. делает тоже самое. Добавлено @ 19:17 Ладно, это уже не критично... Всем спасибо, вопрос решен. |
| Автор: _hunter 23.3.2006, 19:19 |
| не сказал бы я что быстрее... + она, явно, свою службу индексирования узвет... |
| Автор: Тутанхамец 23.3.2006, 20:27 |
| Скорее службу. Для папки весом в 4 гига разница в скорости в общем-то впечатляет. |