![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Оптимизация
Даддитс © (2007-05-03 20:03:00)У меня в программе используется такой фрагмент:
with ListView^ do
for i:= 0 to 7 do
begin
S:= LVItems[LVCurItem - 1, i];
LVItems[LVCurItem - 1, i]:= LVItems[LVCurItem, i];
LVItems[LVCurItem, i]:= S;
end;
end;
Вычитал в книге у Фленова, что в таком случае Делфи с каждым проходом цикла каждый раз обращается к ListView, чтобы определить LVCurItem, тем самым замедляя работу. Это правда? Может быть, стоит переписать примерно так:
with Films^ do
begin
j:= LVCurItem;
for i:= 1 to 4 do
begin
S:= LVItems[j - 1, i];
LVItems[j - 1, i]:= LVItems[j, i];
LVItems[j, i]:= S;
end;
end;
L`Autour (2007-05-04 11:35:00) [1]Ставь току останова, запусти программу и просматривай данный участок кода в скомпилированном виде через окно отладки CPU (Ctrl+Alt+C)
Даддитс (2007-05-03 20:05:00) [2]т.е. переписать примерно так:
with Films^ do
begin
j:= LVCurItem;
for i:= 0 to 7 do
begin
S:= LVItems[j - 1, i];
LVItems[j - 1, i]:= LVItems[j, i];
LVItems[j, i]:= S;
end;
end;
Плохо что в форуме нельзя отредактировать написанное сообщение ...