Групповые опперации с контролами
Falk0ner, вс, 06/07/2008 - 15:34.
3) Далее присваиваем указатели массиву:
Все, теперь к каждому CheckBox можно обратится как к элементу массива:
arr[5].checked:=true;
Так как здесь массив статический никаких действий по освобождению памяти делать не надо, по уничтожении компонентов деструктором формы элементы массива будут показывать вникуда. В любом случае этот массив занимает в памяти 40 байт - не большая плата за скорость и удобство.
Если например эти 10 CheckBox все время используются для групповых операций, чтобы не перебирать компоненты можно сделать так.
1) Берем ставим на форму 10 CheckBox
2) объявляем массив
var arr:array[1..10] of TCheckBox
3) Далее присваиваем указатели массиву:
{©Drkb v.3(2007): <a href="http://www.drkb.ru" title="www.drkb.ru">www.drkb.ru</a>,
®Vit (Vitaly Nevzorov) - nevzorov@yahoo.com}
For i:=1 to 10 do
arr[i]:=FindComponent(Format('CheckBox%d',[i])) as TCheckBox;
®Vit (Vitaly Nevzorov) - nevzorov@yahoo.com}
For i:=1 to 10 do
arr[i]:=FindComponent(Format('CheckBox%d',[i])) as TCheckBox;
Все, теперь к каждому CheckBox можно обратится как к элементу массива:
arr[5].checked:=true;
Так как здесь массив статический никаких действий по освобождению памяти делать не надо, по уничтожении компонентов деструктором формы элементы массива будут показывать вникуда. В любом случае этот массив занимает в памяти 40 байт - не большая плата за скорость и удобство.
Автор: Vit (www.delphist.com, www.drkb.ru, www.unihighlighter.com, www.nevzorov.org)
Взято с Vingrad.ru http://forum.vingrad.ru
Отправить комментарий