You are on page 1of 6

1

Radno okruenje (IDE) programskog jezika Delphi



1. Glavni prozor radnog okruenja programskog jezika Delhi
Pokretanjem preice Delphi na desktopu (duplim klikom na preicu), pokree se i otvara glavni prozor radnog okruenja (IDE)
programskog jezika koji izgleda kao na slici 1:

Slika 1. Glavni prozor radnog okruenja programskog jezika Delphi
2. Kratak pogled na Delphi okruenje
Kada ste prvi put startovali program, pred Vama se nala prazna forma i okruenje, kao na slici 1.
Delphi okruenje je podeljeno na tri dela. Gornji prozor se moe uzeti kao glavni prozor. On sadri trake za alate (tool bars) i paletu
komponenti (component palette). Delphi traka za alate Vam omoguava da jednim klikom mia pokrenete poslove kao to je otvaranje,
snimanje i prevoenje projekta.
Paleta komponenti sadri irok spektar komponenti koje moete ubaciti u Vae forme (komponente su tekst natpisi, kontrole za
editovanje, list boksovi, dugmad i slino). Radi udobnosti komponente su podeljene u grupe.
Da li ste zapazili jezike du gornjeg dela palete komponenti?
Kliknite na ove jezike i istraite koje su Vam komponente dostupne. Da biste postavili komponentu na Vau formu jednostavno kliknite
na dugme komponente u okviru palete komponenti a zatim kliknite na mesto u okviru forme gde biste eleli da se pojavi Vaa
komponenta.
Komponenta (component) je odvojena softverska komponenta koja izvrava odreenu unapred definisanu funkciju, kao to je tekst
natpis, edit kontrola, odnosno okvir za liste (list box).


3. Inspektor objekata (object Inspector)
Ispod glavnog prozora na levoj strani ekrana se nalazi Object Inspector. Koristei Object Inspector moete menjati karakteristike
komponenti i dogaaja. U toku rada sa Delphi-jem uvek ete koristiti Object Inspector.
Object Inspector ima dva jezika:
jeziak Properties (karakteristike) i
jeziak Events (dogaaji).
Jeziak Properites
Karakteristike komponenata upravljaju radom komponenti.
2

Na primer, promenom karakteristike Color odreene komponente menja se boja pozadine ove komponente.
Lista karakteristika koje su dostupne razlikuje se od komponente do komponente, iako komponente uglavnom imaju nekoliko
zajednikih elemenata (karakteristike Width i Height - irina i visina, na primer).
Jeziak Events
Jeziak Events sadri listu dogaaja za odreenu komponentu. Dogaaji se pojavljuju kada korisnik interaguje sa komponentom.
Na primer, kada se klikne na komponentu, generie se dogaaj koji govori o tome da je na komponentu kliknuto.
Moete pisati kod koji odgovara na ove dogaaje, izvravajui posebna dejstva kada se dogaaj pojavi. Kao to je to sluaj sa
karakteristikama i dogaaji na koje komponenta moe reagovati se razlikuju od komponente do komponente.
4. Delphi radni prostor (workspace)
Glavni deo Delphi okruenja je radni prostor. Radni prostor inicijalno prikazuje dizajner forme (Form Designer).
Ne treba da Vas iznenadi injenica da Vam dizajner formi (Form Designer) omoguava da kreirate forme.
U Delphi-ju forma predstavlja prozor u okviru Vaeg programa. Forma moe biti glavni prozor programa, dijalog boks, odnosno bilo koji
drugi tip prozora.
Moete koristiti Form Designer da postavite, pomerite, odnosno promenite veliinu komponente u toku procesa njenog kreiranja.
Iza Form Designer-a se krije editor koda (Code Editor). U editor koda (Code Editor) upisujete kod kada piete Vae programe. U toku
kreiranja aplikacije Object Inspector, Form Designer, Code Editor i Component Palette se koriste za interaktivni rad.
5. Pascal juniti
Programiranje je vie od kucanja programskog koda. Pre svega programiranje je kombinacija planiranja zadatka za programiranje, a
zatim kucanja koda koji e izvravati taj zadatak. Kod koji kucate se upisuje u tekst datoteku.
Prevodilac uzima ovu datoteku i prevodi je u mainski kod koji raunar moe da razume. Tekst datoteka koju Delphi prevodi u mainski
kod se zove junit (unit).
6. Tipovi junita
Delphijeve GUI aplikacije e sadrati najmanje dva junita. Izvorni junit projekta sadri izvorni kod projekta. Juniti izvornog koda
programa imaju nastavak DPR.
Moete pregledati izvorni junit programa ako odaberete Project-View Source iz glavnog menija. Uglavnom nije potrebno menjati izvorni
junit projekta. Ustvari, ne bi trebali da menjate izvorni junit projekta, ukoliko niste sigurni ta radite. Ako sluajno izmenite izvorni junit
projekta na neodgovarajui nain moe se dogoditi da Vaa aplikacija nee moi da se prevede. (Odreene napredne tehnike
programiranja zahtevaju izmenu izvornog koda projekta, ali za sada o tome ne treba da brinete.)
Drugi tip junita, koji Delphi-jeve GUI aplikacije sadre, je junit glavne forme. Junit forme i njegov naziv ukazuju na junit izvornog koda
koji mu je pridruen. Ovaj tip junita ima nastavak PAS. Ovaj tip junita ete u veini sluajeva koristiti u Vaim Delphi programima.
Delphijeve GUI aplikacije uvek imaju jedan junit forme (za glavnu formu), ali, takoe, mogu imati jednu, ili vie dodatnih junita formi. Na
primer, aplikacija koja prikazuje okvir sa objanjenjem programa (About box) e imati junit glavne forme i junit za okvir sa objanjenjem
programa (About box).
7. Anatomija Delphijevog junita
Delphi juniti moraju pratiti unapred definisan format. Ovo sigurno nije iznenaenje za Vas.
Unit mora biti napisan u unapred definisanom formatu da bi prevodilac mogao da ita junit i prevodi kod junita.
Juniti Delphi projekta sadre kljunu re program, iza kog sledi naziv junita i kod blok koji se nalazi izmeu kljunih rei begin i end.
Moete videti kako izgleda osnovni junit izborom opcije View-Project Source u okviru glavnog menija Delphi-ja.
Izvorni junit projekta za generiki Delphi-jev projekt izgleda kao na listingu.
Listing 1.1: Izvorni kod projekta za generiki Delphi-jev projekt
01: program Project1;
02:
03: uses
04: Forms,
05: Unit1 in .Unit1.pas. {Form1};
3

