Gość: maciej__ IP: *.neoplus.adsl.tpnet.pl 25.07.04, 18:03 Witajcie ma maly problem jak mozna sie odwolac do numeru przycisku przez zmienna np: button1 nastepnie button2 itp. Jsli wies zjak to zroobic napisz. Z gory dzikuje za odpowiedz :) Link Zgłoś Obserwuj wątek
Gość: w++ Re: Przycisk w Delphi IP: *.ruda-slaska.sdi.tpnet.pl 25.07.04, 23:16 Domyślam się, że Tobie chodzi może o to, aby mając dużo klawiszy można się do nich odwoływać w łatwy sposób, tak jak np. do elementów tablicy, a nie robić jakiś złożonych case'ów albo ifów. Jedno z rozwiązań (oprócz tworzenia klawiszy w czasie wykonywania programu): dodajesz do zmiennych klasy (sekcja private lub public)tablicę (oczywiście przykładowe wartości, konkretne szczegóły już zależą od Twojego programu): butony: array[0..20] of TButton; w metodzie TForm1.FormCreate piszesz na początku: butony[0]:=button1; butony[1]:=button2; butony[2]:=button3; itd. Wtedy, w innych metodach możesz już używać zamiennie np. button1.caption... jak również butony[0].caption, gdzie indeks tablicy oczywiście może być zmienną czy wyrażeniem, na czym Ci prawdopodobnie właśnie zależy. Oczywiście jest to możliwe też dla dowolnych innych klas komponentów np. TLabel itp. Link Zgłoś
bwv1004 Re: Przycisk w Delphi 26.07.04, 12:21 Ale oczywiście bardziej elegancko jest stworzyć Buttony od razu (dynamicznie) jako elementy tablicy (która też zersztą może być dynamiczna). Inna możliwość, baaardzo nieelegancka to przypisanie Buttonom różnych właściwości Tag i w celu odnalezienia Buttonu o Tag rownym np 12 następująca petla for i:=0 to Pred(Form.ControlCount) do if (Form.Controls[i] is TButton) and ((Form.Controls[1] as TButton).Tag=12) then... generalnie z takimi pytaniami zapraszam na forum.4programmers.net Link Zgłoś
Gość: w++ Re: Przycisk w Delphi IP: *.ruda-slaska.sdi.tpnet.pl 26.07.04, 14:51 bwv1004 napisał: > Ale oczywiście bardziej elegancko jest stworzyć Buttony od razu (dynamicznie) > jako elementy tablicy (która też zersztą może być dynamiczna). Elegancko, możliwe, ale zrobienie pomocniczej tablicy jest bardzo praktyczne jeśli chce się rozmieścić klawisze ręcznie i widzieć wszystkie elementy formularza na etapie edycji a klawiszy jest umiarkowana ilość. W niektórych wypadkach, rzeczywiście, bez dynamicznego tworzenia kontrolek, jest trudno, ale lubię sobie czasem w Delphi (szczególnie po napisaniu czegoś na kontrolery z 256 bajtów ramu), poszastać zmiennymi :-). > generalnie z takimi pytaniami zapraszam na > > forum.4programmers.net Widzałem, fajne forum, ale tam jakaś straszna dyscyplina panuje. Obawiam się że takie pytanie jak w tym wątku jest tam co najmniej bardzo niemile widziane, a za taką jak moją, "nieelegancką" metodę, to bana można dostać od razu ;-o Link Zgłoś
bwv1004 Re: Przycisk w Delphi 26.07.04, 22:00 Gość portalu: w++ napisał(a): > zrobienie pomocniczej tablicy jest bardzo praktyczne > jeśli chce się rozmieścić klawisze ręcznie A jeśli ręcznie to z pewnością. Tym bardziej, że to tylko kwestia elegancji, strata pamięci jest znikoma. W końcu obiekt to tylko 4-bajowy wskaźnik :-) > > forum.4programmers.net > > Widzałem, fajne forum, ale tam jakaś straszna dyscyplina panuje. > Obawiam się że takie pytanie jak w tym wątku jest tam co najmniej bardzo niemil> e > widziane, a za taką jak moją, "nieelegancką" metodę, to bana można dostać od > razu ;-o No ja bym Ci bana za to nie dał, ale koledzy niektórzy są dość surowi :-) Link Zgłoś
Gość: w++ Re: Przycisk w Delphi IP: *.ruda-slaska.sdi.tpnet.pl 26.07.04, 23:33 bwv1004 napisał: > No ja bym Ci bana za to nie dał, ale koledzy niektórzy są dość surowi :-) Przeczytałem tam "wprowadzenie do zadawania pytań" lofixa coś w rodzaju: 1. Zanim zapytasz zostań najpierw ekspertem z Delphi, byś mógł fachowo ocenić swoje pytanie. 2. Jak zostaniesz ekspertem, to już chyba nie masz pytań. :-)) Link Zgłoś
bwv1004 Re: Przycisk w Delphi 26.07.04, 23:52 W++ wyluzuj się, aż takiego zamordyzmu jak Ci sie wydaje to u nas nie ma :-) Link Zgłoś
Gość: w++ Re: Przycisk w Delphi IP: *.ruda-slaska.sdi.tpnet.pl 27.07.04, 00:02 bwv1004 napisał: > W++ wyluzuj się, aż takiego zamordyzmu jak Ci sie wydaje to u nas nie ma :-) Oczywiście, masz rację. Sorki. Miała być bardzo lekka ironia, a wyszło może nie tak. Pozdrawiam. Link Zgłoś
Gość: Marooned Re: Przycisk w Delphi IP: *.neoplus.adsl.tpnet.pl 26.07.04, 23:55 Trochę Cię poniosło :) Jakbyś ładnie opisał problem, to pewnie dostałbyś odpowiedź. Ale to tak przy okazji ;) Link Zgłoś
Gość: maciej__ Re: Przycisk w Delphi IP: *.neoplus.adsl.tpnet.pl 26.07.04, 19:39 Dzikuje dziala :) Link Zgłoś