Прежде всего необходимо объявить массив:
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 информации о времени создания компонентов. [000055]