Страница: 1 |
Всем привет! Задумался тут, как ЭТО делается дествительно БЫСТРО? До сих пор пользуюсь примерчиком, скачанным отсюда: ---------------------------------------------------------- | http://www.buygold.net/v06n09/ListviewShowFileIcon.zip | ---------------------------------------------------------- Хороший примерчик, вот только... ...работает он больно медленно... Для сравнения скорости работы я использовал Таймер. Так вот, мою папку System32 (2114 элементов) он открывает за 6.6 секунд!!! Я его немного подоптимизировал и достиг 5.5 секундного открытия... А вот МастДай это делает за 0.3 сек. А Total, который Commander, справился с заданием за менее чем 0.1 секунду! Понимаю, СИшный код намного шустрее, но не настолько же!!! То есть, наверняка есть намного более рациональный способ. Да вот не встречал я других - все слизаны с этого. Вообще, думаю, для максимальной скорости нужно написать библиотечку на Асме, а потом прикрутить её к VB. Ну, есть такие, кто горазд обогнать Total'a???
Разве в Total ListView? Класс - TMyListBox - непохоже... Согласен, в Total класс TMyListBox, да, но по сути - это и есть переименованный TListView. Для примера - в Total'e TComboBox переименован в TMyComboBox, TPanel - в TMyPanel и т.д. Замудрили они... Хотя, возможно я и ошибаюсь. Но даже и так - факт остается фактом - Тотал (со своим Делфи) очень шустр, а Бэйсик тормозит. Либо же есть намного более рациональный способ, чем в приведенном выше примере. Его то я и жду от Вас... Поделитесь, кто знает, наконец. Короче, если влом качать пример, то в кратце... Там вовсю используется функция SHGetFileInfo из shell32 и ImageList_Draw из comctl32. То есть, перво функцие выдерается иконка, ассоциированная с файлом, а потом рисуется второй в PictureBox, из которого потом добавляется иконка в ImageList и отображается в ListView. Но! Как замуженно это сделано! И не оптимизировано, и с одной (пусть и небольшой) ошибкой (перепутали > и >=, в результате чего в 9х этот код глючит). Так что ждем-с альтернативы. Разница в 20 раз? По моему он довольно шустро работает. Могло быть и больше. Вот именно, что шустро! А как добиться такой же быстроты в СВОЕМ приложении? Ведь, согласитесь, кто будет пользоваться Ваше программой, когда программа-конкурент работает в 20 раз быстрее?! Страница: 1 |
Вопрос: Как БЫСТРО отобразить список файлов с иконками?
Добавлено: 02.04.04 16:23
Автор вопроса: KorDen | ICQ: 329465302
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #1
Добавлено: 02.04.04 22:34
Номер ответа: 2
Автор ответа:
KorDen
ICQ: 329465302
Вопросов: 4
Ответов: 11
Профиль | | #2
Добавлено: 03.04.04 05:37
Номер ответа: 3
Автор ответа:
@CyRax PTR
ICQ: 204447456
Вопросов: 28
Ответов: 664
Web-сайт:
Профиль | | #3
Добавлено: 03.04.04 07:21
Номер ответа: 4
Автор ответа:
KorDen
ICQ: 329465302
Вопросов: 4
Ответов: 11
Профиль | | #4
Добавлено: 03.04.04 08:24