Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];

Вниз

Текст в ячейках Stringrid и память   Найти похожие ветки 

 
Medved_   (2006-12-01 13:42) [0]

Здраствуйте.
Уважаемые мастера, скажите как
съэкономить память в данном примере для Stringgrid(если
неотпускаешь кнопку вниз или PageDown) идет
колоссальная потеря памяти.

var
SizeLeftCol:integer;

procedure TForm1.sgTopLeftChanged(Sender: TObject);
var
i:integer;
begin
if sg.FixedCols >0 then
 begin
   for i:=sg.TopRow to (sg.TopRow+sg.TopRow+sg.VisibleRowCount-1) do
   sg.Cells[0,i]:=inttostr(i-1);
   SizeLeftCol:=sg.Canvas.TextWidth(inttostr(sg.TopRow+sg.VisibleRowCount-1));
   sg.ColWidths[0]:=SizeLeftCol+10;
 end;
end;

Заранее спасибо.


 
Jeer ©   (2006-12-01 17:32) [1]


> колоссальная потеря памяти.


Чьей ?


 
Igor_Zal   (2006-12-01 23:41) [2]

Нажмите CTR+ALT+DEl с программой, реализующий данный алгоритм и все станет ясно.


 
Medved_   (2006-12-02 08:56) [3]

Самое главное забыл сказать:
RowCount = 65536 (как в Excel) и для того, чтобы при загрузке
программы  - она быстро открывалась я выбрал  тот вариант.
Если же при загрузке сразу писать
if sg.FixedCols >0 then
begin
  for i:=0 to sg.RowCount-1 do
  sg.Cells[0,i]:=inttostr(i+1);
  SizeLeftCol:=sg.Canvas.TextWidth(inttostr(sg.TopRow+sg.VisibleRowCount-1));
  sg.ColWidths[0]:=SizeLeftCol+10;
end;
то загрузка занимает очень много времени.
И при этом, если если
неотпускаешь кнопку вниз или PageDown) идет постоянное опускание увеличение Row и памяти расходуется по возрастающей.
В Excele такого нет, хотя я думаю подход у них такой же, только
с память они как-то организовали процесс.


 
ЮЮ ©   (2006-12-02 09:29) [4]

Какая же это загрузка?

StringGrid1.RowCount := 65536; и отрисовывать номер в OnDrawCell, а не создавать 65536 тысяч строк, в смысле string



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

Форум: "Основная";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.043 c
9-1142617297
rkpd
2006-03-17 20:41
2007.01.28
Как сделать, чтобы человечек "бегал" красиво?


2-1168215707
Ским
2007-01-08 03:21
2007.01.28
опять про Zlib. Отдельной темой.


15-1168276887
ZiTRaX
2007-01-08 20:21
2007.01.28
Какие авторы считаются лучшими???


1-1165327777
dreamse
2006-12-05 17:09
2007.01.28
Ошибка при загрузке компонента из файла


15-1167328750
VictorT
2006-12-28 20:59
2007.01.28
Подскажите, плиз, что за музыка играет в клипе?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский