29
Gimnazija Kuršumlija Maturski rad iz računarstva i informatike DELPHI Mentor: Učenik: Milomir Ilić, prof Vesna Đurić, IV-3 Kuršumlija, Maj 2011 god.

Delphi

  • Upload
    peka76

  • View
    141

  • Download
    9

Embed Size (px)

DESCRIPTION

delphi

Citation preview

Page 1: Delphi

Gimnazija Kuršumlija

Maturski rad iz računarstva i informatike

DELPHI Mentor: Učenik: Milomir Ilić, prof Vesna Đurić, IV-3

Kuršumlija, Maj 2011 god.

Page 2: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 2

Sadržaj

1. Uvod ...........................................................................................3

2. Delphi .........................................................................................4 2.1. Početak rada i upravljanje Delphi-jem ............................................................................4 2.2. Prazan projekat ................................................................................................................6 2.3. Čuvanje i otvaranje projekta............................................................................................6

3. Obrasci (Forme) ...........................................................................7 3.1. Svojstva obrasca ..............................................................................................................7 3.2. Metode obrasca................................................................................................................9 3.3. Događaji obrasca .............................................................................................................9 3.4. Okviri...............................................................................................................................9

4. Komponente .............................................................................. 10 4.1 Svojstva komponenata....................................................................................................10 4.2. Metode komponenata ....................................................................................................12 4.3. Događaji komponenata ..................................................................................................12

5. Jednostavne komponente............................................................ 14 5.1. Prikazivanje teksta.........................................................................................................14 5.2. Dugmad .........................................................................................................................15 5.4. Razne komponente ........................................................................................................17 5.5. Izbor stavki sa spiska.....................................................................................................18 5.6. Kontejnerske komponente .............................................................................................19

6. Okviri za tekst ............................................................................ 20 6.1. Edit (okvir za tekst) .......................................................................................................21 6.2. MaskEdit (okvir za tekst s maskom) .............................................................................21 6.3. LabeledEdit (okvir za tekst s oznakom) ........................................................................21 6.4. Memo (višeredni okvir za tekst) ....................................................................................22 6.5. ComboBox (kombinovani okvir za tekst s listom)........................................................22

7. Meniji ........................................................................................ 23 7.1. Glavni meni (MainMenu)..............................................................................................23 7.2. Pomoćni meni (PopupMenu).........................................................................................23

8. Zadaci ....................................................................................... 25

9. Zaključak ................................................................................... 26

Prilog ............................................................................................ 27 Prilog 1: Aplikacija za računanje brzine i ubrzanja..............................................................27

Literatura ...................................................................................... 28

Page 3: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 3

1. Uvod

Delphi je proizvod firme Borland, danas poznate kao Inprise. Ova firma je poznata po programskim jezicima kao sto su Pascal, C, C++... U stvari, Delphi je objektni Pascal, dakle proširen na 32-bitne sisteme.

Delphi je dobio ime prema legendarnom grčkom proročištu, a i njegov zaštitni znak je upravo grčki hram. Još jedna osobina vezana za ovo je da svakom exe file-u automatski daje ikonu baklje.

Na prvi pogled, Delphi se čini jako komplikovan, međutim, ubrzo se shvata da je on izuzetno jasan i matematički definisan. Naime, i najteži izazovi su u stvari samo sklapanje jednostavnih radnji u jednu.

Delphi je vrlo moćan alat. Svaka akcija u Windows-u se može napraviti u Delphiju, tako da se jedan celi operativni sistem može napraviti u Delphiju. Štaviše, sam Delphi je napravljen u Delphiju.

Takođe je i kompletan alat. Naime, moguće je manipulisati bazama podataka, SQL-om, HTML-om, game driverima i sl.

Njegova najznačajnija osobina je kompatibilnost. Sam programer može kreirati nove komponente i tako prilagoditi Delphi samom sebi.

Dogadjaji u Delphi programu mogu biti pokrenuti akcijom korisnika, internim funkcijama kao što su tajmeri (interni casovnici) ili spoljnim faktorima (prijem elektronske poruke). Akcije se odvijaju pri određenim događajima.

