Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

И еще раз про массивы

451
02 апреля 2003 года
Gerret
51 / / 20.05.2000
Доброго времени суток!
Как можно присвоить значение всем елементам массива одновременно?
Есть массив:
TRect R[5];

возможно ли свойству Left в каждом елементе присвоить значение одновременно
(без for(i = 0;i < 5;i++)R.Left = чему-то)?????

Вообще идея такая, меня заинтересовало, как в Excel или даже в StringGrid при изменении ширины столбца меняется ширина у всех ячеек в столбце ОДНОВРЕМЕННО... пробовал реализовать подобное с помощью цикла, но когда елементов много начинает тормозить...

Всем заранее спасибо!!!
2.0K
02 апреля 2003 года
segev
67 / / 19.01.2003
Gerret
Цитата:

Как можно присвоить значение всем елементам массива одновременно?


В общем случае никак. Можно забить всю память массива нулями, или другими однообразными значениями, но это не то.
Проблема с производительностью связана не с циклом, а тем что внутри него делается. Заполнение элемента массива - это всего несколько машинных инструкций - тормозов здесь никак не может быть (при разумных размерностях конечно :)), т.е. внутри цикла у тебя вызывается что-то еще.

451
02 апреля 2003 года
Gerret
51 / / 20.05.2000
С этим понятно, но всеже про Excel???
я хочу сотварить класс наследник TCustomControl, в котором бы рисовалась таблица, но проблема именно в быстром изменении ширины столбца и высоты строки... если это делать с помощью цикла, т.е. последовательно изменять каждую ячейку, то на экране заметно противное мерцание... Вот я и подумал может есть способ сделать это быстрее...
2.1K
02 апреля 2003 года
Murzilka
23 / / 23.12.2002
Цитата:
Originally posted by Gerret
С этим понятно, но всеже про Excel???
я хочу сотварить класс наследник TCustomControl, в котором бы рисовалась таблица, но проблема именно в быстром изменении ширины столбца и высоты строки... если это делать с помощью цикла, т.е. последовательно изменять каждую ячейку, то на экране заметно противное мерцание... Вот я и подумал может есть способ сделать это быстрее...


Возможно, в экселе изменяется ширина только у тех ячеек, которые отображаются на экране, зачем что-то делать с остальными, если они не видны..
Соответственно и цикл будет максимум по.. пускай даже сотне.. ячеек.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог