"Niekonkertne nazwa komponentu"

0

W jaki sposób otrzymać "niekonkretną nazwę komponentu", czyli dostać się do komponentów, których nazwy mają np. taki sam początek, i jedynie końcówka się zmienia.

Jeśli ktoś nadal nie wie o co mi chodzi, pokażę na przykładzie

for num:=0 to 10 do
begin
mylabel:=TLabel.Create(mainframe);
mylabel.Parent:=Panel1;
mylabel.Top:=16+16*num;
mylabel.Left:=8;
mylabel.Caption:=subjects[num-1];
mylabel.Show;
mylabel.Name:='label'+inttostr(num);
end;

Oczywiście mógłbym się próbować odwołać do każdego labela osobno, ale w przypadku, gdy będzie ich nie ustalona ilość, będzie trudniej...

Jako flashowiec jestem przyzwyczajony, że do każdego elementu programu mogę się odwołać np tak:

this["label"+num]._alpha=100;

Mam nadzieję, że nie zagmatwałem za bardzo sprawy, i proszę o szybką odpowiedź.

0

IMHO najprościej robi się to tworząc labele jako elementy array of TLabel (dynamicznej lub niekoniecznie). I odwolujesz się potem

TablicaLabelow[7].Caption:='to jest osmy label bo tablice dynamiczne numeruja sie od zera';

Poszukaj na forum, było wiele razy.

0

A FindComponent od czego ?

0

Dzięki, dzięki...
Pewnie bym znów musiał się nad tym męczyć kilka dobrych godzin(choć już się męczę nad tym troche czasu).

Kto by pomyślał, to nawet działa (-:

1 użytkowników online, w tym zalogowanych: 0, gości: 1