1. delphi - Гимназија у Куршумлији · pdf filedelphi gimnazija u...

22
Delphi Gimnazija u Kuršumliji - 1 - 1. Delphi Delphi je programski paket namenjen kreiranju Windows aplikacija (programa) za personalne raĉunare. Krajnji proizvod Delphi-ja je izvršni proram koji rešava zadatke zbog kojih je kreiran u okruţenju operativnog sistema Windows. Programski jezik koji koristi Delphi je modernizovana verzija Pascal-a poznata pod nazivom Object Pascal. Delphi spada u objektno-orijentisane programe (OOP). Objektno orijentisano programiranje omogućuje kreiranje komponenti za višestruko korišćenje u raznim korisniĉkim programima.Osnovni pojmovi OOP su: komponente, objekti, metode, svojstva i dogaĊaji. Komponente su elementi ugraĊeni u Delphi-ju za višestruku upotrebu i koriste se pri formiranju objekta. Objekt je osnovni element Delphi programa koji ima odgovarajuća svojstva (karakteristike), metode koje definišu njegovo ponašanje i mogućnost prepoznavanja dogaĊaja na koje mogu reagovati . Metod je programski kod pridruţen objektu, koji odreĊuje kako će objekt manipulisati sa informacijama i kako će reagovati na dogaĊaje. Svojstva su karakteristike objekata kao što su: veliĉina, poloţaj, boja ili font teksta. Svojstva odreĊuju pojavljivanje, a ponekad i ponašanje objekta. Događaji mogu biti prouzrokovani od strane korisnika ili od strane operativnog sistema Windows. 1.1. Poĉetak rada i upravljanje Delphi-jem Program Delphi najjednostavnije se pokreće pomoću preĉice s radne površine, ako je preĉica postavljena. Drugi naĉin za pokretanje programa Delphi je uz pomoć dugmeta Start na liniji poslova. Kada se pokrene program ekran dobija izgled kao na slici (slika 1). Polazni ekran ima 8 delova: 1) naslovnu liniju, 2) meni liniju, 3) liniju alata, 4) liniju komponenti, 5) prozor za hijerarhijski prikaz komponenti aplikacije, 6) prozor za odreĊivanje osobina i dogaĊaja objekrima u aplikaciji, 7) prozor obrasca za dizajniranje aplikacije, 8) prozor za pisanje programskog koda. Naslovna linija sadrţi ikonicu kontrolnog menija programa Delphi, naziv projekta koji se realizuje i tri dugmeta za upravljanje veliĉinom prozora aplikacije. Meni linija je klasiĉna Windows meni linija na kojoj se nalazi 11 opcija koje se aktiviraju klikom miša na ţeljenu opciju. Linija alata sadrţi najĉešće korišćene komande koje se zadaju direktnim klikom miša na odgovarajuću sliĉicu. Linija komponenti sastoji se od više stranica, pri ĉemu svaka stranica ima svoje komponente.

Upload: vodang

Post on 08-Mar-2018

235 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 1 -

1. Delphi

Delphi je programski paket namenjen kreiranju Windows aplikacija (programa) za

personalne raĉunare. Krajnji proizvod Delphi-ja je izvršni proram koji rešava zadatke zbog kojih je kreiran u okruţenju operativnog sistema Windows. Programski jezik koji koristi Delphi je modernizovana verzija Pascal-a poznata pod nazivom Object Pascal.

Delphi spada u objektno-orijentisane programe (OOP). Objektno orijentisano programiranje omogućuje kreiranje komponenti za višestruko korišćenje u raznim korisniĉkim programima.Osnovni pojmovi OOP su: komponente, objekti, metode, svojstva i dogaĊaji.

Komponente su elementi ugraĊeni u Delphi-ju za višestruku upotrebu i koriste se pri formiranju objekta.

Objekt je osnovni element Delphi programa koji ima odgovarajuća svojstva

(karakteristike), metode koje definišu njegovo ponašanje i mogućnost prepoznavanja dogaĊaja na koje mogu reagovati.

Metod je programski kod pridruţen objektu, koji odreĊuje kako će objekt manipulisati

sa informacijama i kako će reagovati na dogaĊaje. Svojstva su karakteristike objekata kao što su: veliĉina, poloţaj, boja ili font teksta.

Svojstva odreĊuju pojavljivanje, a ponekad i ponašanje objekta.

Događaji mogu biti prouzrokovani od strane korisnika ili od strane operativnog sistema Windows.

1.1. Poĉetak rada i upravljanje Delphi-jem

Program Delphi najjednostavnije se pokreće pomoću preĉice s radne površine, ako je preĉica postavljena. Drugi naĉin za pokretanje programa Delphi je uz pomoć dugmeta Start

na liniji poslova. Kada se pokrene program ekran dobija izgled kao na slici (slika 1). Polazni ekran ima 8

delova:

1) naslovnu liniju, 2) meni liniju, 3) liniju alata,

4) liniju komponenti, 5) prozor za hijerarhijski prikaz komponenti aplikacije, 6) prozor za odreĊivanje osobina i dogaĊaja objekrima u aplikaciji, 7) prozor obrasca za dizajniranje aplikacije,

8) prozor za pisanje programskog koda. Naslovna linija sadrţi ikonicu kontrolnog menija programa Delphi, naziv projekta koji

se realizuje i tri dugmeta za upravljanje veliĉinom prozora aplikacije.

Meni linija je klasiĉna Windows meni linija na kojoj se nalazi 11 opcija koje se aktiviraju klikom miša na ţeljenu opciju.

Linija alata sadrţi najĉešće korišćene komande koje se zadaju direktnim klikom miša

na odgovarajuću sliĉicu. Linija komponenti sastoji se od više stranica, pri ĉemu svaka stranica ima svoje

komponente.

Page 2: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 2 -

U prozoru za hijerarhijski prikaz komponenti aplikacije (Object TreeView) se

prikazuje hijerarhijsko stablo objekata postavljenih u okviru aplikacije. Prozor za određivanje osobina objekta i događaja (Object Inspector) se nalazi

na levoj strani ekrana i sluţi za podešavanje osobina (Properties) i dogaĊaja (Events) objekata koje se formiraju tokom razvoja aplikacije.

Prozor obrasca za dizajniranje automatski se formira pri pokretanju Delphi-ja i naziva se forma. Forma generiĉki dobija ime Form1. Ova forma iako prazna poseduje

osobine Windows programa: moţe se premeštati, mogu joj se menjati dimenzije, moţe se minimizirati, maksimizirati i zatvoriti. Ima i svoju ikonicu koja se dodeljuje pri minimizaciji, ima naslovnu liniju, okvir i radnu površinu. Na radnoj površini nalazi se mreţa taĉkica koja

