Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.11.25;
Скачать: CL | DM;

Вниз

Оптимизация   Найти похожие ветки 

 
Даддитс   (2007-05-03 20:03) [0]

У меня в программе используется такой фрагмент:

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;


 
Даддитс   (2007-05-03 20:05) [1]

т.е. переписать примерно так:

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;


Плохо что в форуме нельзя отредактировать написанное сообщение ...


 
L`Autour ©   (2007-05-04 11:35) [2]

Ставь току останова, запусти программу и просматривай данный участок кода в скомпилированном виде через окно отладки CPU (Ctrl+Alt+C)



Страницы: 1 вся ветка

Текущий архив: 2007.11.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
2-1193996679
Dmitry_177
2007-11-02 12:44
2007.11.25
как сделать понулям секунды в TDateTime?


2-1193925089
Darvin
2007-11-01 16:51
2007.11.25
Скроллинг в DrawGrid


2-1194252023
Angelka
2007-11-05 11:40
2007.11.25
flash


15-1192992887
@!!ex
2007-10-21 22:54
2007.11.25
Восстановление аккаунта The Bat


2-1194260362
ProgRAMmer Dimonych
2007-11-05 13:59
2007.11.25
TMemoryStream (ограничения)