Panowie, prosze Was o pomoc:) Chcialabym odwolac sie do komponentu na Formie, ktorej nazwe mam w zmiennej. W jakis sposob to zrobic?
wklej troche kodu obecnego, latwiej bedzie pomoc :)
Załóżmy, że na Formie mam TEdit (np o nazwie pole) i chciałabym umieścić w nim tekst. Forma jest tworzona dynamicznie wiec mam tylko jej nazwe w zmiennej.
teraz rozumiem :) odpisze potem. Chcyba ze bedzie juz odpowiedz
Możesz zrobić coś takiego:
Program analizuje w pętli całą "zawartość" Form1, przeskakując po wszystkich kontrolkach (komponentach) jakie się na tej Formie znajdują, wyszukując tego który spełnia podane kryteria. W tym przypadku filtruje po klasie (TButton) komponentu i jego nazwie (Button1). Gdy znajdzie komponent pasujący do wyszukiwanego, przypisze go do zmiennej. Od tej chwili możesz z nim postępować jak ze zwykłym komponentem.
procedure WyszukajKomponent;
var
I: Integer;
B: TButton;
begin
for I:=0 to Form1.ControlCount-1 do
if (Form1.Controls[I] is TButton) and (Form1.Controls[I].Name='Button1') then
begin
B:=Form1.Controls[I] as TButton;
B.Caption:='ZROBIONE!';
end;
end;
Nie jest to może najbardziej elegancka i wydajna metoda (gdybyś miał setki kontrolek to mógłby być problem), ale działa.