sluţi kao pomoć pri postavljanju i poravnavanju komponenti.

Linija alata Naslovna linija glavnog prozora Linija komponenti Meni linija Prozor obrasca za dizajniranje

Prozor za hijerarhijski prikaz komponenti aplikacije

Prozor za odreĊivanje osobina objekta i dogaĊaja

Slika 1

Page 3: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 3 -

Programski kod aplikacije nalazi se u prozoru za pisanje programskog koda

(slika 2). Ovaj prozor predstavlja editor teksta u koji se unosi programski Pascal kod.

Slika 2

1.2. Prazan projekat

Prazan projekat mozemo dobiti na jedan od sledećih naĉina: pokretanjem programa

Delphi ili korišćenjem opcije File/New/Application s meni linije.

1.3. Ĉuvanje i otvaranje projekta

Ako pogledamo linju poslova nakon pokretanja praznog projekta, videćemo da kao ime projekta stoji Project1. Da bismo sacuvali aplikaciju moramo uraditi sledeće:

1. Na meni liniji odabrati opciju File/Save Project As.... nakon ĉega se dobija dijalog prozor.

2. U polju za ime datoteke treba uneti dozvoljeno ime i kliknuti na dugme Save.

Ova datoteka je Pascal datoteka. 3. U sledećem koraku pojavljuje se komunikacioni prozor u kome treba zadati ime

projekta.

Ukoliko je upravo snimljen projekat zatvoren, da bi se ponovo otvorio treba sprovesti sledeću proceduru:

1. Na meni liniji odabrati opciju File/Open Project....Ctrl+F11.

2. Ţeljeni projekat treba selektovati i nakon toga treba aktivirati dugme Open.

Page 4: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 4 -

2. Obrasci (Forme)

Obrasci (slika 1) su skice prozora za vreme projektovanja. Sluţe kao nosaĉi

komponenata (vlasnici su kompenenata). Komponente ne mogu da postoje izvan obrazaca. Jedan projekat moţe sadrţati više obrazaca. Nov obrazac se dodaje projektu

komandom File/New/Form ili uz pomoć dugmeta preĉice New Form na paleti komandi.

Manipulacija sa obrascima najlakše se vrši uz pomoć Project Managera ( komandom Delphi-ja View/Project Manager).

2.1. Svojstva obrasca

Najvaţnija svojsta obrasca su: Caption (natpis), Name (ime), Font (Boja veliĉina, stil), Color (boja), Hint (objašnjenje), Height (visina), Widith (širina), Cursor (izgled kursora).

Obrasci imaju relativno veliki broj specifiĉnih svojstava. Vaţnija svojstva su: 1. FormStyle (stil obrasca)-oznaĉava vrstu obrazaca:

fsNormal (normalan) oznaĉava uobiĉajenu vrstu obrazaca.

fsStayOnTop (ostani na vrhu) oznaĉava prozore koji se ne mogu pokriti drugim prozorima iste aplikacije.

fsMDIIForm (MDI obrazac) oznaĉava prozor roditelja koji sadrţi druge

obrasce. fsMDIChild (MDI dete) oznaĉava prozor dete koji se smešta u radni

prostor prozora roditelja.

2. BorderIcons (iviĉne sliĉice)-odreĊuje koja će se dugmad naći pored trake sa natpisom prozora. Elementi skupa mogu da budu biSistemMenu, biMinimize, biMaximize i biHelp.

3. BorderStyle (stil ivica)-odreĊuje naĉin iscrtavanja ivica prozora: bsSizeable (podesive)- veliĉinu prozora moguće je menjati povlaĉeći

ivice pomoću miša.

bsSingle (jednostruke-nepodesive)- nemoguće je menjati pomoću miša. bsSizeToolWin (podesive za prozore sa alatkama)- veliĉinu prozora

moguće menjati pomoću miša. Traka sa natpisom manja i slova sitnija.

Moţe da ima samo dugme za zatvaranje prozora. Ovakvi prozori namenjeni su pravljenju paleta sa alatkama.

bsToolWindow (nepodesive za prozore sa alatkama)- kao u sluĉaju bsSizeTool samo nemoguće menjati veliĉinu prozora pomoću miša.

bsDialog (za dijalog)- namenje prozorima za dijalog. Nema dugme za minimiziranje i maksimiranje a obavezno ima dugme za zatvaranje i moţe dugme za pomoć.

bsNone (bez)- prozor bez ivica, trake sa natpisom i upravljaĉke dugmadi. Ne moţe da se menja veliĉina prozora ni da se pomera.

4. Position (poloţaj)-odreĊuje mesto i veliĉinu prikazivanja prozora prilikom

izvršavanja aplikacije. 5. WindowState (stanje prozora) oznaĉava trenutno stanje prozora na ekranu.

Vrednost wsMaximized oznaĉava da je prozor pretvoren u najveću mogoću

Page 5: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 5 -

veliĉinu, wsMinimized da je pretvoren u minimalan oblik, a wsNormal da prozor

nije ni u jednom od prethodna dva stanja. 6. AutoScroll (automatsko prelistavanje)- HorzScrollBar (vodoravni klizaĉ) i

VertScrollBar (uspravni klizaĉ), odreĊuju ponašanje vodoravnog i uspravnog

klizaĉa. 7. Icon (sliĉica)- oznaĉava sliĉicu na upravljaĉkom dugmetu prozora. 8. KeyPreview (prethodni pregled tastera)- odreĊuje naĉin obrade dogaĊaja u vezi

s tastaturom (OnKeyDown, OnKeyUp, OnKeyPress). Vrednost True oznaĉava da se prvo poziva odgovarajući rukovalac dogaĊajima obrasca a tek posle rukovalac dogaĊaja komponente. Vrednost False oznaĉava da se pozivaju samo rukovaoci

dogaĊajima komponenata. 9. ActiveControl (aktivna upravljaĉka komponenta)- oznaĉava koja je komponenta

u obrascu trenutno u ţiţi.

10. WindowMenu (meni za prozore)- oznaĉava stavku menija ĉiji je podmeni u MDI aplikaciji predviĊen za upravljanje prozorima decom.

11. Active (aktivan)- s vrednošću True oznaĉava da je prozor trenutno aktivan, dok

vrednost False oznaĉava da nije. Ovo svojstvo je rasoloţivo samo za vreme izvršenja projekta i ne moţe da se menja iz programa.

12. ModalResult (uslovljeni rezultat)- odreĊuje naĉin zatvaranja uslovljenog prozora

(najĉešće prozora za dijalog). Podrazumevana vrednost je 0. Kada se promeni vrednost u nenultu, prozor izgubi uslovljeni status i zatvara se. Simboliĉke konstante za tipiĉne namene su: mrNone (ništa), mrOK (sve je u redu), mrCancel (odustani), mrAbort (prekini), mrRetry (pokušaj ponovo), mrIgnore (zanemari), mrYes (da), mrNo (ne), mrAll (da za sve).

13. AlphaBlend (alfa mešanje)- S vrednošću True oznaĉava da se prozor iscrtava prozirno, s vrednošću False da se prozor ne iscrtava prozirno.

14. AlphaBlendValue (vrednost alfa mešanja)- odreĊuje stepen prozirnosti iscrtavanja prozora (0-jasna slika, 255-slika se uopšte ne nazire).

15. MDIChildCount (broj MDI dece)- predstavlja broj obrazaca dece u radnom

prostoru posmatranog obrasca. Ovo svojstvo je raspoloţivo samo za vreme izvršavanja aplikacije.

16. MDIChildren (MDI deca)- je niz obrazaca u posmatranom obrascu. Prvi u nizu

ima indeks 0. Ovo svojstvo je raspoloţivo samo za vreme izvršavanja aplikacije. 17. ActiveMDIChild (aktivno MDI dete)- predstavlja obrazac koji je trenutno u ţiţi

unutar posmatranog obrasca. Ovo svojstvo je raspoloţivo samo za vreme

izvršavanja aplikacije. 18. TileMode (naĉin rasporeĊivanja ploĉica)- odreĊuje na koji će se naĉin rasporediti

prozori deca u radnom prostoru prozora roditelja.

Page 6: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 6 -

2.2. Metode obrasca

Osim metoda koje ima i većina komponenta, vaţnije metode su:

o constructor Create -stvori. Ova metoda je konstruktor za sve komponente pa i za sve obrasce.

o procedure Release -oslobodi. Ovom metodom se uništava obrazac i oslobaĊa

memorija koju on zauzima. o procedure Show -prikaţi. Ova metoda na neuslovljen naĉin ĉini da obrazac

postane vidljiv (u ţiţi). To postiţe postavljanjem vrednosti svojstava Visible na

True. o function ShowModal –prikaţi uslovljeno. Ova metoda na uslovljen naĉin ĉini da

obrazac postane vidljiv. Iz ove funkcije se vraća tek pošto se prozor zatvori.

o procedure Hide –sakrij. Ovom metodom obrazac postaje nevidljiv. To postiţe postavljanjem vrednost svojstava Visible na False.

o procedure ScrollInView -pomeri u vidno polje. Ova metoda potpuno ili

delimiĉno dovodi komponentu ili prozor dete u vidno polje prozora. o procedure Close –zatvori. o procedure Next –sledeći. o procedure Previous –prethodni.

3.3. DogaĊaji obrasca

Osim dogaĊaja koji mogu da se dešavaju i komponentama vaţniji dogaĊaji su: a) DogaĊaj OnCreate (prilikom stvaranja) nastaje u toku stvaranja obrasca

metodom Create. b) DogaĊaj OnActivate (prilikom aktiviranja) nastaje kada se ţiţa pomeri na

prozor.

c) DogaĊaj OnShow (prilikom prikazivanja) nastaje pre nego što se prozor prikazuje.

d) DogaĊaj OnResize (prilikom promene veliĉine) nastaje kada se menja veliĉina

obrasca. e) DogaĊaj OnHide (prilikom sakrivanja) nastaje pre uklanjanja prozora sa ekrana. f) DogaĊaj OnDestroy (prilikom uništavanja) nastaje pre uništavanja obrasca. g) DogaĊaj OnCloseQuery (pilikom upita zatvaranja) nastaje kada je zapoĉeta

akcija za zatvaranje.

2.4. Okviri

Okviri su specijalne kontenjerske komponente koje poseduju mnoge osobine prozora.

Novi okvir se dodaje projektu komandom Delphija File/New/Frame. Za umetanje okvira u obrazac, otvara se prozor za dijalog Select frame to insert

(odaberi okvir za umetanje) koji sadrţi okvir s listom iz koje treba odabrati okvir.

Page 7: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 7 -

3. Komponente

Komponente su osnovni elementi aplikacije. Projektovanje aplikacija se sastoji od izbora odreĊenog broja komponenati i definisanju kako one deluju jedna na drugu.

Većina komponenti moţe da se pronaĊe na paleti komponenata u glavnom prozoru Delphija.

Komponente mogu da budu: vizuelne, nevizuelne, upravljaĉke. upravljaĉke komponente sa prozorom, upravljaĉke komponente bez prozora.

3.1 Svojstva komponenata

Svojstva (properties) su parametri ĉije vrednosti odreĊuju trenutno stanje komponente. Neka svojstva su raspoloţiva za vreme projektovanja a neka samo za vreme izvršenja aplikacije. Postoje i svojstva ĉije su vrednosti dostupne (mogu se oĉitati) ali se ne

mogu promeniti. Svojstva mogu da budu tipa: integer, string, boolean (true,false), set, svojstva

koja se unose pomoću prozora za dijalog.

Najznaĉajnija svojstva komponenata:

I. Ime komponente

Name (ime) –nalazi se u svojstvu tipa string. Koristi se za pristup datoj komponenti.

Svi obrasci istog projekta moraju imati razliĉita imena. Sve komponente unutar istog obrasca moraju da imaju razliĉita imena. Imena ne treba menjati za vreme izvršenja aplikacije.

II. Vidljivost i upotrebljivost komponenata

Vidljivost komponente kontroliše se svojstvom Visible (vidljivo) tipa Boolean.

Vrednost True oznaĉava da komponentu treba prikazivati na ekranu, vrednost False da komponentu ne treba prikazivati.

Upotrebljivost komponente tj. da li ţiţa moţe da se pomeri na komponentu, kontroliše

se svojstvom Enabled (omogućeno) tipa Boolean. Ako je vrednost True komponenta je upotrebljiva, inaĉe nije.

III. Položaj i veličina komponenata

Poloţaj komponente odreĊuje se svojstvima:

a. Top (vrh); b. Left (levo);

To su koordinate gornjeg levog temena komponente u odnosu na gornji levi ugao

radnog prostora roditelja posmatrane komponente.

Page 8: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 8 -

Veliĉina komponente iskazuje se pomoću svojstava:

c. Height (visina); d. Width (širina);

Veliĉina radnog prostora komponente iskazuje se pomoću svojstava:

e. ClientHeight (visina klijenta); f. ClientWidth (širina klijenta); g. Constraints (ograniĉenja);

h. Align (poravnjanje); i. Anchors (relativan poloţaj u odnosu na ivice roditelja).

IV. Natpis komponente

To je tekst kojim se oznaĉava data komponenta.

