Wujek001 Opublikowano 1 Maja 2005 Zgłoś Opublikowano 1 Maja 2005 Witam. Moj problem polega na tym ze chcialbym umiescic obiekty klasy TPanel w tablicy. Nastepnie chcialbym odwolywac sie do tej tablicy zmieniac np dzieki petli for wartosci wszystkich tych obiektow. Probuje w ten sposob TPanel tabPanel[540]; for(int i=0; i<540; i++) tabPanel=* new TPanel; ale niestety pojawiaja sie bledy ten sposob rowniez do bani :( TPanel* tabPanel[540]; for(int i=0; i<540; i++) tabPanel= new TPanel; Prosilbym bardzo o pomoc. W programie mam utorzone ponad 500 obiektów klasy Tpanel i zmieniajac recznie ich wartosci przykladowo na: Tpanel123->Caption="B"; jest bardzo pracochlonne. uzywajac tablicy i petli for bardzo skrocilo by to prace. Z gory dziekuje za wszelka pomoc. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ayem Opublikowano 1 Maja 2005 Zgłoś Opublikowano 1 Maja 2005 (edytowane) hmmm a nie tak: TPanel tabPanel[540]; jak masz defaultowy konstruktor (musisz miec w takim przypadku to ci od razu stworzy obiekty Edytowane 1 Maja 2005 przez ayem Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Wujek001 Opublikowano 2 Maja 2005 Zgłoś Opublikowano 2 Maja 2005 niestety ale nic nie zrozumialem z tego co napisales. Wyrozniles kawalek kodu ktory wymienilem: TPanel tabPanel[540]; dodam ze przy tym dostaje taki blad: Cannot find default constructor to initialize array element of type 'TPanel' Nie wiem jak sobie z tym poradzic. Jesli moglbys jasniej bylbym wdzieczny. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ayem Opublikowano 2 Maja 2005 Zgłoś Opublikowano 2 Maja 2005 niestety ale nic nie zrozumialem z tego co napisales. Wyrozniles kawalek kodu ktory wymienilem: TPanel tabPanel[540]; dodam ze przy tym dostaje taki blad: Cannot find default constructor to initialize array element of type 'TPanel' Nie wiem jak sobie z tym poradzic. Jesli moglbys jasniej bylbym wdzieczny. 1422200[/snapback] no to zarowno ja, jak i kompilator napisalismy ci czego ci brakuje. mussz do klasy TPanel dodac defaultowy konstruktor, bo to on jest uruchamiany dla kazdego z 540u elementow zadeklarowanej tablicy w momencie wywolania linijki: TPanel tabPanel[540]; Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Wujek001 Opublikowano 2 Maja 2005 Zgłoś Opublikowano 2 Maja 2005 Troche pokombinowalem ale niestety na nic sie to zdalo. Nie jestem jeszcze na takim poziomie i nie wiem jak napisac ten defaultowy konstruktor wiec zrobilem tak: Na Form1 mam poukladane Panel-e od 1 do 540. kod napisalem taki: __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { TPanel* tabPanel[540]; for(int i=0; i<540; i++) tabPanel= new TPanel(this); for(int i=0; i<540; i++) tabPanel->Caption="jakis tekst"; } ale niestety na zadnym z Paneli nie pojawia sie napis. Program sie kompiluje i nie wyswietla zadnych bledow. Czy ktos ma moze pomysl jak sprawic by na tych wszystkich Panelach pojawil sie napis? Przy takiej ilosci Paneli reczne pisanie Panel1->Caption="jakis napis"; ... Panel540->Caption="jakis napis"; jest dosc czasochlonne Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
ayem Opublikowano 2 Maja 2005 Zgłoś Opublikowano 2 Maja 2005 po co robisz *tabPanel[540], chyba ze to ma byc 2 wymiarowe? jak wyglada klasa TPanel Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...