Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Как ускорить загрузку списка ListBox из txt-файла?

28K
29 октября 2008 года
_Dux_
30 / / 16.08.2008
У меня на главной форме 5 компонентов ListBox. В каждый из них загружаются данные из txt-файлов объемом по 1 Мб. Способ загрузки обычный
listbox1.Items.LoadFromFile('file.txt'); Дело в том, что процесс загрузки занимает около 12 секунд. Есть ли возможность ускорить этот процесс?
3.2K
29 октября 2008 года
Гудвин
186 / / 22.12.2007
если файлы повторяются можно в один загрузить из файла, в остольные из него. Что-то типа
listbox2.Items.addstrings(listbox1.Items);
в памяти все одно быстрее будет

другой вариант, если файлы действительно крупные, сделать на форме что-то типа двигающегося индикатора загрузки, типа "думаю... подождите", сделать свою процедуру загрузки и на каждом обходе цикла поставить application.processmessage как-то так, или сделать это в отдельном потоке, чтоб в это же время были доступны и другие функции программы.
261
29 октября 2008 года
ahilles
1.5K / / 03.11.2005
Цитата: _Dux_
Есть ли возможность ускорить этот процесс?


возможность есть только одна: написать свою функцию закгрузки из файла.

28K
29 октября 2008 года
_Dux_
30 / / 16.08.2008
Цитата: Гудвин
или сделать это в отдельном потоке, чтоб в это же время были доступны и другие функции программы.



буду пробовать это вариант, спасибо

303
29 октября 2008 года
makbeth
1.0K / / 25.11.2004
Честно говоря, не совсем понятно, зачем пользователю столько строк одновременно в списке? Может как-то это дело оптимизировать в плане сокращения количества строк?
Если собираешься делать загрузку в отдельном потоке, то обрати внимание, что VCL не потокобезопасен. Поэтому стоит загружать в отдельном потоке списки сначала в память (например в TStringList), а потом уже в TListBox...
28K
29 октября 2008 года
_Dux_
30 / / 16.08.2008
Это электронный словарь и колиство строк (слов) постоянно пополняется..
6
30 октября 2008 года
George
4.1K / / 05.01.2007
сделай сплэшскрин, во время загрузки программы загрузи все строки в какой-нибудь глобальный StringList и от него пляши. Все изменения и т.д. делай со StringList'ом, при выходе сохраняй в файл.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог