CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Statyczne komponenty i problem z dynamicznym dostępem
Strona 1 z 1

Statyczne komponenty i problem z dynamicznym dostępem

Nowy postNapisane: poniedziałek, 28 marca 2011, 21:58
przez LiMeS
Witam.

Taki problem mnie nurtuje.
Mam na formie 20 komponentów typu SpeedButton o przykładowych nazwach: SpeedButton1, 2... 20

i teraz zagwozdka:

Kod: Zaznacz cały
   int j = 1; //numer speedbutton

   DataModule2->ObZ_ADOTUsterki->First();
   while(!DataModule2->ObZ_ADOTUsterki->Eof)
      {
      if(DataModule2->ObZ_ADOTUsterki->FieldByName("wsk_wykonania")->AsString == "N")
         {
         SpeedButton(IntToStr(j))->Visible = true;
         SpeedButton[j+10]->Visible = false;
         }
      else
         {
         SpeedButton[j]->Visible = false;
         SpeedButton[j+10]->Visible = true;
         }
      DataModule2->ObZ_ADOTUsterki->Next();
      j++;
      }


Pogrzebałem trochę i wydanie z przykładowym:
Kod: Zaznacz cały
TSpeedButton(FindComponent('TSpeedButton' + IntToStr(j)))->Visible = true;

też nie działa.

Gdzie leży problem ?

Re: Statyczne komponenty i problem z dynamicznym dostępem

Nowy postNapisane: poniedziałek, 28 marca 2011, 22:05
przez Corvis
KOD cpp:     UKRYJ  
TSpeedButton *przycisk;
int numer = 10;

przycisk = dynamic_cast<TSpeedButton* >( FindComponent("Nazwa_komponentu" + String( numer ) ) );
/* Nazwa_komponentu - podajemy nazwę komponentu bez numeru, np: "SpeedButton" */

if(przycisk != NULL)
{
 // Znaleziono i zrzutowano poprawnie
  przycisk->Visible = true; // lub co tam chcesz
}
Taki mały pseudo kod :-) powinieneś sobie poradzić już



EDIT:

CO TO JEST ?????? :shock:

  kod niepoprawny
  
KOD cpp:     UKRYJ  
SpeedButton[j]->Visible = false;
SpeedButton[j+10]->Visible = true;
  

Re: Statyczne komponenty i problem z dynamicznym dostępem

Nowy postNapisane: poniedziałek, 28 marca 2011, 22:10
przez Cyfrowy Baron
To co podał Corvis to polymorfizm w połączeniu z funkcja wyszukującą komponenty. Polecam zapoznanie się z artykułami w serwisie Cyfrowy Baron dział:

teoria -> rzutowanie typów, przypisanie polimorficzne
porady -> różne -> wyliczanie komponentów na formularzu, dostęp do komponentów poprzez pętlę
porady -> różne -> dostęp do właściwości komponentów poprzez nazwę klasy
porady -> różne -> dołączanie zdarzeń do dynamicznie tworzonych obiektów

Re: Statyczne komponenty i problem z dynamicznym dostępem

Nowy postNapisane: poniedziałek, 28 marca 2011, 23:41
przez LiMeS
Dziękuję za pomoc. Wyszukuje, robi co trzeba ;).

Ps.
Corvis napisał(a):EDIT:
CO TO JEST ?????? :shock:


desperacja bez pomyślunku ?