![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
Загрузка как таковая происходит за пару милисекунд, неважно как это делать. Время уходит на добавление строк в визуальный компонент, т.е. если сделать загрузку в TStringList она пройдет в мгновение ока, а вот уже ListBox1.Items:=StringList; процесс длительный (как именно переносить строки, не имеет значения, время то же), по длительности равнозначный простому ListBox1.Items.LoadFromFile, отсюда можно сделать вывод что ускорять нужно не загрузку а отображение, т.е. TFileStream тут ничем не поможет. Если построчно в цикле добавлять в ListBox строки, будет еще дольше.
У меня добавление строк в ListBox грузит проц по полной программе, на 100%. Это наверное двухъядерный на 50% грузит, одно ядро. Dux, можно немного схитрить. Сразу загрузить только видимую часть с небольшим запасом, допустим в видимую часть списка в данный момент поместится 50 строк, загрузить туда 200. И так с каждым. Будет быстро. И пользователю ждать не нужно будет. А остальное подгрузить постепенно в фоне, будет эффект открытия большой таблицы в браузере с не очень быстрым подключением, верх доступен а низ еще грузится. Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог Последний раз редактировалось mutabor; 29.10.2008 в 22:26. |
|
![]() |
![]() |
![]() |
#12 | |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
![]()
Вы как-то сказали что метод Text:=Text; сработал быстрее, может попробовать
Код:
Цитата:
Всё гениальное - просто!
![]() Последний раз редактировалось Air; 29.10.2008 в 22:37. |
|
![]() |
![]() |
![]() |
#13 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
![]()
У меня появилась гипотеза что автору нужны списки в памяти а не на экране. Тогда проблема отпадает. Ждем пояснений.
Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
![]() |
![]() |
![]() |
#14 | |
Delphi Master
Форумчанин Подтвердите свой е-майл
Регистрация: 31.03.2008
Сообщений: 803
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#15 |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
![]()
Dux что по поводу 11 и 13 постов?
Всё гениальное - просто!
![]() |
![]() |
![]() |
![]() |
#16 | |
Delphi Master
Форумчанин Подтвердите свой е-майл
Регистрация: 31.03.2008
Сообщений: 803
|
![]() Цитата:
Как выглядит программа визуально, можете посмотреть здесь http://www.marinedictionary.ru/dictionary.htm Сейчас работаю над новой версией Последний раз редактировалось Dux; 29.10.2008 в 23:03. |
|
![]() |
![]() |
![]() |
#17 | |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
![]()
Ведь поиск производится не моментально после запуска проги и даже не спустя 10 сек., можно подгружать списки в фоне, по возможностям CPU.
А пока грузится, отвлечь пользователя инфой о возможностях проги. (это так к примеру) Что я придумал! Вы же ищите в листбоксе? А почему бы не искать в StringList? туда загрузка производится быстрее, а результаты помешать в листбокс? __ P.S. всмысле БД хранить в StringList а по мере необходимости загружать в листбокс __ Цитата:
Всё гениальное - просто!
![]() Последний раз редактировалось Air; 29.10.2008 в 23:14. |
|
![]() |
![]() |
![]() |
#18 | |
Delphi Master
Форумчанин Подтвердите свой е-майл
Регистрация: 31.03.2008
Сообщений: 803
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#19 |
Участник клуба
Регистрация: 30.04.2007
Сообщений: 1,307
|
![]()
почему бы и нет.
Работа проще некуда Код:
По экспериментируйте для начала в отдельной проге, на предмет загрузки списков из StringList в листбокс по необходимости, если результат удовлетворит, то можно и попыхтеть со справочником.
Всё гениальное - просто!
![]() |
![]() |
![]() |
![]() |
#20 |
Delphi Master
Форумчанин Подтвердите свой е-майл
Регистрация: 31.03.2008
Сообщений: 803
|
![]()
Попробовал такой вариант, однако результат тот же - 12 сек
Код:
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не открывает из списка файлов ListBox | SANTA_KLAUD | Общие вопросы Delphi | 8 | 27.05.2008 20:30 |
Как ускорить загрузку битмапа в tImage | Altera | Мультимедиа в Delphi | 10 | 24.03.2008 17:39 |
Как прочесть txt файл www.site.ru/info.txt | BR17UY | Работа с сетью в Delphi | 1 | 16.04.2007 13:01 |
как считать данные с Txt файла? | Alar | Общие вопросы Delphi | 0 | 29.10.2006 20:12 |