![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Есть функция, на вход которой подаётся
Код:
var sbItems: arTStrings; var cpItems: arString Код:
type arTStrings = array of TStrings; type arString = array of string; Вот сама функция: Код:
with FormMain.ListGame do begin Clear; count := Length(gameList) - 1; if count > FormMain.spnMaxCount.value then count := FormMain.spnMaxCount.value; if count > 0 then FormLoadScreen.Showload; {На вышеприведенные мусор не обращайте внимание. Это просто подсчёт количества Item'ов и вычистку ListView'а} for i := 0 to count do begin FormLoadScreen.SetCount(i, count); //Это чисто техническая. Не обращайте внимания li := Items.Add; //Добавляем пустой Item li.Data := gameList[i]; //Приписываем ему объект li.Caption := cpItems[i]; //Приписываем ему Caption li.ImageIndex := -1; //Приписываем пустой значок li.SubItems := sbItems[i]; //Приписываем SubItem'ы li.SubItemImages[9] := 2; //Одному из SubItem'ов приписываем значок end; end; FormLoadScreen.HideLoad; Данный метод работает очень медленно. Уже поздно, поэтому зависимость Time(count) пока проводить не буду. Но при count = 13500 заполняет 18 секунд на не самом медленном процессоре! Есть возможность оптимизировать? |