И еще раз про массивы
Как можно присвоить значение всем елементам массива одновременно?
Есть массив:
TRect R[5];
возможно ли свойству Left в каждом елементе присвоить значение одновременно
(без for(i = 0;i < 5;i++)R.Left = чему-то)?????
Вообще идея такая, меня заинтересовало, как в Excel или даже в StringGrid при изменении ширины столбца меняется ширина у всех ячеек в столбце ОДНОВРЕМЕННО... пробовал реализовать подобное с помощью цикла, но когда елементов много начинает тормозить...
Всем заранее спасибо!!!
Цитата:
Как можно присвоить значение всем елементам массива одновременно?
В общем случае никак. Можно забить всю память массива нулями, или другими однообразными значениями, но это не то.
Проблема с производительностью связана не с циклом, а тем что внутри него делается. Заполнение элемента массива - это всего несколько машинных инструкций - тормозов здесь никак не может быть (при разумных размерностях конечно :)), т.е. внутри цикла у тебя вызывается что-то еще.
я хочу сотварить класс наследник TCustomControl, в котором бы рисовалась таблица, но проблема именно в быстром изменении ширины столбца и высоты строки... если это делать с помощью цикла, т.е. последовательно изменять каждую ячейку, то на экране заметно противное мерцание... Вот я и подумал может есть способ сделать это быстрее...
Цитата:
Originally posted by Gerret
С этим понятно, но всеже про Excel???
я хочу сотварить класс наследник TCustomControl, в котором бы рисовалась таблица, но проблема именно в быстром изменении ширины столбца и высоты строки... если это делать с помощью цикла, т.е. последовательно изменять каждую ячейку, то на экране заметно противное мерцание... Вот я и подумал может есть способ сделать это быстрее...
С этим понятно, но всеже про Excel???
я хочу сотварить класс наследник TCustomControl, в котором бы рисовалась таблица, но проблема именно в быстром изменении ширины столбца и высоты строки... если это делать с помощью цикла, т.е. последовательно изменять каждую ячейку, то на экране заметно противное мерцание... Вот я и подумал может есть способ сделать это быстрее...
Возможно, в экселе изменяется ширина только у тех ячеек, которые отображаются на экране, зачем что-то делать с остальными, если они не видны..
Соответственно и цикл будет максимум по.. пускай даже сотне.. ячеек.