Pedstavlja se svojstvom Caption (natpis) tipa String. Podrazumevana vrednost natpisa poklapa se sa imenom (Name). Moţe da se postavlja za vreme projektovanja i da se menja za vreme izvršenja aplikacije. U upravljaĉkim komponentama ispred jednog znaka u

natpisu moţe da se stavi znak & i tako obeleţen znak je preĉica.

V. Izgled komponente

Svojstvo Ctl3D (trodimenzionalna komponenta) tipa Boolean s podrazumevanom

vrednošću True oznaĉava prikazivanje sa trodimenzionalnim efektima, a vrednost False

oznaĉava prosto dvodimenzionalno iscrtavanje. Svojstvo ParentCtl3D (trodimenzionalnost roditelja) tipa Boolean s vrednošću True

oznaĉava da komponenta preuzima vrednost svojstva Ctrl3D od svog roditelja. Vrednost False da se broj dimenzija komponente podešava nezavisno od roditelja.

Svojstvo BorderStyle (stil ivica) s vrednošću bsSingle (jednostruka) oznaĉava iscrtavanje okvira ĉije su ivice jednostruke linije, a vrednost bsNone (ništa) oznaĉava odsustvo okvira.

Svojstvo BevelKind (vrsta kosina) odreĊuje da li se oko komponente prikazuju kosine ili ne.

Svojstvo BevelOuter (spoljašna kosina).

Svojstvo BevelInner (unutrašnja kosina). Svojstvo Cursor (pokazivaĉ) odreĊuje izgled pokazivaĉa miša. Svojstvo Color (boja) odreĊuje boju komponente.

Svojstvo Font (font) odreĊuje osobine slova.

3.2. Metode komponenata

A. constructor Create –stvori

Ova metoda je konstruktor za sve komponente. Po stvaranju komponente treba podesiti svojstva te komponente ili naredbom ili

odgovarajućom metodom (posebno svojstvo Name). Da bi nova komponenta bila

upotrebljiva treba dodeliti vrednost svojstvu Parent (roditelj). Najĉešće se navede vrednost Self ĉime se tekući obrazac proglašava vlasnikom. Primer:

NovoDugme:=TButton.Create (Self); NovoDugme.Parent:=self;

Page 9: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 9 -

B. procedure Free - oslobodi

Ovom metodom uništava se komponenta i oslobaĊa memorija. C. procedure Show - prikaţi

Ova metoda ĉini da tekuća komponenta postane vidljiva i to postiţe postavljanjem

vrednosti svojstva Visible na True. D. procedure Hide - sakrij

Ova metoda ĉini da komponenta postane nevidljiva postavljanjem vrednosti Visible na

False. E. procedure SetBounds (Levo, Gore, Širina, Visina: Integer); -postavi granice

Ova metoda odreĊuje poloţaj i veliĉinu komponente odjednom.

3.3. DogaĊaji komponenata

I. Događaji pri pomeranju žiže

Kada se ţiţa pomeri na neku komponentu, desiće joj se dogaĊaj OnEnter (prilikom ulaska), a kada se ţiţa pomeri na drugu komponentu, dogaĊaj OnExit (prilikom izlaska).

II. Događaji sa mišem

Najĉešće korišćen dogaĊaj pomoću miša jeste pritisak na komponentu mišem OnClick

(prilikom pritiska mišem). Drugi ĉesto korišćen dogaĊaj je dvostruki pritisak komponente mišem OnDblClick

(prilikom dvostrukog pritiska mišem). Sledeća dva dogaĊaja pomoću miša jesu pritiskanje nekog tastera miša (bez

otpuštanja) OnMouseDown (prilikom pritiskanja miša) i OnMouseUp (prilikom otpuštanja miša).

III. Događaj sa tastaturom

Osnovni dogaĊaj koji moţe da se proizvede pomoću tastature jeste pritisak i

otpuštanje nekog tastera na tastaturi OnKeyPress (prilikom pritiska na taster) i OnKeyUp

(prilikom otpuštanja tastera).

3.4. KONVERZIJE

Konverzije se koriste za pretvaranje jednog tipa podatka u neki drugi tip.

StrToInt( ) – pretvara string u integer

StrToFloat( ) – pretvara string u realan broj

IntToStr( ) – pretvara integer u string

FloatToStr( ) – pretvara realan broj u string

TimeToStr( Time) – pretvara vreme u string

DateToStr( Date) – pretvara datum u string

Page 10: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 10 -

4. Jednostavne komponente

Delphi nudi ogroman broj komponenata za sastavljanje prozora aplikacije. Jednostavne komponente se koriste samostalno, bez saradnje sa drugim komponentama. To su

istovremeno i komponente koje se najĉešće i u najvećem broju sreću u svakodnevnoj praksi.

4.1. Prikazivanje teksta

Za prikazivanje teksta u prozoru koriste se specijalne komponente ĉiji sadrţaj korisnik ne moţe neposredno da menja mišem ili preko tastature za vreme izvršavanja aplikacije.

Koriste se za obeleţavanje namene komponenata i za prikazivanje raznih informacija (rezultata) koje se dobijaju u toku izvršavanja aplikacije.

Label (Oznaka)

To je komponenta bez prozora i ne moţe biti u ţiţi. Moţe da joj se dešava većina

dogaĊaja koja se proizvode mišem dok dogaĊaji proizvedeni tastaturom ne mogu da joj se dese, jer za to komponenta mora da bide u ţiţi.

Oznaka je komponenta tipa TLabel i za njeno umetanje u obrazac za vreme

projektovanja postoji dugme preĉica Label, na stranici Standard, na paleti komponenata u glavnom prozoru Delphija.

a) Svojstvo Caption (natpis) –tipa String glavno je svojsvo oznake;

b) Svojstvo Name (ime) –tipa String; c) Svojstvo Font (font) –podešava se u dijalog prozoru; d) Svojstvo Color (boja) –tipa nabrajanja;

e) Svojstvo AutoSize ( automatska veliĉina) –tipa Boolean s podrazumevanom vrednošću True oznaĉava da se veliĉina oznake automatski menja kad god se promeni sadrţaj svojstva Caption, vrednost False oznaĉava da se veliĉina

komponente ne menja; f) Svojstvo Aligment (poravnanje) –tipa nabrajanja odreĊuje naĉin poravnanja

natpisa po širini oznake;

g) Svojstvo Layout (raspored) –tipa nabrajanja odreĊuje poravnanje natpisa po visini oznake;

h) Svojstvo WordWrap (prebacivanje reĉi) –tipa Boolean s vrednošću True

oznaĉava da se tekst natpisa prelama u više redova, vrednost False oznaĉava da se tekst prikazuje u jednom redu;

