[ главная ]   [ рейтинг статей ]   [ справочник радиолюбителя ]   [ новости мира ИТ ]



Ответов: 0
25-02-12 07:01







   Web - программирование
PHP


ASP






XML



CSS

SSI





   Программирование под ОС











   Web - технологии








   Базы Данных









   Графика






Данные




Программирование под ОС / Pascal - Delphi /

Массив компонентов

Возможно ли создание массива компонентов? Для показа статуса я использую набор LED-компонентов и хотел бы иметь к ним доступ, используя массив.

Прежде всего необходимо объявить массив:

LED : array[1..10] of TLed;      (10 элементов компонентного типа TLed) 

При необходимости динамического создания LED-компонентов организуйте цикл, пример которого мы приводим ниже:

for counter := 1 to 10 do
begin
LED[counter]:= TLED.Create;
LED[counter].top := ...
LED[counter].Left := ...
LED[counter].Parent := Mainform;   {что-то типа этого}
end;

Если компоненты уже присутствуют на форме (в режиме проектирования), сделайте их элементами массива, например так:

leds := 0;
for counter := 0 to Form.Componentcount do
begin
if (components[counter] is TLED) then
begin
inc(leds);
LED[leds] := TLED(components[counter]);
end
end;

Тем не менее у нас получился массив со случайным расположением LED-компонентов. Я предлагаю назначить свойству Tag каждого LED-компонента порядковый номер его расположения в массиве, а затем заполнить массив, используя это свойство:

for counter := 0 to Form.Componentcount do
begin
if (components[counter] is TLED) then
begin
LED[Component[counter].tag] := TLED(components[counter]);
end
end;

Если вам нужен двухмерный массив, то для формирования индекса понадобится другая хитрость, например, хранение в свойстве Hint информации о времени создания компонентов.



Комментарии

ivblgaiy
27-07-2011   
rJnN63 <a href="http://wcrlffjzoygm.com/">wcrlffjzoygm</a>

vvhcfarrihl
26-07-2011   
ubofRo , [url=http://lvoiwthqwija.com/]lvoiwthqwija[/url], [link=http://scpmyqkclqut.com/]scpmyqkclqut[/link], http://hmifkjqaavmj.com/

ktayfnbp
25-07-2011   
xk3532 <a href="http://qmbzbxxjvsou.com/">qmbzbxxjvsou</a>

Kayden
25-07-2011   
Action rqeuiers knowledge, and now I can act!

 Ваш комментарий к данному материалу будет интересен нам и нашим читателям!



Последние статьи: Программирование под ОС / Pascal - Delphi /

Работа со шрифтами на Win API
06-06-2010   

Сегодня поговорим о шрифтах, и о том, каким образом работать с ними на Win API. Нам потребуется переменная типа HFONT. Изменить стиль шрифта можно у любого компонента, я покажу это на примере кнопки... подробнее

Кол. просмотров: общее - 3809 сегодня - 1

Работа с таймером на Win API
06-06-2010   

Таймер - вещь в хозяйстве очень полезная. Если некое действие нужно повторять с определенной периодичностью, то таймер, это как раз то, что нужно... подробнее

Кол. просмотров: общее - 3801 сегодня - 0

Работа с мультимедийным таймером на Win API
06-06-2010   

Мы уже знакомы с системным таймером, сегодня познакомимся с мультимедийным, основное отличие которого, более высокая скорость (точность) работы... подробнее

Кол. просмотров: общее - 3920 сегодня - 0

Создание CheckBoxов средствами Win API
06-06-2010   

Сегодня наша программа научится работать с CheckBoxами. CheckBox можно представить как флаг, который можно установить или сбросить, и в зависимости от его состояния выполнять определенные действия... подробнее

Кол. просмотров: общее - 4062 сегодня - 0

Создание группы RadioButton средствами Win API
06-06-2010   

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

Кол. просмотров: общее - 3849 сегодня - 0



  WWW.COMPROG.RU - 2009-2012 | Designed and Powered by Zaipov Renat | Projects