[ Brolly @ 25.02.2007. 09:56 ] @
Prvo smo radili u C-u (Turbo C), pa smo sada u 4. godini presli na BCB. Zadatak je sledeci: Napisati program koji po formi razbaca 30 dugmadi istih dimenzija (5 redova x 6 dugmadi). Dugmad su obelezena redom brojevim od 1 do 30. Kada se klikne na neko dugme ono nestaje sa forme. Resenje je: Code: //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "fORMDUGME_O.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; unsigned pom; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } void __fastcall TForm1::FormCreate(TObject *Sender) { unsigned i,j; Application->Title=""; pom=1; for(i=0;i<6;i++){ for(j=0;j<5;j++){ TButton* btn = new TButton(this); btn->Parent = this; btn->Height=50; btn->Width=50; btn->Top = 20+j*(btn->Height+20); btn->Left = 20+i*(btn->Width+20); btn->OnClick = ButtonXClick; btn->Tag = 5*i+j; btn->Font->Size=12; btn->Caption = IntToStr(j*6+i+1); } } } //--------------------------------------------------------------------------- void __fastcall TForm1::ButtonXClick(TObject *Sender) { TButton* btnx = dynamic_cast<TButton*>(Sender); btnx->Visible=false; pom++; if(pom==31) ShowMessage("BRAVO!!"); } Meni nista nije jasno!!! 1. Za cega sluzi new? 2. Za cega sluzi this? 3. Zasto je btn struktura? Zasto se sa operatorom '->' moze pristupati njenim osobinama kao da je objekat na formi? 4. Sta znaci ovo dynamic_cast? 5. Ako nekome nije tesko da mi malo rastumaci ovo resenje ili makar jedan deo? Bio bih stvarno zahvalan. Unapred hvala. |