Wątek przeniesiony 2014-09-01 02:19 z Delphi i Pascal przez olesio.

Szukanie formy po nazwie

0

Panowie, prosze Was o pomoc:) Chcialabym odwolac sie do komponentu na Formie, ktorej nazwe mam w zmiennej. W jakis sposob to zrobic?

0

wklej troche kodu obecnego, latwiej bedzie pomoc :)

0

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.

0

teraz rozumiem :) odpisze potem. Chcyba ze bedzie juz odpowiedz

0

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.

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