Главная страница
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
15-1192196946
TwentyThird
2007-10-12 17:49
2007.11.25
Программист - одна из худших профессий 21-го века


11-1178463952
Ned
2007-05-06 19:05
2007.11.25
Мультиудаление в ListBox


15-1193393342
Kerk
2007-10-26 14:09
2007.11.25
Синхронизация потоков


1-1188751429
ins
2007-09-02 20:43
2007.11.25
Видео в TWebBrowser


15-1192887600
Tirael
2007-10-20 17:40
2007.11.25
есть ли способ