|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.05.2010, 19:20 | #1 |
Пользователь
Регистрация: 02.05.2010
Сообщений: 26
|
Файловый менеджер
Привет всем. Я начинающий программист. Моя дипломная работа - файловый менеджер. Тема такая. Хоту написать такой софт равносильно Total Commander. Первая трудность состоит в том, что отображение файлов происходит очень ме6дленно. Использую компонент ListView. Но очень медленно происходит заполнение файла. Пробывал грузить через потом, быстрее но все равно по полосе прокрутке видно что файлы еще грузятся. Пример. Создал на диске папку. Имя '1'. В этой папке создал 20 000 папок. При вхождении Totol Commandera заполнение и отображение занимает около 2 секунд, в то время как сам винда заходит в 2 раза медленнее. Хочу что бы мой софт был на таком уровне иначе не примут дипломку. Потом в нашел компонент SHellListView. Стандарстное отображение файлов. Но он слишком грамосткий и перерисовка не как в Total COmmander. Мне нужно что бы помогли мне сделать. Нужно как то использовать SHellListView и брать оттуда файлы, то есть именно заполнение происходило через SHellListView, а отображение на копмоненте, который я мог управлять на подобие ListViewю. Подскажите мне как это РЕАЛИЗВАТЬ?
|
06.05.2010, 09:59 | #2 |
-=PriZraK=-
Форумчанин
Регистрация: 12.12.2007
Сообщений: 399
|
akosh12345, да все очень легко. Тебе нужно самому, ручками получать список файлов и передавать этот список в какой-нить компонент. Например в listbox. Делается это весьма просто, при помощи обычных функций дельфи:
Код:
Однако если мой вариант не устраивает, есть еще несколько альтернатив: - Искать в инете готовый компонент, который будет Вас удовлетворять. Дешево и средито. - Править уже имеющиеся компоненты или написать свои собственные. Последний раз редактировалось prizrak1390; 06.05.2010 в 10:04. |
06.05.2010, 14:48 | #3 |
Пользователь
Регистрация: 02.05.2010
Сообщений: 26
|
Пробывал тот метод. Забивал в TListView. очень долго. Пробывал забивку заталкать в поток еще медленее, но компонентом могу упр. 20 000 папок в папке открывает 20 - 30 секунд. Это очень долго. Total открывает 1.5-2 секунды. Очень быстро как этого добиться?
|
06.05.2010, 15:39 | #4 |
Участник клуба
Регистрация: 23.04.2009
Сообщений: 1,058
|
может попросить гуру написать на asm эту функцию
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
|
09.05.2010, 22:58 | #5 |
Пользователь
Регистрация: 02.05.2010
Сообщений: 26
|
Нам не обьяснили ассемблер. Так что нужно я думаю написать на Делфи. Наверника есть какой нибудь простой способ. Вот только нужно его найти
|
10.05.2010, 09:57 | #6 |
Участник клуба
Регистрация: 23.04.2009
Сообщений: 1,058
|
а сам цикл сколько по времени длиться? без забивания отображения куда либо? тут либо цикл оптимизировать либо компонент искать для отображения другой
Если вам человек помог, не стесняйтесь говорить спасибо (весы под аватаром)
|
10.05.2010, 16:55 | #7 |
Пользователь
Регистрация: 02.05.2010
Сообщений: 26
|
сам цыкл около 10-12 секунд. Я не знаю что может быть быстрее цыкла. Это разве возможно?
|
10.05.2010, 21:37 | #8 |
Пользователь
Регистрация: 08.06.2008
Сообщений: 74
|
Крайне рекомендую почитать про VirtualTreeView и VirtualListView - это то, что вам надо для скорости.
|
11.05.2010, 08:10 | #9 |
Участник клуба
Регистрация: 28.07.2009
Сообщений: 1,510
|
Сейчас сам попробовал создать 10000 папок и отобразить их в listview. Заняло это порядка 2-3 секунд. У тотала на это уходит на 0.5-1 секунд поменьше. Но это и есть как раз отрисовка в listbox. Вы наверное неправильно поиск организовывали.
|
11.05.2010, 09:06 | #10 |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Если очень нужно могу кинуть свой компонент дерева папок и файлов, который я писал для замены ShellTreeView
I'm learning to live...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Файловый менеджер | Яр|/||< (^_^) | Общие вопросы Delphi | 4 | 16.10.2011 00:55 |
файловый менеджер | чижик-пыжик | Общие вопросы .NET | 1 | 05.03.2010 11:51 |
Файловый менеджер на C | sht0p0r | Помощь студентам | 3 | 07.12.2008 16:47 |
файловый менеджер | greyshadow | Общие вопросы Delphi | 3 | 16.09.2007 19:23 |