06:
07: {$R *.RES}
08:
09: begin
10: Application.Initialize;
11: Application.CreateForm(TForm1, Form1);
12: Application.Run;
13: end.
U liniji 1, kljuna re program identifikuje junit kao glavni izvorni junit programa. Moete videti da se naziv junita, Project1 nalazi iza
kljune rei program. (Delphi daje projektu generiki naziv sve dok ne snimite projekt pod nazivom koji ima bolje znaenje.)
Poev od linije 3 vidite deo koji je identifikovan kljunom rei uses. Iza kljune rei uses se nalaze nazivi junita koje navedeni junit trai
da bi mogao da bude preveden.
Spisak se zavrava znakom taka-zarez.
U liniji 7 moete videti direktivu prevodiocu koja pokazuje Delphi-ju da ukljui odgovarajuu resursnu datoteku.
Linija 9 sadri kljunu re begin, a linija 13 sadri kljunu re end. Zapazite da poslednja kljuna re end u okviru junita iza sebe ima
taku. (Junit moe sadrati vie blokova koda oznaenih sa begin i end, ali samo jedan krajnji end iskaz). Kod u okviru linij a 10, 11 i 12
je kod koji inicijalizuje aplikaciju, kreirajui glavnu formu aplikacije, odnosno startuje aplikaciju. Ne treba da Vas brinu detalji ovog koda
koji pie Delphi program.
Hajde da pogledamo jo jedan osnovni junit Pascal-a. Odaberite opciju File-New u okviru glavnog menija. Kada dijalog New Items bude
bio prikazan, pronaite ikonu sa natpisom Unit i dva puta kliknite na nju. Delphi e kreirati novi junit i prikazati ga u edi toru koda (Code
Editor). Listing 1.2 pokazuje kod koji je generisan za ovaj junit.
Listing 1.2: Prazan Pascal junit
01: unit Unit2;
02:
03: interface
04:
05: implementation
06:
07: end.
Ovde nema puno stvari zar ne?
Ovaj junit ima dve sline stvari sa junitom koji je prikazan u okviru listinga 1.1.
Prvo, junit poinje kljunom rei unit iza koje sledi naziv junita Unit2 (opet generiki naziv koji kreira Delphi).
Znam da kod u listingu 1.1 poinje kljunom rei program, a ovaj kod poinje kljunom rei unit, ali ovde postoji nekoliko sl inih
elemenata:
Pascal junit poinje sa jednom od ove dve kljune rei iza koje sledi naziv junita,
dok se kljuna re end pojavljuje na kraju oba listinga.
Ponovo imamo kljunu re end iza koje sledi taka koja oznaava kraj junita. Kod u okviru listinga 1.2 se razlikuje od listinga 1.1 po
tome to sadri delove pod nazivom interface i implementation. Junit koji nije glavni izvorni junit programa mora sadrati deo interface i
deo implementation.
Ove dve kljuen rei e biti opisane detaljnije u poglavlju pod nazivom .Odeljak interface. i .Odeljak implementation. respektivno.
Listing 1.2 se razlikuje od listinga 1.1 i po tome to nema iskaz begin.
Glavni junit programa mora imati oba iskaza begin i end, ali izvorni junit jedini moe sadrati poslednji iskaz end. Sledee poglavlje
opisuje kljune rei koje se koriste u okviru Pascal junita.