Događaj može da se desi u bilo kojem trenutku u toku rada programa. Bez pomoći Delphi-ja (ili nekog sličnog programa) korisnici ne bi bili u stanju da rade s događajima koji se odigravaju u proizvoljnom trenutku.

Kada Windows primeti događaj, program izvršava programski kod koji je napisan za taj događaj. Problem događaja je rešen izuzetnom saradnjom Windows-a i programskog paketa Delphi, koji, slobodno se može reći rade zajedno.

Programi napisani u Delphi-ju mogu biti različite namene. Paket je napravljen tako da njegov kvalitet dolazi do izražaja pri rešavanju problema koji koriste baze podataka.

Prva verzija Delphi-ja nastala je 1995. godine, kao direktna posledica nastanka Windows-a 95. Od tada je objavljeno osam verzija, od kojih je svaka naredna uključivala mogućnosti prethodnih i donosila nešto novo u postupku rešavanja zadataka.

Page 4: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 4

2. 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.

2.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 5: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 5

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 6: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 6

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

2.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. 2.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:

Page 7: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 7

1. Na meni liniji odabrati opciju File/Open Project....Ctrl+F11. 2. Željeni projekat treba selektovati i nakon toga treba aktivirati dugme Open.

3. Obrasci (Forme)

Obrasci (slika 2) 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).

3.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.

Page 8: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 8

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 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 9: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 9

3.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. 3.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 10: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 10

4. 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.

4.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. Posedovanje komponenata

Aplikacija je vlasnik svih obrazaca u njoj. Obrasci su vlasnici svih elemenata

(komponenti). Vlasnik komponente nalazi se u svojstvu Owner tipa TComponent. Broj komponenti kojima je data komponenta vlasnik, nalazi se u svojstvu

ComponentCount tipa Integer. Niz komponenata kojima je komponenta vlasnik, nalazi se u svojstvu Components

tipa TComponent. Indeks komponente, predstavljen svojstvom ComponentIndex tipa Integer,

određuje mesto komponente u nizu komponenata.

III. Sadržavanje komponenata

Jedna komponenta postaje dete druge komponente kad se umetne u radni prostor te druge komponente.

Roditelj komponente predstavlja se svojstvom Parent (roditelj). Broj dece neke kontenjerske komponente nalazi se u svojstu ControlCount

elemenata.

Page 11: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 11

Niz dece predstavlja niz onih komponenata koje data komponenta sadrži. Nalazi se u svojstvu Controls (upravljačke komponente).

IV. 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.

V. 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.

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).

VI. 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.

VII. 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.

Page 12: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 12

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.

4.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;

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.

4.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).

Page 13: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 13

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).

KONVERZIJE

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 14: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 14

5. 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.

5.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.

� StaticText (statički tekst) Ima istu namenu kao i oznaka. Razlika je u tome što je statički tekst komponenta sa

prozorom.

Page 15: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 15

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).

5.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.

� 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.

Page 16: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 16

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.

� 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.

� 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

Page 17: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 17

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.

5.4. 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). � Image (slika)

Slika je komponenta bez prozora u koju mogu da se smeste slike po formatima koje prihvata Delphi.

Za njeno umetanje u obrazac postoji dugme prečica Image, na stranici Additional, na paleti komponenata.

a) Svojstvo Picture (slika) tipa TPicture sadrži sliku u jednom od formata koje prihvata Delphi.

b) Svojstvo Center (centrirati) tipa Boolean određuje način poravnanja slike u odnosu na komponentu.

c) Svojstvo AutoSize (automatska veličina) tipa Boolean s vrednošću True označava da se veličina komponente automatski prilagođava veličini slike, vrednost False označava da se to ne radi.

d) Svojstvo Strech (raširi) tipa Boolean s vrednošću True označava da se dimenzije slike prilagođavaju veličini komponente, vrednost False označava da se to ne radi.

Page 18: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 18

� 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.

5.5. Izbor stavki sa spiska

� ListBox (okvir s listom)

Okvir s 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.

Page 19: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 19

� CheckListBox (okvir s potvrđenom listom)

Okvir s potvrđenom listom (slika 4) je kombinacija okvira s listom i okvira za potvrdu. Svaka stavka u listi ponaša se kao okvir za potvrdu i jedna stavka u listi može da bude odabrana.

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

