![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Быстрая очистка StringGrid [D5, Win95/98]
Bishop © (2002-12-08 23:56:00)Здравствуй и процветай всезнающий All. Подскажите:
Как быстро очистить StringGrid, чтоб не очищать каждую ячейку?
Zwerg (2002-12-10 13:05:00) [1]TStringGrid хранит данные в разреженной матрице (Sparced Matrix),
доступ к Cell[], Rows[], Cols[] нетривиален. Поэтому проще
пересоздать TStringGrid ;)
Separator (2002-12-10 08:03:00) [2]Не прокатит, так как реально данные не будут уничтожены. Попробуй сначала заполнить таблицу, потом уменьшить ее размер и тут же снова увеличить до исходного, все данные останутся на месте.
mmb (2002-12-10 07:59:00) [3]Если установить RowsCount := 1 и ColsCount := 1?
Anatoly Podgoretsky (2002-12-09 11:30:00) [4]Хранение данных в TSringGrid весьма сложно и преобразование из в row/col/text не является быстрой операцией, если же учистять полностью, то Free/Create будет во много раз быстрее
Alexander Vasjuk (2002-12-09 11:22:00) [5]Separator © (09.12.02 08:54)
Видимо храниться в Rows а Cols создаються из Rows
Дмитрий К.К. (2002-12-09 09:20:00) [6]Да замочить его тогда и заново родить! ;)
Separator (2002-12-09 08:54:00) [7]тот же тайминг:
Cells[i,j] := "" 17841 мс.
Cols[i].Text := "" 13481 мс
Rows[i].Text := "" 8766 мс - самый продуктивный
Странно раньше результат был другим.
Кстати а почему к Rows доступ быстрее чем к Cols
MBo (2002-12-09 08:50:00) [8]P.S.
Освобождение и пересоздание этого StringGrid - 300 мс ;)
MBo (2002-12-09 08:43:00) [9]тайминг c 500x500 заполненных ячеек
Cells[i,j]:="" 9000 мс.
Rows[i].Clear 7100 мс
Rows[i].Text:="" 4200 мс
Separator (2002-12-09 08:22:00) [10]
> MBo © (09.12.02 08:06)
Этот способ работает еще медленне чем простой перебор всех ячеек
MBo (2002-12-09 08:06:00) [11]with stringgrid1 do
for i:=FixedRows to RowCount-1 do
Rows[i].Clear;
PKT (2002-12-09 07:51:00) [12]to: Tundra (09.12.02 07:34)
А сам не пробовал ? Не прокатит этот способ.
Tundra (2002-12-09 07:34:00) [13]Попробуй RowCount и ColCount установить в 1, а затем вернуть в прежнее состояние
Sha (2002-12-09 00:32:00) [14]Придется очищать, тут никуда не деться...