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

Вниз

Быстрая очистка StringGrid   Найти похожие ветки 

 
Bishop ©   (2002-12-08 23:56) [0]

Здравствуй и процветай всезнающий All. Подскажите:
Как быстро очистить StringGrid, чтоб не очищать каждую ячейку?


 
Sha ©   (2002-12-09 00:32) [1]

Придется очищать, тут никуда не деться...


 
Tundra   (2002-12-09 07:34) [2]

Попробуй RowCount и ColCount установить в 1, а затем вернуть в прежнее состояние


 
PKT   (2002-12-09 07:51) [3]

to: Tundra (09.12.02 07:34)
А сам не пробовал ? Не прокатит этот способ.


 
MBo ©   (2002-12-09 08:06) [4]

with stringgrid1 do
for i:=FixedRows to RowCount-1 do
Rows[i].Clear;


 
Separator ©   (2002-12-09 08:22) [5]


> MBo © (09.12.02 08:06)

Этот способ работает еще медленне чем простой перебор всех ячеек


 
MBo ©   (2002-12-09 08:43) [6]

тайминг c 500x500 заполненных ячеек
Cells[i,j]:="" 9000 мс.
Rows[i].Clear 7100 мс
Rows[i].Text:="" 4200 мс


 
MBo ©   (2002-12-09 08:50) [7]

P.S.
Освобождение и пересоздание этого StringGrid - 300 мс ;)


 
Separator ©   (2002-12-09 08:54) [8]

тот же тайминг:
Cells[i,j] := "" 17841 мс.
Cols[i].Text := "" 13481 мс
Rows[i].Text := "" 8766 мс - самый продуктивный

Странно раньше результат был другим.
Кстати а почему к Rows доступ быстрее чем к Cols


 
Дмитрий К.К. ©   (2002-12-09 09:20) [9]

Да замочить его тогда и заново родить! ;)


 
Alexander Vasjuk   (2002-12-09 11:22) [10]

Separator © (09.12.02 08:54)
Видимо храниться в Rows а Cols создаються из Rows


 
Anatoly Podgoretsky ©   (2002-12-09 11:30) [11]

Хранение данных в TSringGrid весьма сложно и преобразование из в row/col/text не является быстрой операцией, если же учистять полностью, то Free/Create будет во много раз быстрее


 
mmb ©   (2002-12-10 07:59) [12]

Если установить RowsCount := 1 и ColsCount := 1?


 
Separator ©   (2002-12-10 08:03) [13]

Не прокатит, так как реально данные не будут уничтожены. Попробуй сначала заполнить таблицу, потом уменьшить ее размер и тут же снова увеличить до исходного, все данные останутся на месте.


 
Zwerg   (2002-12-10 13:05) [14]

TStringGrid хранит данные в разреженной матрице (Sparced Matrix),
доступ к Cell[], Rows[], Cols[] нетривиален. Поэтому проще
пересоздать TStringGrid ;)



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

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

Наверх




Память: 0.49 MB
Время: 0.018 c
1-61621
Анна
2002-12-06 16:31
2002.12.19
использование dll C++ в Delphi


14-61752
Sergey_Suhoy
2002-11-27 06:18
2002.12.19
Три житейских вопроса Мастерам или Послание от юзера


1-61613
MVVD
2002-12-10 14:00
2002.12.19
Чудеса с Memo


3-61474
Tlotr
2002-11-28 15:23
2002.12.19
Разное форматирование в одной колонке


1-61596
Maxim_
2002-12-08 22:43
2002.12.19
TListView