o Svojstva Items, Sorted, Style, Columns i ItemIndex isto se tumače i koriste kao i kod okvira s listom.

o Svojstvo AllowGreyed (dozvoli sivo-neodređeno) s vrednošću True označava da se pojedinačne stavke u listi ponašaju kao okviri za potvrdu s tri stanja, vrednost False podrazumeva da okvir za potvrdu može da ima samo dva stanja.

o Svojstvo Checked (potvrđeno) isto se tumači kao kod okvira za potvrdu.

o Svojstvo State (stanje) je niz elemenata. o Označavaju trenutno stanje pojedinih stavki u listi.

Slika 4

5.6. 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.

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.

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 izrau 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.

Page 20: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 20

6. 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 21: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 21

6.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.

6.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.

6.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 22: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 22

6.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.5. ComboBox (kombinovani okvir za tekst s listom)

Kombinovani okvir za tekst s listom omogućuje unošenje jednog reda teksta preko tastature, kao kod okvira za tekst (Edit), ili izbor jedne od stavki s 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 23: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 23

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.

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.

Page 24: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 24

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 prikayivanja 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 25: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 25

8. Zadaci

1) Obrazac sadrži samo jednu komponentu Label1. Napisati procedure koje će omogućiti da Label1 pocrveni na jedan klik i promeni natpis u ’’Novo ime’’ na dvoklik na label.

a) Na obrzac ubacimo Label. Nađemo događaj OnClick i napišemo proceduru:

Label1.Color:=clRed;

b) Označimo Label1 i nađemo događaj DBlClick i napišemo proceduru:

Label1.Caption:=’Novo Ime’;

2) Kreirati aplikaciju koja će omogućiti prikazivanje vremena i datuma.

a) Na obrazac ubacimo dve oznake. U svojstvo Caption prve oznake upišemo ’’Vreme’’ a kod druge ’’Datum’’.

b) Na obrazac ubacimo dva okvira za tekst. c) Na obazac ubacimo dva dugmeta. U svojstvo Caption prvog upišemo

’’Pokreni’’, a kod drugog ’’Kraj’’. Procedura za prvo dugme:

Edit1.Text:=TimeToStr(Time); Edit2.Text:=DateToStr(Date);

Procedura za drugo dugme:

Form1.Close;

Page 26: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 26

9. Zaključak

Ono što je vrlo važno za nekoga ko je programirao u proceduralnim jezicima kao što su Pascal i C, i navikao je da ’’stvari drži pod kontrolom’’, to je, da mora da se miri sa činjenicom da u početku, a vrlo često ni kada iza sebe bude imao gomilu programa, neke mogućnosti Delphija neće razumeti do kraja, što mu ipak neće smetati da ih sa uspehom koristi. Delphi je objektno-orjentisan jezik i vi dok gradite aplikaciju u njemu, želeli to ili ne, kreiraće se objekti pod kontrolom Delphija koji zamenjuju na stotine programskih linija koje bi morali napisati, da bi u nekom od proceduralnih jezika kreirali Windows aplikaciju.

Skoro da je sigurno da vas raskošne mogućnosti Delphija, koje se ogledaju u činjenici , da u nekoliko minuta možete kreirati moćne multimedijalne ili database aplikacije, koje su vam iz perspektive Pascal ili C programera izgledale skoro nedostižne, neće ostaviti ravnodušnim.

Page 27: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 27

Prilog

Prilog 1: Aplikacija za računanje brzine i ubrzanja

Page 28: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 28

Literatura

1. Laslo Kraus, Programsko okruženje Delphi 7 sa rešenim zadacima, Mikro knjiga,

Beograd 2003. godine; 2. Milan Čabarkapa, Računarstvo i informatika, Krug, Beograd 2005. godine ; 3. http://www.znanje.org/knjige/computer/delphi/01/uvod.htm 4. http://delphi3x.blogspot.com/2009/10/using-inheritance-effectively.html

Page 29: Delphi

Delphi Vesna Đurić, IV-3

________________________________________________________________________ 29

Datum predaje: ______________

Komisija:

Predsednik _______________

Ispitivač _______________

Član _______________

Komentar:

Datum odbrane: _____________ Ocena ________ __ (___)