4

8. Lista uses
Pogledajte listing 1.1. Zapazite kljunu re uses u liniji 3.
Kljuna re uses oznaava poetak odeljka koji sadri listu drugih junita od kojih navedeni junit zavisi. Na primer linija 11 u okviru
listinga 1.1 izgleda ovako:
Application.CreateForm(TForm1, Form1);
Ova linija koda sadri informacije koje se nalaze u drugim junitima i ne mogu biti pronaene u navedenom junitu.
Procedura identifikovana kao Application .CreateForm se nalazi u Delphi-jevom junitu pod nazivom Forms.pas, a identifikatori TForm1 i
Form1 se nalaze u glavnom junitu forme projekta pod nazivom Unit1.pas.
Da li primeujete vezu?
Lista uses pokazuje Delphiju gde da potraI dodatne informacije koje su potrebne za prevoenje ovog junita. Evo jo jednog pogleda
na listu uses:
uses
Forms,
Unit1 in .Unit1.pas. {Form1};
9. Odeljak interface
Ponovo pogledajte listing 1.2. Zapazite da ovaj listing ima odeljak oznaen kljunom rei interface. Ova kljuna re oznaava poetak
odeljka za interfejs u okviru junita. Odeljak interface je odeljak junita u okviru kog se deklariu identifikatori koje navedeni junit izvozi.
Identifikator za izvoz predstavlja identifikator kome mogu pristupiti drugi juniti u okviru projekta.
Veina junita e sadrati kod koji ostali juniti koriste. Kod moe biti implementiran kao klasa, procedura, funkcija, odnosno kao
promenljiva. Bilo koji objekat, koji je dostupan ostalim junitima iz navedenog junita, mora biti deklarisan u odeljku za interfejs. Moe se
rei da odeljak za interfejs sadri listu stavki u okviru junita koje ostali juniti mogu da koriste. Odeljak za intrerfejs poinje kljunom rei
interface a zavrava se kljunom rei implementation.
10. Odeljak implementation
Odeljak za implementaciju junita je odeljak koji sadri aktuelni kod junita.
Odeljak za implementaciju poinje kljunom rei implementation a zavrava se kljunom rei sledeeg junita.
Kljuna re sledeeg junita je obino poslednja kljuna re u okviru junita, ali moe biti kljuna re initialization, ukoliko junit sadri
odeljak za inicijalizaciju. Bilo bi teko rei neto vie od ovog u ovom trenutku, ali postoje drugi aspekti Pascal -a o kojima bih hteo da
piem pre nego to sve ovo poveemo. Dozvolite mi da Vam dam primer koji e ilustrovati korienje odeljaka interface i
implementation.
Recimo da kreirate junit koji sadri proceduru pod nazivom DoSomething. Recimo da unapred elite da junit DoSomething bude
dostupan drugim junitima u okviru Vaeg projekta. U tom sluaju trebalo bi da deklariete proceduru DoSomething u okviru odeljka
interfejs a zatim definiete navedenu proceduru u odeljku za implementaciju. Kompletan junit bi izgledao kao to je to prikazano na
listingu 1.3.
Listing 1.3: Junit sa javnom funkcijom
unit Unit2;
interface
procedure DoSomething;
implementation
procedure DoSomething;
begin
{ Code for DoSomething goes here. }
end;
end.
Zapazite da je procedura DoSomething deklarisana u odeljku za interfejs a zatim definisana u odeljku za implementaciju.
11. Dodatne kljune rei koje se koriste u junitima
5