i) Svojsvo ShowAccelChar (prikaţi znak za preĉicu) –tipa Boolean s vrednošću

True oznaĉava da znak & obeleţava znak preĉicu i ne treba ga prikazivati na ekranu, vrednost False oznaĉva da znak & treba prikazivati i da oznaka nema znak preĉicu.

Page 11: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 11 -

StaticText (statički tekst)

Ima istu namenu kao i oznaka. Razlika je u tome što je statiĉki tekst komponenta sa

prozorom.

Za umetanje ove komponente u obrazac postoji dugme preĉica StaticText, na stranici Additional na paleti komponenata u glavnom prozoru Delphija.

Sva svojstva navedena za oznaku se koriste na isti naĉin i za statiĉki tekst, s tim da ne

postoje svojstva Layout i WordWrap, a dodatna su: a) BorderStyle (stil ivica) –tipa nabrajanja odreĊuje da li se tekst prikazuje

uokvireno ili ne;

b) BevelKind (vrsta kosine); c) BevelOuter (spoljašna kosina); d) BevelInner (unutrašnja kosina);

e) BevelEdges (ivica kosine).

4.2. Dugmad

Dugmad se prvenstveno koriste za pokretanje nekih akcija.

Button (dugme)

Osnovna uloga dugmeta jeste da se pritiskom na njega pokrene neka akcija. Za umetanje dugmeta u obrazac postoji dugme preĉica Button na stranici Standard,

na paleti komponenata. a) Svojstvo Caption (natpis) –tipa String sluţi za obeleţavanje namene dugmeta; b) Svojstvo Name (ime) –tipa String; c) Svojstvo Font (font) –podešava se u dijalog prozoru;

d) Svojstvo Cancel (odustani) –tipa Boolean s vrednošću True oznaĉava da je dato dugme dugme za odustajaje, vrednost False oznaĉava da nije dugme za odustajenje;

e) Svojstvo ModalResult uslovljeni rezultat –tipa Integer odreĊuje naĉin zatvaranja uslovljenih prozora.

BitBtn (dugme sa slikom)

Dugme sa slikom ima istu namenu i koristi se na isti naĉin kao i obiĉno dugme. Jedina

razlika je u tome što pored natpisa moţe da se obeleţi i nekom slikom. Za njegovo umetanje u obrazac postoji dugme preĉica BitBtn, na stranici Additional,

na paleti komponenata.

Svojstva kao kod obiĉnog dugmeta i još: a) Svojstvo Kind (vrsta) tipa nabrajanja odreĊuje vrstu dugmeta. b) Svojstvo Glyph (gravura) tipa TBitmap predstavlja sliku na dugmetu.

c) Svojstvo NumGlyph (broj gravura) tipa Integer onaĉava na koliko delova treba podeliti po širini sadrţaj svojstva Glyph.

d) Svojstvo Layout (raspored) tipa nabrajanja odreĊuje relativan poloţaj slike i

teksta na dugmetu.

Page 12: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 12 -

4.3. Razne komponente

Bevel (ram)

Ram je komponenta bez prozora koja sluţi za vizuelno grupisanje komponenata. Nije

kontenjerska komponenta i nikakvi dogaĊaji ne mogu da mu se dešavaju.

Za njegovo umetanje u obrazac postoji dugme preĉica Bevel, na stranici Additional, na paleti komponenata.

a) Svojstvo Shape (oblik) tipa nabrajanja odreĊuje vrstu rama. b) Svojstvo Style (stil) tipa nabrajanja odreĊuje da li se prikazuje upušteno

(bsLowered) ili izdignuto (bsRaised).

Timer (časovnik)

Ĉasovnik je nevizuelna komponenta pomoću koje moţe da se meri vreme. Ĉasovnik periodiĉno generiše dogaĊaj OnTimer (prilikom isteka vremena) kad god

istekne zadati period. To omogućava da program u tim trenucima nešto uradi, a da korisnik

ne preduzme nikakvu akciju. Za njegovo umetanje u obrazac postoji dugme preĉica Timer, na stranici System, na

paleti komponenata.

a) Svojstvo Interval tipa Integer odreĊuje koliko ĉesto će se generisati dogaĊaji OnTimer.

b) Svojstvo Enabled tipa Boolean odreĊuje da li ĉasovnik radi, podrazumevana

vrednost True oznaĉava da ĉasovnik radi, a False da je ĉasovnik zaustavljen.

Page 13: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 13 -

5. Okviri za tekst

U okvire za tekst unosi se tekst preko tastature za vreme izvršavanja aplikacije. Mogu

da se podele na jednoredne i višeredne. Pored svojstva uobiĉajenih za komponente imaju i specifiĉna svojstva.

I. Svojstva

Svojstvo MaxLenght (najveća duţina) –tipa Integer odreĊuje najveći broj

znakova koji korisnik moţe da unese u okvir za tekst. Svojstvo ReadOnly (samo ĉitanje) –tipa Boolean s vrednošću True oznaĉava

da korisnik u dati okvir za tekst na moţe da unese tekst. Podrazumevana vrednost False oznaĉava da korisnik moţe da menja sadrţaj okvira.

Svojstvo Modified (promenjen) –tiša Boolean s vrednošću True oznaĉava da je

sadrţaj okvira za tekst menjan od stvaranja komponente, vrednost False oznaĉava da u meĊuvremenu sadrţaj teksta u okviru nije menjan.

Svojstvo AutoSelect (automatsko obeleţavanje) –tipa Boolean s vrednošću True oznaĉava da se sadrţaj okvira automatski obeleţi kada se ţiţa pomeri na komponentu, a vrednost False da se to ne radi.

Svojstvo HideSelection (sakrij obeleţavanje) –tipa Boolean s vrednošću False oznaĉava da obeleţeni deo teksta unutar okvira ostaje obeleţen i kada se ţiţa

pomeri. Podrazumevana vrednost True oznaĉava da se obeleţavanje poništava. Svojstvo SelStart (poĉetak obeleţavanja) –tipa Integer predstavlja redni broj

prvog znaka u obeleţenom delu teksta.

Svojstvo SelLenght (duţina obeleţavanja) –tipa Integer predstavlja broj znakova u obeleţenom delu teksta.

Svojstvo SelText (obeleţeni tekst) –tipa String predstavlja obeleţeni deo teksta unutar okvira. Pomoću njega, iz programa moţe da se pristupi obeleţenom

delu teksta. Svojstva SelStart, SelLenght, SelText stoje na raspolaganju samo za vreme

izvršenja programa.

II. Metode procedure Clear; -oĉisti (izbacuje sav tekst iz okvira za tekst);

