Konačno malo konkretnog programiranja.
Procedure su intelektualna osovina Delphija. Svaka radnja je, ustvari, jedna
procedura.
Prvo, upoznavanje sa jedinicom (
engl. Unit ). Prvi kontakt je svakako zbunjujući i jedinica djeluje krajnje
komplikovano. Međutim, sve je potputno jasno. Zatamnjene riječi odvajaju
cjeline
i to malo pojašnjava stvar.
A tu je i veza sa procedurama. Naime, u oči odmah upadaju
riječi private i public. Iznad private su procedure definisane od
strane samog Delphija. Na samom početku nema nijedne procedure. Ispod private su
procedure koje definiše sam programer. Mogu biti privatne i javne. Privatne su
samo za taj prozor, a javne za sve prozore u tom projektu.
Dakle, kad startamo Delphi dobijamo prazan Form i skoro
prazan Unit.
Da ne bi sve bilo šturo štivo, evo primjera. Recimo da želimo da se poslije klika mišem na prozor, boja prozora promijeni u crvenu.
1. |
Kliknimo jednom na Form. |
2. | Sa lijeve strane tu je Object Inspector koji sadrži dvije trake : Properties i Events. Biramo Events. |
3. | Od mnogih mogućnosti biramo onu OnClick. Dvoklikom na prazno desno polje pored OnClick Delphi stvara procedure FormClick. |
4. | U
jedinici se prikazuje sljedeći tekst: procedure TForm1.FormClick(Sender: TObject); begin end; i u prazan prostor u begin..end bloku upisujemo: Form1.Color := clRed; Primjećujemo da boje imaju prefiks cl. |
Za pisanje privatnih procedura potrebno je
definisati proceduru ispod riječi private. Definišemo je na sljedeći
način:
- ispisujemo riječ procedure,
- ispisujemo ime procedure ( npr. Bojenje ),
- nakon imena mogu se u zagradi definisati neke
varijable koje će procedura koristiti, ali to nije
obavezno.
Zatim se ispod implementation piše sama procedura.
Prostor nije teško naći. Uostalom tamo su sve procedure, pa i one koje Delphi
definiše.
Evo i primjera. Recimo da želimo definisati privatnu
proceduru koja će bojiti prozor u crveno, a zatim i proceduru da na klik mišem
obojimo prozor.
1. | Kliknimo
na Unit i izaberimo mjesto ispod riječi private. Tu upišimo: procedure Bojenje; |
2. | Zatim
ispod riječi implementation {$R *.DFM} pišemo: procedure TForm1.Bojenje; begin Form1.Color := clRed; end; |
3. | Zatim ponovimo prva 3 koraka iz prošlog primjera. |
4. | U
prazan prostor begin..end bloka upisujemo Bojenje; |
Dakle proceduru definišemo i determinišemo. Determinišemo je kao privatnu, a definišemo je u implementaciji. Primjećujemo riječ TForm1. To je oznaka 'roditelja' ove procedure, a u našem slučaju to je Form1. Da se objekat zvao 'Prozor' pisali bismo 'TProzor'. Ovo 'T' daje do znanja Delphiju da je to objekat i koristi se samo pri definisanju procedura i funkcija.