Ускорить алгоритм составления списка файлов данной директории26.08.2016, 14:21. Показов 1559. Ответов 23
Метки нет (Все метки)
Здравствуйте.
Есть папка с файлами(462166 штук), как мне быстро получить их список, а следовательно и их количество? Вот, собственно, мой код, который работает где-то 30 минут:
Буду признателен за любую помощь.
0
|
||||||
| 26.08.2016, 14:21 | |
|
Ответы с готовыми решениями:
23
Как получить список файлов в данной директории? FTP: получение списка файлов из потока. Как вывести список файлов из директории?
|
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
||||||
| 26.08.2016, 14:34 | ||||||
|
Мне кажется, что поиск долго идет из-за этой строки:
0
|
||||||
| 26.08.2016, 14:50 [ТС] | ||||||
|
d7d1cd, а мне кажется, что поиск долго идет как раз из-за составления списка файлов(их подсчета).
Дело в том, что я тестирую на одной папке с файлами(см скрин) и, следовательно, строка
0
|
||||||
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
|
| 26.08.2016, 14:54 | |
|
Gdasar, верно, верно! Проглядел я...
0
|
|
|
|
|
| 26.08.2016, 14:55 | |
|
Скорость может зависеть от самих файлов и средней глубины вложенности. Это ничем не ускоряется.
А чтоб обращение к ComboBox7 было нормально надо кое-какие действия:
1
|
|
|
|
|
| 26.08.2016, 15:08 | |
|
а... Вложенность нуль? Тоже не заметил... Но файлов правда дофига, мне просто не на чем проверить время поиска.
![]() А если на АПИ переписать будет быстрее? FormCreate или нет не должно влиять. Но вы же можете это легко проверить. А всё-таки версия-то Билдера какая?
0
|
|
| 26.08.2016, 15:24 [ТС] | ||||||
|
Версия - XE8. Да, от FormCreate не зависит.
Вот такой путь до папки с картинками:
Кстати, про скорость. Если нажать свойство папки, то вся инфа собирается менее чем за минуту.
0
|
||||||
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
|
| 26.08.2016, 15:25 | |
|
Судя по прикрепленной картинке, все файлы у Вас хранятся в одной папке (файлов: 462166, папок: 0). Это так?
0
|
|
|
279 / 156 / 52
Регистрация: 30.06.2011
Сообщений: 1,712
|
||
| 26.08.2016, 15:33 | ||
. Наверное. Но только, как сказал BOGG ART, через АПИ.
1
|
||
|
Супер-модератор
|
|
| 26.08.2016, 15:45 | |
|
Пробуем методы TDirectory, они работают быстрее ручного перебора через FindFirst/FindNext. Да, кстати, тебе-таки нужен список, или только количество?
0
|
|
|
|
||||||
| 26.08.2016, 15:48 | ||||||
|
По идее количество файлов в директории может где-то храниться в готовом виде.
Кажется были какие-то необычные функции, но не помню как называются. Просто как тест - сколько будет думать если в консоли набрать:
Судя по всему - просто количество.
0
|
||||||
| 26.08.2016, 15:57 [ТС] | |
|
Я тут погуглил : http://www.realcoding.net/arti... ast-2.html
И мне почему-то кажется, что мой код как раз и написан с помощью WinAPI. Или нет? Добавлено через 1 минуту volvo, сперва нужна информация о количестве файлов, а потом нужен и их список.
0
|
|
|
Супер-модератор
|
||||||
| 26.08.2016, 16:05 | ||||||
Сообщение было отмечено Gdasar как решение
Решение
1
|
||||||
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||||||||
| 26.08.2016, 16:20 | ||||||||
1
|
||||||||
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
||
| 26.08.2016, 16:44 | ||
|
0
|
||
|
2083 / 1574 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
|
|||||||
| 26.08.2016, 16:54 | |||||||
|
Чтобы долго с буфером не морочится можно вот так:
Не по теме:
1
|
|||||||
| 26.08.2016, 16:54 | |
|
Помогаю со студенческими работами здесь
20
Вывести итоговую строку с общим размером (в блоках) всех файлов в данной директории Получение списка файлов из директории Вывод списка файлов из директории Получение списка файлов в директории проекта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|