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

Statyczne komponenty i problem z dynamicznym dostępem

dział ogólny

Statyczne komponenty i problem z dynamicznym dostępem

Nowy postprzez LiMeS » poniedziałek, 28 marca 2011, 21:58

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 ?
----
LiMeS
Avatar użytkownika
LiMeS
Bladawiec
Bladawiec
 
Posty: 18
Dołączył(a): niedziela, 27 lutego 2011, 12:48
Podziękował : 5
Otrzymał podziękowań: 0
System operacyjny: Win XP SP3
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows XPFirefox

Re: Statyczne komponenty i problem z dynamicznym dostępem

Nowy postprzez Corvis » poniedziałek, 28 marca 2011, 22:05

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;
  
Ostatnio edytowano poniedziałek, 28 marca 2011, 22:19 przez Cyfrowy Baron, łącznie edytowano 3 razy
Powód: Administrator: poprawiłem kod, gdyż zawierał błędy.
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House

Za ten post autor Corvis otrzymał podziękowanie od:
LiMeS
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows VistaChrome

Re: Statyczne komponenty i problem z dynamicznym dostępem

Nowy postprzez Cyfrowy Baron » poniedziałek, 28 marca 2011, 22:10

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

Za ten post autor Cyfrowy Baron otrzymał podziękowanie od:
LiMeS
Avatar użytkownika
Cyfrowy Baron
Administrator
Administrator
 
Posty: 4719
Dołączył(a): niedziela, 13 lipca 2008, 15:17
Podziękował : 12
Otrzymał podziękowań: 442
System operacyjny: Windows 7 x64 SP1
Kompilator: Embarcadero RAD Studio XE2
C++ Builder XE2 Update 4
SKYPE: cyfbar
Gadu Gadu: 0
    Windows XPFirefox

Re: Statyczne komponenty i problem z dynamicznym dostępem

Nowy postprzez LiMeS » poniedziałek, 28 marca 2011, 23:41

Dziękuję za pomoc. Wyszukuje, robi co trzeba ;).

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


desperacja bez pomyślunku ?
----
LiMeS
Avatar użytkownika
LiMeS
Bladawiec
Bladawiec
 
Posty: 18
Dołączył(a): niedziela, 27 lutego 2011, 12:48
Podziękował : 5
Otrzymał podziękowań: 0
System operacyjny: Win XP SP3
Kompilator: brak kompilatora
Gadu Gadu: 0
    Windows XPFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 14 gości

cron