procedure SelectAll; -obeleţi sve (obeleţava celokupan tekst); procedure ClearSelection; -oĉisti obeleţeni deo (uklanja obeleţeni deo

teksta);

procedure CopyToClipboard; -kopiraj u Clipboard (smešta obeleţeni deo teksta iz okvira u Windows Clipboard);

procedure CutToClipboard: -iseci u Clipboard (smešta obeleţeni deo teksta u

Windows Clipboard i posle toga ga briše iz okvira za tekst. procedure PasteFromClipboard; -umetni iz Clipboarda (na mesto

pokazivaĉa teksta umeće sadrţaj Windowsovog Clipboarda u okvir za tekst.

Page 14: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 14 -

5.1. Edit (okvir za tekst)

Okvir za tekst (slika 5) omogućuje unošenje jednog reda teksta preko tastature i numeriĉkih odataka.

Slika 5

Za njegovo umetanje u obrazac za vreme projektovanja postoji dugme preĉica Edit, na stranici Standard, na paleti komponenata.

a) Svojstvo Text (tekst) –tipa String je glavno svojstvo koje sadrţi tekst u posmatranom okviru. Njegova vrednost moţe da se postavi za vreme projektovanja i da se promeni za vreme izvršavanja aplikacije.

b) Svojstvo CharCase (veliĉina slova) –tipa nabrajanja odreĊuje da li se u tekstu prihvataju mala i velika slova onako kako se unose preko tastature.

c) Svojstvo PasswordChar (znak za lozinku) –tipa Char odreĊuje znak koji se na

ekranu prikazuje u okviru za tekst kada se unosi lozinka.

5.2. MaskEdit (okvir za tekst s maskom)

Okvir za tekst s maskom ima istu namenu i izgled na ekranu kao i obiĉan okvir za tekst

a razlikuje se po tome što moţe da nametne taĉno odreĊeni format za unošenje podataka (npr. samo cifre).

Za njegovo umetanje u obrazac postoji dugme preĉica MaskEdit, na stranici

Additional, na paleti komponenata. Svojstvo EditMask (maska za ureĊivanje) tipa String definiše masku za

formatizovanje podataka tokom unošenja preko tastature.

5.3. LabeledEdit (okvir za tekst s oznakom)

Okvir za tekst s oznakom kombinacija je okvira za tekst i oznake. Za njegovo umetanje u obrazac postoji dugme preĉica LabeledEdit, na stranici

Additional, na paleti komponenata. Svojstva su ista kao i kod obiĉnog okvira za tekst i još: a) Svojstvo EditLabel (oznaka okvira za tekst) tipa TLabel predstavlja unutrašnju

komponentu koja sadrţi oznaku uz okvir za tekst.

b) Svojstvo LabelPosition (poloţaj oznake) tpa nabrajanja oznaĉava s koje strane okvira za tekst se nalazi oznak.

c) Svojstvo LabelSpacing (razmak do oznake) tipa Integer predstavlja rastojanje

izmeĊu okvira za tekst i oznake u taĉkama ekrana.

Page 15: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 15 -

5.4. Memo (višeredni okvir za tekst)

Višeredni okvir za tekst omogućuje unošenje proizvoljnog broja redova teksta preko

tastature. Za njegovo umetanje u obrazac postoji dugme preĉica Memo, na stranici Standard,

na paleti komponenata.

a) Svojstvo Lines (redovi) tipa TStrings je glavno svojstvo koje sadrţi tekst uposmatranom višerednom okviru za tekst.

b) Svojstvo Aligment (poravnanje) tipa nabrajanja odreĊuje naĉin poravnanja teksta po širini.

c) Svojstvo ScrollBars tipa nabrajanja odreĊije koli klizaĉi postoje. d) Svojstvo Word Wrap (prebacivanje reĉi) tipa Boolean s podrazumenaom

vrednošću True oznaĉava da se redovi automatski prelamaju kada se tekst

poravnava uz levu ivicu, vrednost False oznaĉava da se redovi ne prelamaju.

6. Komponente izbora

6.1. CheckBox (okvir za potvrdu)

Koristi se za potvrĊivanje da li neku opciju treba primenjivati ili ne. Moţe da ima dva

stanja: potvrĊeno i nepotvrĊeno. Eventualno treće, neodreĊeno stanje, zavisi od aplikacije. Okvir za potvrdu sastoji se iz malog pravougaonog okvira i natpisa sa strane. Tokom

izvršavanja aplikacije korisnik moţe da promeni stanje okvira za potvrdu pritiskajući mišem

(sam okvir ili natpis pored njega). Za njegovo umetanje u obrazac za vreme projektovanja postoji dugme preĉica

CheckBox, na stranici Standard, na paleti komponenata.

a) Svojstvo Caption (natpis) –tipa String; b) Svojstvo Checked (potvrĊeno) –tipa Boolean s vrednošću True oznaĉava da je

okvir za potvrdu u potvrĊenom stanju, vrednost False oznaĉava da je okvir u stanju koje je nepotvrĊeno ili neodreĊeno;

c) Svojstvo AllowGray ( dozvoli sivo–neodreĊeno) –tipa Boolean s vrednošću True oznaĉava da se radi o okviru za potvrdu sa tri stanja, vrednost False oznaĉava da moţe imati samo dva stanja;

d) Svojstvo State (stanje) –tipa nabrajanja oznaĉava trenutno stanje okvira za potvrdu. Moguće vrednosti su cbChecked (potvrĊeno), cbGrayed (sivo-neodreĊeno) i cbUnchecked (nepotvrĊeno);

e) Svojstvo Alignment (poravnanje) –tipa nabrajanje odreĊuje da li se natpis okvira za potvrdu nalazi sa leve ili sa desne strane okvira.

Page 16: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 16 -

6.2. RadioButton (radio-dugme)

Radio-dugmad koriste se za izbor jedne od nekolicine mogućih stavki. Upotrebljavaju se u grupama u kojima svako radio dugme predstavlja jednu stavku.

Grafiĉku predstavu radio-dugmeta ĉini mali okrugao okvir i natpis pored njega. Prazan okvir oznaĉava da navedena stavka nije odabrana, a popunjen okvir da jeste.

Radio-dugme koristi se na isti naĉin kao i okvir za potvrdu s dva stanja, razlika je u

tome da će, kada se jedno dugme u grupi odabere (pritisne), drugo dugme, koje je do tada bilo odabrano, automatski iskoĉiti.

Za umetanje radio-dugmeta u obrazac postoji dugme preĉica RadioButton, na

stranici Standard, na paleti komponenata. Svojstva Checked i Alignment isto de tumaĉe i koriste kao i u okvirima za potvrdu. Jednu grupu radio-dugmadi ĉine dugmad koja imaju istog roditelja, tj. nalaze se u istoj

