Dodaj do ulubionych

Przycisk w Delphi

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 :)
Obserwuj wątek
    • umfana UP! 25.07.04, 21:41
      podbijam w gore
    • 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.
      • 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
        • 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
          • 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 :-)
            • 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ń.
              :-))
              • 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 :-)
                • 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.
              • 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 ;)
    • Gość: maciej__ Re: Przycisk w Delphi IP: *.neoplus.adsl.tpnet.pl 26.07.04, 19:39
      Dzikuje dziala :)
Inne wątki na temat:

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka