Gdy nazwa komponentu jest w zmienej..

0

witam.

mam taki problem, że w zmiennej 'Komponent' typu string mam nazwe jakiegoś komponentu, np:

<font color="blue">Komponent:='Button1'</span> (komponent o nazwie button1 oczywiście istnieje i nie jest tworzony dynamicznie)

i teraz chciałbym zrobić coś na styl:

Komponent.Visible:=False;

//chce żeby ukrył komponent o nazwie 'button1'

no i wiadomo oco chodzi... szukam tego już jakiś czas, ale też nie bardzo wiem jak takie coś szukać.

jakby ktoś coś wiedział to prosze (a nawet błagam :p) o jakieś info

0

Tak z czystej ciekawości po co wstawiać nazwę komponentu do zmiennej??

0

FindComponent i rzutowanie typów.

0

No tak, FindComponent [glowa] ale ze mnie baran, dzięki Sasik.

Bełdzio - po co mi ? ano po to, że ... oj duużo by pisać :-) ale jest mi to potrzebne, tyle moge ci powiedzieć :-)

nie mniej jednak, jeśli ktoś by wiedział jak zrobić coś na styl:

Komponent.Visible:=False; //'komponent' to oczywiście zmienna typu string w której siedzi nazwa komponentu

to było by fajnie

0

W zasadzie możesz stworzyć zmienną typu jakiegoś komponentu, np. dla Buttona TButton itp. I dalej już jest wtedy prosto To znaczy mam na myśli albo stworzenie dynamicznie komponentu, albo zrobienie czegoś takiego:

var przycisk: TButton;
begin
  przycisk:=Button1;
  przycisk.Visible:=True;
end;

A skoro wtedy w komponent miałeś nazwę (name) komponentu, to w ten sposób masz to w przycisk.name. O to ci chodziło ?

0

Zauważ, że 'Button 1' to nie komponent, tylko nazwa tego komponentu. Przelicz wszystkie komponenty na formie typu TButton i sprawdź czy name tego komponentu to 'Button 1'. Jeśli tak to ukryj ten komponent.

0

<font color="green">Zauważ, że 'Button 1' to nie komponent, tylko nazwa tego komponentu. Przelicz wszystkie komponenty na formie typu TButton i sprawdź czy name tego komponentu to 'Button 1'. Jeśli tak to ukryj ten komponent.</span>

Hmm przecież dopiero było pisane: FindComponent .. - i wszystko w temacie.. żadnego jechania po komponentach.

0

Właśnie znalazłem dokładnie to o co mi chodziło [hurra] [hurra]
Zarzuce kodem, może kiedyś sie komuś przyda:

var Nazwa_Komponentu: String;
Begin
  Nazwa_Komponentu := 'button1';
  TButton(FindComponent(Nazwa_Komponentu)).Visible:=False;

end;

ten kod chowa komponent który nazywa sie 'button1'.

dzieki wszystkim za dobre chęci :-)

PS: ale to jest niesamowita radość jak po wielogodzinnym (coś koło 5 godzin, oczywiście z przerwami :-) ) szukaniu sie coś znalazło samemu :-) już nigdy sie o nic nie zapytam, sam chce znajdować ;-) oczywiście to nie znaczy ze ja nigdy nic nie szukałem, tylko że teraz czuje jakąś wyjątkową radość, pewnie dlatego że było mi to mega potrzebne.

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