kontenjerskoj komponenti ili obrascu. Samo jedno radio-dugme moţe da bude u pritisnutom stanju.

6.3. RadioGroup (grupa radio-dugmadi)

Grupa radio-dugmadi (slika 3) sadrţi po nekoliko radio-dugmadi povezanih u nedeljivu i nezavisnu celinu. Unutar svake

grupe svakog trenutka moţe da bude odabrano po jedno dugme.

Dugmad unutar grupe radio-dugmadi vizuelno su

povezana pravouganom linijom koja obuhvata svu dugmad u grupi. Gornja ivica pravougaonika moţe da sadrţi natpis grupe.Svako dugme u grupi moţe da ima znak preĉicu.

Za umetanje grupe radio-dugmadi u obrazac postoji dugme preĉica RadioGroup, na stranici Standard, na paleti komponenata. Slika 3

a) Svojsto Items (stavke) tipa TStrings predstavlja listu sa natpisima pojedine

dugmadi u grupi. Broj stavki (broj redova teksta) u njemu odreĊuje broj dugmadi

u grupi. Tj broj moţe da se dohvati pomoću Item.Count. b) Svojstvo ItemIndex (indeks stavke) tipa Integer oznaĉava koje je dugme u

grupi u pritisnutom stanju.

c) Svojstvo Columns (kolone) tipa Integer odreĊuje u koliko kolona će se raspodeliti dugmad u grupi radio-dugmadi.

Page 17: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 17 -

6.4. ListBox (okvir s listom)

Okvir sa listom sluţi za odabiranje jedne ili više stavki iz date liste. Ako okvir nije dovoljno visok da se vidi cela lista stavki, postoji uspravan klizaĉ pomoću

koga moţe da se prelistava sadrţaj liste. Ukoliko je lista prikazana u više kolona, ako okvir nije dovoljno širok postoji vodoravan klizaĉ.

Za umetanje okvira u obrazac za vreme projektovanja postoji dugme precica ListBox,

na stranici Standard, na paleti komponenata. o Svojstvo Items (stavke) predstavlja listu stavki koje se nalaze u okviru s listom. o Svojstvo Sorted (ureĊeno) s vednošću True oznaĉava da je lista ureĊena po

abecednom redu, vrednost False oznaĉava da nije ureĊene po abecednom redu. o Svojstvo Style (stil) odreĊuje vrstu okvira. o Svojstvo Columns (kolone) odreĊuje broj kolona za prikazivanje stavki.

o Svojstvo MultiSelect (višestruko odabiranje) s vrednošću True oznaĉava da iz liste moţe da se odabere više od jedne stavke. Vrednost False oznaĉava mogućnost odabiranja samo jedne stavke.

o Svojstvo ItemIndex (indeks stavke) oznaĉava redni broj istaknute stavke u listi. o Svojstvo SelCount (broj odabranih) predstavlja broj odabranih stavki u listi. o Svojstvo Selected (odabrano) je niz sa elementima. Vrednost True nekog

elementa u nizu oznaĉava da je odgovarajuća stavka u listi odabrana, vrednost False da nije.

Svojstva SelCount, Selected i ItemIndex stoje na raspolaganju samo za vreme

izvršavanja aplikacije.

6.5. ComboBox (kombinovani okvir za tekst s listom)

Kombinovani okvir za tekst sa listom, omogućuje unošenje jednog reda teksta preko tastature, kao kod okvira za tekst (Edit), ili izbor jedne od stavki sa liste, kao kod okvira sa

listom (ListBox). Za njegovo umetanje u obrazac za vreme projektovanja postoji dugme preĉica

ComboBox, na stranici Standard, na paleti komponenata.

a) Svojstvo Text tipa String je glavno svojstvo koje predstavlja sadrţaj okvira za tekst.

b) Svojstvo Items (stavke) tipa TStrings sadrţi listu stavki od kojih moţe da se

odabere jedna. c) Svojstvo ItemIndex (Indeks stavke) tipa Integer oznaĉava redni broj odabrane

stavke.

Page 18: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 18 -

7. Kontejnerske komponente

Kontejnerske komponente sluţe za grupisanje komponenata koje će biti povezane

logiĉki i fiziĉki. Na primer, ako se kontejnerska komponenta uĉini nevidljivom, i sve komponente koje se nalaze u njoj postaće nevidljive.

7.1. GroupBox (okvir za grupu)

Okvir za grupu je kontejnerska komponenta uokvirena tankom linijom, s natpisom za

obeleţavanje grupe. Natpis moţe da sadrţi i znak preĉicu za odabiranje grupe. Za njegovo umetanje u obrazac postoji dugme preĉica GroupBox, na stranici

Standard, na paleti komponenata.

7.2. Panel (ploĉa)

Ploĉa je kontejnerska komponenta ĉija površina moţe da bude izdignuta ili utisnuta.

Moţe da se koristi na potpuno isti naĉin kao i okvir za grupu.

Ploĉa se koristi za izradu raznih paleta. Ploĉa moţe da bude uokvirena pravougaonom spoljašnom i unutrašnjom kosinom. Za njeno umetanje u obrazac postoji dugme preĉica Panel, na stranici Standard na

paleti komponenata.

7.3. Bevel (ram)

Ram je komponenta bez prozora koja sluţi za vizuelno grupisanje komponenata. Nije

kontenjerska komponenta i nikakvi dogaĊaji ne mogu da mu se dešavaju. Za njegovo umetanje u obrazac postoji dugme preĉica Bevel, na stranici Additional,

na paleti komponenata.

c) Svojstvo Shape (oblik) tipa nabrajanja odreĊuje vrstu rama. d) Svojstvo Style (stil) tipa nabrajanja odreĊuje da li se prikazuje upušteno

(bsLowered) ili izdignuto (bsRaised).

Page 19: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 19 -

7. Meniji

Pomoću menija se zadaju komande za izvršavanje odreĊenih obrada.

Meniji se sastoje od liste stavki. Izborom neke od njih, pokreće se akcija u aplikaciji ili

se otvara podmeni za preciznije definisanje traţene radnje.

U aplikacijama pod Windowsom postoje dve vrste menija: Glavni meniji (main menus) koji se pridruţuju prozorima. Pomoću glavnih

menija obiĉno mogu da se pokreću sve akcije aplikacije. Pomoćni meniji (speed menus ili popup menus) koji se pridruţuju

komponentama u prozorima. Pomoćni meniji se ne vide na ekranu sve dok se ne pritisne desni taster miša u trenutku kada se pokazivaĉ miša nalazi iznad komponente kojoj je dati pomoćni meni pridruţen.

