Delphi – Kako kreirati komponentu?

Ako veฤ‡ imate neko iskustvo u radu sa Delphi-jem, sigurno znate da na Internetu postoji pravo trลพiลกte komponenti, tj. gotovih reลกenja koja vam mogu smanjiti potrebno vreme za neki projekt. Jer, zaลกto utroลกiti sate, ili dane na programiranju neฤeg ลกto veฤ‡ postoji. Kreiranje ovih komponenti nije komplikovano, pa ฤ‡emo vam na jednom primeru prikazati kako da to sami izvedete. Nakon toga ฤ‡ete sami moฤ‡i da razvijate za sopstvene potrebe razne komponente (ili ฤak da ih kreirate za trลพiลกte).
<P ALIGN="Justify" Komponenta je inaฤe, klasa objektnog Pascal-a koja poseduje odreฤ‘ene moguฤ‡nosti i ograniฤenja. Novu komponentu moลพete izgraditi koriลกฤ‡enjem postojeฤ‡e komponente (putem nasleฤ‘ivanja) ili potpuno iznova. Mi ฤ‡emo u naลกem primeru za kreiranje nove komponente koristiti postojeฤ‡u, i to klasu „TButton“, a toj novoj komponenti ฤ‡emo dodati neke nove osobine i procedure. Pre prelaska na samo kreiranje, da kaลพemo neลกto i o paketima (Packages). Paketi poseduju u sebi prevedene module koji obezbeฤ‘uju sve potrebne procedure za datu komponentu. Pre nego ลกto kreiramo samu komponentu, potrebno je da kreiramo paket u koji ฤ‡emo ubaciti komponentu. Ovim ฤ‡emo obezbediti proceduru za instalaciju nove komponente na Delphi-jevu paletu alatki – komponenata. A sad, da preฤ‘emo na kreiranje komponente:

  1. Kreirajte na disku folder, u koji ฤ‡emo kasnije smestiti module komponente i program za testiranje. Nazovite ga recimo „C:ZvucnoDugme“. Pokrenite Delphi i otvorite novi projekt, a zatim ga preko menija „File> Save All“ snimite u kreirani folder.
  2. Izaberite meni „File> New“ i na kartici „New“ dvostruko kliknite na ikonu „Package“. Otvoriฤ‡e vam se novi prozorฤiฤ‡ „Package“, pa kliknite desnim tasterom unutar njega i izaberite „Save“, snimite novi paket u novoformirani folder i dajte mu naziv „DugmeZvuk“. Kada se vratite u prozorฤiฤ‡ „Package“, kliknite desnim tasterom na instancu „Contains“ i izaberite „Add“.
  3. Preฤ‘ite na karticu „New Component“ i ubacite sledeฤ‡a podeลกavanja:
    • Ancestor Type – TButton
    • Class name – TDugmeZvuk
    • Pallete Page – Primer
    • Unit file name – Automatski ฤ‡e se ubaciti „C:ZvucnoDugmeDugmeZvuk.pas“
    Kliknite na „OK“ za kreiranje osnovice, i vraฤ‡anje u prozor za pakete.
  4. Kliknite na dugme „Compile“ za prevod paketa i modula. Ostaje nam joลก da novoj komponenti koja nasleฤ‘uje klasu TButton dodamo neke nove osobine. Osobina koju ฤ‡emo dodati je zvuk (uz pomoฤ‡ procedure „MessageBeep“), koji ฤ‡e se ฤuti kada se klikne na dugme. Preฤ‘ite u deo za pisanje koda i preฤ‘ite na karticu „DugmeZvuk“, te u sekciju „Public“ dodajte sledeฤ‡i kod:


    procedure Click; override;

    I dodajte joลก kod:


    procedure Register;
    begin
    RegisterComponents(‘Primer’, [TDugmeZvuk]);
    end;
    procedure TDugmeZvuk.Click;
    begin
    MessageBeep(0);
    inherited Click;
    end;
    end

Ostaje nam da joลก jednom, sa unetim kodom, prevedemo paket (kliknite ponovo „Compile“) i komponenta je gotova. Na prethodno opisan naฤin dobili smo novu komponentu koju ฤ‡emo instalirati na paletu komponenti:
  • U istom prozoru „Package“, kliknite na dugme „Install“ i nakon zavrลกene procedure kompajliranja kliknite na „OK“.
Nova komponenta – dugme instaliraฤ‡e se na paletu i to na karticu „Primer“.

Pratite Krstaricu na www.krstarica.com