Pascal junit moe sadrati druge opcione kljune rei koje oznavaju odeljke koji se ree koriste.
Neke od ovih rei imaju viestruku namenu.
Naredna poglavlja opisuju one kljune rei koje imaju veze sa junitima.
12. Kljuna re const
Junit opciono moe sadrati jedan ili vie odeljaka const. Odeljak const je odreen kljunom rei const.
Odeljak const opisuje listu promenljivih koje su poznate kao konstante.
Konstanta je identifikator koji se ne moe menjati.
Na primer, recimo da imate odreene vrednosti koje program koristi veoma esto. Za ove vrednosti moete definisati konstantne
promenljive.
Da bi ovo ilustrovali dodajmo odeljak const u program na listingu 1.3. Dodaete jedan odeljak const za konstante koje su javne
(dostupne drugim junitima) i drugi odeljak const koji sadri konstante koje su dostupne samo tekuem junitu.
Listing 1.4 prikazuje junit koji sadri dva odeljka za konstante.
Listing 1.4: Junit sa dodatkom odeljka za konstante
unit Unit2;
interface
const
AppCaption = .My Cool Program 1.0.;
procedure DoSomething;
implementation
const
BaseX = 20;
BaseY = 200;
procedure DoSomething;
begin
{ Code for DoSomething goes here. }
end;
end.
Poto je konstanta AppCaption deklarisana u odeljku za interfejs isto se moe koristiti bilo gde u okviru junita, a takoe i u drugim
junitima koji u listi uses imaju naveden tekui junit. Konstante BaseX i BaseY su dostupne jedino u okviru navedenog junita poto su
deklarisane u odeljku za implementaciju.
13. Kljuna re type
Kljuna re type se koristi da deklarie nove tipove koje e koristiti Va program.
14. Kljuna re var
Kljuna re var se koristi da deklarie odeljak koda u kom se deklariu promenljive.
Kljunu re var ste koristili za deklaraciju promenljivih (promenljive su obraene detaljnije u poglavlju pod nazivom .Promenljive.).
Odeljak var moete deklarisati na nekoliko mesta u okviru programa.
Moete postaviti odeljak var u nivou junita, moete imati odeljak var za proceduru, funkciju odnosno oba dela programa istovremeno.
Takoe moete imati viestruke odeljke za promenljive u okviru junita.
Listing 1.5: Junit sa dodatim odeljcima type i var
unit Unit2;
interface
6

type
TMyArray = array [0..19] of Byte;
const
AppCaption = .My Cool Program 1.0.;
var
X : Integer;
MyArray : TMyArray;
procedure DoSomething;
implementation
const
BaseX = 20;
BaseY = 200;
procedure DoSomething;
begin
{ Code for DoSomething goes here. }
end;
end.


15. Komentari u okviru koda
Pre nego to obradimo jezik Pascal detaljnije, dozvolite mi da Vam ukratko objasnim kod za komentar. Komentari su linije teksta u
okviru izvornog koda koji se u kodu nalaze sa svrhom da ga dokumentuju.
Komentari mogu da se koriste za opisivanje ta kod radi, da daju informacije o autorskim pravima, odnosno da oznae napomene koje
ste naveli za sebe, odnosno za druge programere.
Komentari mogu biti upotrebljeni na tri razliita naina. U nastavku su navedene sve ispravne linije sa komentarima:
{ Don.t forget to free this memory! }
{
ADTAPI.PAS 2.50
Copyright (c) TurboPower Software 1996-98
}
(* Mason needs to fix this section of code *)
// This is really good code!
{ This code needs to be reworked later }
Moda najei tip komentara koji se koristi u Delphi programima sadri vitiaste zagrade kao to je to ilustrovano u prva dva sluaja u
prethodnom primeru.
Otvorena zagrada se koristi kao poetak komentara, a zatvorena zagrada se koristi kao kraj komentara. Sledei tip komentara koristi (*
za poetak komentara, a *) za kraj komentara.
Postoji jedna razlika izmeu komentara naznaenih na ovaj nain i komentara koji koriste vitiaste zagrade: Par (* / *) se moe koristiti
da oznaI blok velikih delova koda koji izmeu ostalog sadre i linije sa komentarima.
Ova dva tipa komentara se mogu koristiti za komentarisanje u okviru samo jedne linije koda, odnosno komentarisanje koda u vie linija.
Trei tip komentara je oznaen kao dvostruka kosa crta. Ovakvi komentari se obino nazivaju komentari u C stilu, poto se koriste u
programskom jeziku C odnosno C++. Ovakav tip komentara se moe koristiti u okviru jedne linije koda.

You might also like