Svaki meni (glavni, pomoćni, podmeni) sastoji se od niza stavki meĊu kojima korisnik moţe da bira. Stavka menija je nevizuelna komponenta koja se nikad ne koristi samostalno, već samo kao sastavni deo menija.

U toku projektovanja aplikacije, meniji mogu da se sastavljaju pomoću dizajnera menija (menu designer), koji omogućava udobno sastavljanje menija proizvoljnih sloţenosti.

Prozor dizajnera menija otvara se pritiskom dugmeta sa ... uz desnu ivicu polja za

vrednost svojstva Items. Druga mogućnost je da se sliĉica menija dvaput pritisne mišem u prozoru obrazaca.

7.1. Glavni meni (MainMenu)

Glavni meni je nevizuelna komponenta koja se za vreme projektovanja u obrascu

prikazuje u obliku sliĉice. Za vreme izvršavanja ta sliĉica se ne vidi , već se vide samo stavke na prvom nivou na traci glavnog menija.

U obrazac moţe da se smesti i više glavnih menija, od kojih samo jedan moţe da bude

aktivan. Za njegovo umetanje u obrazac postoji dugme preĉica MainMenu, na stranici

Standard, na paleti komponenata.

a) Svojstvo Items (stavke) predstavlja stavke na prvom nivou u glavnom meniju. b) Svojstvo Images (slike) predstavlja listu slika iz koje mogu da se biraju sliĉice za

iscrtavanje ispred natpisa stavki menija.

c) Svojstvo AutoMerge (automatsko stapanje) odreĊuje da li se stavke menija iz više istovremeno vidljivih prozora stapaju u jedinstveni meni. Podrazumevana vrednost False oznaĉava da se to ne radi automatski, a vrednost True da se radi.

Stapanje dva menija moţe da se postigne i iz programa, pozivanjem metode: procedure Merge (Meni: TMainMenu); -stopi Poništavanje efekta metode Merge moţe da se postigne metodom:

procedure Unmerge (Meni: TMainMenu); -poništi stapanje Glavnim menijima ne mogu da se dešavaju nikakvi dogaĊaji.

Page 20: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 20 -

7.2. Pomoćni meni (PopupMenu)

Pomoćni meni je nevizuelna komponenta koja se za vreme projektovanja u obrascu

prikazuje u obliku sliĉice. Za vreme izvršavanja ta sliĉica se ne vidi, već se prikazuju samo stavke menija po potrebi.

Za njegovo umetanje u obrazac postoji dugme preĉica PopupMenu, na stranici

Standard, na paleti komponenata. a) Svojstva Items (stavke) i Images (slike) imaju ista tumaĉenja i koriste se na

isti naĉin kao i u glavnom meniju. b) Svojstvo Alignment (poravnavanje) odreĊuje poloţaj prikazivanja pomoćnog

menija. c) Svojstvo AutoPopup (automatsko iskrsavanje) s podrazumevanom vrednošću

True oznaĉava da se pomoćni meni automatski prikazuje na ekranu kada se

pritisne desni taste miša iznad komponente kojoj je pridruţen. Ako je vrednost False onda se ne prikazuje na taj naĉin već pomoću metode Popup.

d) Svojstvo PopupComponent (komponenta iskrsavanja) oznaĉava komponentu

iznad koje je pritisnut desni taste miša. Pomoćni meni moţe da se prikaţe i pomoću metode:

procedure Popup (X, Y: Integer); -iskrsavaj

gde su X i Y koordinate mesta prikazivanja pomoćnog menija. Pomoćnim menijima moţe da se dešava samo jedna vrsta dogaĊaja: OnPopup

(prilikom iskrsavanja).

Page 21: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 21 -

8. Komponente za rad sa nizovima: Memo i StringGrid

Na poĉetku, potrebno je naglasiti da se u Delphi-ju unos i prikazivanje niza realizuje

sistemski drugaĉije u odnosu na programski jezik Pascal. To ne znaĉi da poznavaoci programskog jezika treba da zaborave na: kreiranje nizova, pristup elementima niza, manipulacije elementima niza, ureĊivanje elemenata niza na osnovu razliĉitih kriterijuma…

Potrebno je pre svega upoznati se sa novim naĉinom rada i komponentama za rad s nizovima. Ovde će biti reĉi o osnovnim karakteristikama komponenata Memo i StringGrid.

8.1. Memo

Ova komponenta je sliĉna komponenti Edit. Osnovna razlika izmeĊu ovih komponenti je što u edit boksu moţe biti prikazan jedan red teksta, dok je u komponenti Memo moguće

prikazati tekst u više redova. Dodatne osobone komponente Memo su snimanje i uĉitavanje teksta iz datoteke,

moguće je postavljanje horizontalnih i vertikalnih traka za pomeranje vidnog polja…

Nedostatak ove komponente je nemogućnost promene fonta i stila na delu teksta. Najbitnije osobine komponente Memo su: Name, Lines (unos teksta u kontrolu) i

Aligment (poravnanje teksta). Metode:

Add – U toku izvršenja aplikacije u Memo se mogu dodavati redovi teksta korišćenjem

metode Add. Npr. Memo1.Lines.Add(‘Novi red’) postojećem sadrţaju Memo okvira

dodaje red sa tekstom pod navodnicima. Memo.Lines.Count daje broj linija Memo konrole.

Memo1.Lines[n] – omogućava pristup n-toj liniji memo1 okvira

Page 22: 1. Delphi - Гимназија у Куршумлији · PDF fileDelphi Gimnazija u Kuršumliji - 2 - U prozoru za hijerarhijski prikaz komponenti

Delphi Gimnazija u Kuršumliji

- 22 -

8.2. StringGrid

Komponenta StringGrid omogućuje da se podaci prikazuju u obliku tabele. Ona se nalazi na strani Additional na liniji komponenata.

Osnovne osobine ove komponente koje omogućuju pristup ćelijama su: Cells, Rows, Cols i Objects.

Broj kolona i broj redova komponente zadaju se osobinama ColCount i RowCount. Ćelijama tabela se pristupa programski, na osnovu vrednosti koje odreĊuju kolonu i

vrstu u kojoj se ćelija nalazi (vrednosti se navode u uglastim zagradama [x,y] kao pri radu sa

dvodimenzionalnim nizovima). Da bi izbacili fiksirane kolone i redove u Properties kartici Inspektora Objekata

svojstva FixedCols i Fixed Rows postavite na nulu. Da bi omogućili unos podataka u StringGrid potrebno je u Properties kartici

svojstvo Options-go editing postaviti na true. Dok ova opcija nije ukljuĉena nećete moći uneti brojeve u tabelu (matricu).

Za ĉitavanje ili upis sadrţaja ćelije koristi se svojstvo Cells. Primer: StringGrid1.Cells[m,n];