Professional Documents
Culture Documents
Delphi Rad
Delphi Rad
DELPHI
Delphi
Sadraj
1. Uvod ........................................................................................... 3 2. Delphi ......................................................................................... 4
2.1. Poetak rada i upravljanje Delphi-jem ............................................................................4 2.2. Prazan projekat ................................................................................................................6 2.3. uvanje i otvaranje projekta............................................................................................6
4. Komponente .............................................................................. 10
4.1 Svojstva komponenata....................................................................................................10 4.2. Metode komponenata ....................................................................................................12 4.3. Dogaaji komponenata ..................................................................................................12
7. Meniji ........................................................................................ 23
7.1. Glavni meni (MainMenu)..............................................................................................23 7.2. Pomoni meni (PopupMenu).........................................................................................23
Literatura ...................................................................................... 28
________________________________________________________________________ 2
Delphi
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 proiren na 32-bitne sisteme. Delphi je dobio ime prema legendarnom grkom proroitu, a i njegov zatitni znak je upravo grki 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, meutim, ubrzo se shvata da je on izuzetno jasan i matematiki definisan. Naime, i najtei izazovi su u stvari samo sklapanje jednostavnih radnji u jednu. Delphi je vrlo moan alat. Svaka akcija u Windows-u se moe napraviti u Delphiju, tako da se jedan celi operativni sistem moe napraviti u Delphiju. tavie, sam Delphi je napravljen u Delphiju. Takoe je i kompletan alat. Naime, mogue je manipulisati bazama podataka, SQL-om, HTML-om, game driverima i sl. Njegova najznaajnija osobina je kompatibilnost. Sam programer moe 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 odreenim dogaajima. Dogaaj moe da se desi u bilo kojem trenutku u toku rada programa. Bez pomoi Delphi-ja (ili nekog slinog programa) korisnici ne bi bili u stanju da rade s dogaajima koji se odigravaju u proizvoljnom trenutku. Kada Windows primeti dogaaj, program izvrava programski kod koji je napisan za taj dogaaj. Problem dogaaja je reen izuzetnom saradnjom Windows-a i programskog paketa Delphi, koji, slobodno se moe rei rade zajedno. Programi napisani u Delphi-ju mogu biti razliite namene. Paket je napravljen tako da njegov kvalitet dolazi do izraaja pri reavanju 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 ukljuivala mogunosti prethodnih i donosila neto novo u postupku reavanja zadataka.
________________________________________________________________________ 3
Delphi
2. Delphi
Delphi je programski paket namenjen kreiranju Windows aplikacija (programa) za personalne raunare. Krajnji proizvod Delphi-ja je izvrni proram koji reava zadatke zbog kojih je kreiran u okruenju 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 omoguuje kreiranje komponenti za viestruko korienje u raznim korisnikim programima.Osnovni pojmovi OOP su: komponente, objekti, metode, svojstva i dogaaji. Komponente su elementi ugraeni u Delphi-ju za viestruku upotrebu i koriste se pri formiranju objekta. Objekt je osnovni element Delphi programa koji ima odgovarajua svojstva (karakteristike), metode koje definiu njegovo ponaanje i mogunost prepoznavanja dogaaja na koje mogu reagovati. Metod je programski kod pridruen objektu, koji odreuje kako e objekt manipulisati sa informacijama i kako e reagovati na dogaaje. Svojstva su karakteristike objekata kao to su: veliina, poloaj, boja ili font teksta. Svojstva odreuju pojavljivanje, a ponekad i ponaanje objekta. Dogaaji mogu biti prouzrokovani od strane korisnika ili od strane operativnog sistema Windows.
________________________________________________________________________ 4
Delphi
U prozoru za hijerarhijski prikaz komponenti aplikacije (Object TreeView) se prikazuje hijerarhijsko stablo objekata postavljenih u okviru aplikacije. Prozor za odreivanje osobina objekta i dogaaja (Object Inspector) se nalazi na levoj strani ekrana i slui za podeavanje osobina (Properties) i dogaaja (Events) objekata koje se formiraju tokom razvoja aplikacije. Prozor obrasca za dizajniranje automatski se formira pri pokretanju Delphi-ja i naziva se forma. Forma generiki dobija ime Form1. Ova forma iako prazna poseduje osobine Windows programa: moe se premetati, mogu joj se menjati dimenzije, moe se minimizirati, maksimizirati i zatvoriti. Ima i svoju ikonicu koja se dodeljuje pri minimizaciji, ima naslovnu liniju, okvir i radnu povrinu. Na radnoj povrini nalazi se mrea takica koja slui kao pomo pri postavljanju i poravnavanju komponenti.
Linija alata Naslovna linija glavnog prozora Linija komponenti Meni linija Prozor obrasca za dizajniranje
Slika 1
________________________________________________________________________ 5
Delphi
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
________________________________________________________________________ 6
Delphi
Vesna uri, IV-3 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. Slue kao nosai komponenata (vlasnici su kompenenata). Komponente ne mogu da postoje izvan obrazaca. Jedan projekat moe sadrati vie obrazaca. Nov obrazac se dodaje projektu komandom File/New/Form ili uz pomo dugmeta preice New Form na paleti komandi. Manipulacija sa obrascima najlake se vri uz pomo Project Managera ( komandom Delphi-ja View/Project Manager).
________________________________________________________________________ 7
Delphi
Vesna uri, IV-3 4. Position (poloaj)-odreuje mesto i veliinu prikazivanja prozora prilikom izvravanja aplikacije. 5. WindowState (stanje prozora) oznaava trenutno stanje prozora na ekranu. Vrednost wsMaximized oznaava da je prozor pretvoren u najveu mogou veliinu, 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), odreuju ponaanje vodoravnog i uspravnog klizaa. 7. Icon (sliica)- oznaava sliicu na upravljakom dugmetu prozora. 8. KeyPreview (prethodni pregled tastera)- odreuje nain obrade dogaaja u vezi s tastaturom (OnKeyDown, OnKeyUp, OnKeyPress). Vrednost True oznaava da se prvo poziva odgovarajui rukovalac dogaajima obrasca a tek posle rukovalac dogaaja komponente. Vrednost False oznaava da se pozivaju samo rukovaoci dogaajima komponenata. 9. ActiveControl (aktivna upravljaka komponenta)- oznaava koja je komponenta u obrascu trenutno u ii. 10. WindowMenu (meni za prozore)- oznaava stavku menija iji je podmeni u MDI aplikaciji predvien za upravljanje prozorima decom. 11. Active (aktivan)- s vrednou True oznaava da je prozor trenutno aktivan, dok vrednost False oznaava da nije. Ovo svojstvo je rasoloivo samo za vreme izvrenja projekta i ne moe da se menja iz programa. 12. ModalResult (uslovljeni rezultat)- odreuje nain zatvaranja uslovljenog prozora (najee prozora za dijalog). Podrazumevana vrednost je 0. Kada se promeni vrednost u nenultu, prozor izgubi uslovljeni status i zatvara se. Simbolike konstante za tipine namene su: mrNone (nita), mrOK (sve je u redu), mrCancel (odustani), mrAbort (prekini), mrRetry (pokuaj ponovo), mrIgnore (zanemari), mrYes (da), mrNo (ne), mrAll (da za sve). 13. AlphaBlend (alfa meanje)- S vrednou True oznaava da se prozor iscrtava prozirno, s vrednou False da se prozor ne iscrtava prozirno. 14. AlphaBlendValue (vrednost alfa meanja)- odreuje stepen prozirnosti iscrtavanja prozora (0-jasna slika, 255-slika se uopte ne nazire). 15. MDIChildCount (broj MDI dece)- predstavlja broj obrazaca dece u radnom prostoru posmatranog obrasca. Ovo svojstvo je raspoloivo samo za vreme izvravanja aplikacije. 16. MDIChildren (MDI deca)- je niz obrazaca u posmatranom obrascu. Prvi u nizu ima indeks 0. Ovo svojstvo je raspoloivo samo za vreme izvravanja aplikacije. 17. ActiveMDIChild (aktivno MDI dete)- predstavlja obrazac koji je trenutno u ii unutar posmatranog obrasca. Ovo svojstvo je raspoloivo samo za vreme izvravanja aplikacije. 18. TileMode (nain rasporeivanja ploica)- odreuje na koji e se nain rasporediti prozori deca u radnom prostoru prozora roditelja.
________________________________________________________________________ 8
Delphi
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 sadri okvir s listom iz koje treba odabrati okvir.
________________________________________________________________________ 9
Delphi
4. Komponente
Komponente su osnovni elementi aplikacije. Projektovanje aplikacija se sastoji od izbora odreenog broja komponenati i definisanju kako one deluju jedna na drugu. Veina komponenti moe da se pronae na paleti komponenata u glavnom prozoru Delphija. Komponente mogu da budu: vizuelne, nevizuelne, upravljake. upravljake
Name (ime) nalazi se u svojstvu tipa string. Koristi se za pristup datoj komponenti. Svi obrasci istog projekta moraju imati razliita imena. Sve komponente unutar istog obrasca moraju da imaju razliita imena. Imena ne treba menjati za vreme izvrenja 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, odreuje mesto komponente u nizu komponenata. III. Sadravanje 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.
________________________________________________________________________ 10
Delphi
Niz dece predstavlja niz onih komponenata koje data komponenta sadri. Nalazi se u svojstvu Controls (upravljake komponente). IV. Vidljivost i upotrebljivost komponenata Vidljivost komponente kontrolie se svojstvom Visible (vidljivo) tipa Boolean. Vrednost True oznaava da komponentu treba prikazivati na ekranu, vrednost False da komponentu ne treba prikazivati. Upotrebljivost komponente tj. da li ia moe da se pomeri na komponentu, kontrolie se svojstvom Enabled (omogueno) tipa Boolean. Ako je vrednost True komponenta je upotrebljiva, inae nije. V. Poloaj i veliina komponenata Poloaj komponente odreuje 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.
Veliina komponente iskazuje se pomou svojstava: c. Height (visina); d. Width (irina); Veliina radnog prostora komponente iskazuje se pomou svojstava: e. ClientHeight (visina klijenta); f. ClientWidth (irina klijenta); g. Constraints (ogranienja); h. Align (poravnjanje); i. Anchors (relativan poloaj u odnosu na ivice roditelja). VI. Natpis komponente To je tekst kojim se oznaava data komponenta. Pedstavlja se svojstvom Caption (natpis) tipa String. Podrazumevana vrednost natpisa poklapa se sa imenom (Name). Moe da se postavlja za vreme projektovanja i da se menja za vreme izvrenja aplikacije. U upravljakim komponentama ispred jednog znaka u natpisu moe da se stavi znak & i tako obeleen znak je preica. VII. Izgled komponente Svojstvo Ctl3D (trodimenzionalna komponenta) tipa Boolean s podrazumevanom vrednou True oznaava prikazivanje sa trodimenzionalnim efektima, a vrednost False oznaava prosto dvodimenzionalno iscrtavanje. Svojstvo ParentCtl3D (trodimenzionalnost roditelja) tipa Boolean s vrednou True oznaava da komponenta preuzima vrednost svojstva Ctrl3D od svog roditelja. Vrednost False da se broj dimenzija komponente podeava nezavisno od roditelja.
________________________________________________________________________ 11
Delphi
Svojstvo BorderStyle (stil ivica) s vrednou bsSingle (jednostruka) oznaava iscrtavanje okvira ije su ivice jednostruke linije, a vrednost bsNone (nita) oznaava odsustvo okvira. Svojstvo BevelKind (vrsta kosina) odreuje da li se oko komponente prikazuju kosine ili ne. Svojstvo BevelOuter (spoljana kosina). Svojstvo BevelInner (unutranja kosina). Svojstvo Cursor (pokaziva) odreuje izgled pokazivaa mia. Svojstvo Color (boja) odreuje boju komponente. Svojstvo Font (font) odreuje osobine slova.
________________________________________________________________________ 12
Delphi
Sledea dva dogaaja pomou mia jesu pritiskanje nekog tastera mia (bez otputanja) OnMouseDown (prilikom pritiskanja mia) i OnMouseUp (prilikom otputanja mia). III. Dogaaj sa tastaturom Osnovni dogaaj koji moe da se proizvede pomou tastature jeste pritisak i otputanje nekog tastera na tastaturi OnKeyPress (prilikom pritiska na taster) i OnKeyUp (prilikom otputanja 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
________________________________________________________________________ 13
Delphi
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 najee i u najveem broju sreu u svakodnevnoj praksi.
________________________________________________________________________ 14
Delphi
Za umetanje ove komponente u obrazac postoji dugme preica StaticText, na stranici Additional na paleti komponenata u glavnom prozoru Delphija. Sva svojstva navedena za oznaku se koriste na isti nain i za statiki tekst, s tim da ne postoje svojstva Layout i WordWrap, a dodatna su: a) BorderStyle (stil ivica) tipa nabrajanja odreuje da li se tekst prikazuje uokvireno ili ne; b) BevelKind (vrsta kosine); c) BevelOuter (spoljana kosina); d) BevelInner (unutranja 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 preica Button na stranici Standard, na paleti komponenata. a) Svojstvo Caption (natpis) tipa String slui za obeleavanje namene dugmeta; b) Svojstvo Name (ime) tipa String; c) Svojstvo Font (font) podeava se u dijalog prozoru; d) Svojstvo Cancel (odustani) tipa Boolean s vrednou True oznaava da je dato dugme dugme za odustajaje, vrednost False oznaava da nije dugme za odustajenje; e) Svojstvo ModalResult uslovljeni rezultat tipa Integer odreuje nain zatvaranja uslovljenih prozora. BitBtn (dugme sa slikom) Dugme sa slikom ima istu namenu i koristi se na isti nain kao i obino dugme. Jedina razlika je u tome to pored natpisa moe da se obelei i nekom slikom. Za njegovo umetanje u obrazac postoji dugme preica BitBtn, na stranici Additional, na paleti komponenata. Svojstva kao kod obinog dugmeta i jo: a) Svojstvo Kind (vrsta) tipa nabrajanja odreuje vrstu dugmeta. b) Svojstvo Glyph (gravura) tipa TBitmap predstavlja sliku na dugmetu. c) Svojstvo NumGlyph (broj gravura) tipa Integer onaava na koliko delova treba podeliti po irini sadraj svojstva Glyph. d) Svojstvo Layout (raspored) tipa nabrajanja odreuje relativan poloaj slike i teksta na dugmetu.
CheckBox (okvir za potvrdu) Koristi se za potvrivanje da li neku opciju treba primenjivati ili ne. Moe da ima dva stanja: potvreno i nepotvreno. Eventualno tree, neodreeno stanje, zavisi od aplikacije.
________________________________________________________________________ 15
Delphi
Okvir za potvrdu sastoji se iz malog pravougaonog okvira i natpisa sa strane. Tokom izvravanja aplikacije korisnik moe da promeni stanje okvira za potvrdu pritiskajui miem (sam okvir ili natpis pored njega). Za njegovo umetanje u obrazac za vreme projektovanja postoji dugme preica CheckBox, na stranici Standard, na paleti komponenata. a) Svojstvo Caption (natpis) tipa String; b) Svojstvo Checked (potvreno) tipa Boolean s vrednou True oznaava da je okvir za potvrdu u potvrenom stanju, vrednost False oznaava da je okvir u stanju koje je nepotvreno ili neodreeno; c) Svojstvo AllowGray ( dozvoli sivoneodreeno) tipa Boolean s vrednou True oznaava da se radi o okviru za potvrdu sa tri stanja, vrednost False oznaava da moe imati samo dva stanja; d) Svojstvo State (stanje) tipa nabrajanja oznaava trenutno stanje okvira za potvrdu. Mogue vrednosti su cbChecked (potvreno), cbGrayed (sivoneodreeno) i cbUnchecked (nepotvreno); e) Svojstvo Alignment (poravnanje) tipa nabrajanje odreuje 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 moguih stavki. Upotrebljavaju se u grupama u kojima svako radio dugme predstavlja jednu stavku. Grafiku predstavu radio-dugmeta ini mali okrugao okvir i natpis pored njega. Prazan okvir oznaava da navedena stavka nije odabrana, a popunjen okvir da jeste. Radio-dugme koristi se na isti nain 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 iskoiti. Za umetanje radio-dugmeta u obrazac postoji dugme preica RadioButton, na stranici Standard, na paleti komponenata. Svojstva Checked i Alignment isto de tumae 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 moe da bude u pritisnutom stanju.
RadioGroup (grupa radio-dugmadi) Grupa radio-dugmadi (slika 3) sadri po nekoliko radiodugmadi povezanih u nedeljivu i nezavisnu celinu. Unutar svake grupe svakog trenutka moe 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 moe da sadri natpis grupe.Svako dugme u grupi moe da ima znak preicu. Za umetanje grupe radio-dugmadi u obrazac postoji
________________________________________________________________________ 16
a) Svojsto Items (stavke) tipa TStrings predstavlja listu sa natpisima pojedine dugmadi u grupi. Broj stavki (broj redova teksta) u njemu odreuje broj dugmadi u grupi. Tj broj moe da se dohvati pomou Item.Count. b) Svojstvo ItemIndex (indeks stavke) tipa Integer oznaava koje je dugme u grupi u pritisnutom stanju. c) Svojstvo Columns (kolone) tipa Integer odreuje u koliko kolona e se raspodeliti dugmad u grupi radio-dugmadi.
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 preica Image, na stranici Additional, na paleti komponenata. a) Svojstvo Picture (slika) tipa TPicture sadri sliku u jednom od formata koje prihvata Delphi. b) Svojstvo Center (centrirati) tipa Boolean odreuje nain poravnanja slike u odnosu na komponentu. c) Svojstvo AutoSize (automatska veliina) tipa Boolean s vrednou True oznaava da se veliina komponente automatski prilagoava veliini slike, vrednost False oznaava da se to ne radi. d) Svojstvo Strech (rairi) tipa Boolean s vrednou True oznaava da se dimenzije slike prilagoavaju veliini komponente, vrednost False oznaava da se to ne radi.
________________________________________________________________________ 17
Delphi
Timer (asovnik) asovnik je nevizuelna komponenta pomou koje moe da se meri vreme. asovnik periodino generie dogaaj OnTimer (prilikom isteka vremena) kad god istekne zadati period. To omoguava da program u tim trenucima neto uradi, a da korisnik ne preduzme nikakvu akciju. Za njegovo umetanje u obrazac postoji dugme preica Timer, na stranici System, na paleti komponenata. a) Svojstvo Interval tipa Integer odreuje koliko esto e se generisati dogaaji OnTimer. b) Svojstvo Enabled tipa Boolean odreuje da li asovnik radi, podrazumevana vrednost True oznaava da asovnik radi, a False da je asovnik zaustavljen.
________________________________________________________________________ 18
Delphi
CheckListBox (okvir s potvrenom listom) Okvir s potvrenom listom (slika 4) je kombinacija okvira s listom i okvira za potvrdu. Svaka stavka u listi ponaa se kao okvir za potvrdu i jedna stavka u listi moe da bude odabrana. Za njegovo umetanje u obrazac postoji dugme preica ListBox, na stranici Additional, na paleti komponenata. o Svojstva Items, Sorted, Style, Columns i ItemIndex isto se tumae i koriste kao i kod okvira s listom. o Svojstvo AllowGreyed (dozvoli sivo-neodreeno) s vrednou True oznaava da se pojedinane stavke u listi ponaaju kao okviri za potvrdu s tri stanja, vrednost False podrazumeva da okvir za potvrdu moe da ima samo dva stanja. o Svojstvo Checked (potvreno) isto se tumai kao kod okvira za potvrdu. o Svojstvo State (stanje) je niz elemenata. o Oznaavaju trenutno stanje pojedinih stavki u listi.
Slika 4
________________________________________________________________________ 19
Delphi
6. Okviri za tekst
U okvire za tekst unosi se tekst preko tastature za vreme izvravanja aplikacije. Mogu da se podele na jednoredne i vieredne. Pored svojstva uobiajenih za komponente imaju i specifina svojstva. I. Svojstva Svojstvo MaxLenght (najvea duina) tipa Integer odreuje najvei broj znakova koji korisnik moe da unese u okvir za tekst. Svojstvo ReadOnly (samo itanje) tipa Boolean s vrednou True oznaava da korisnik u dati okvir za tekst na moe da unese tekst. Podrazumevana vrednost False oznaava da korisnik moe da menja sadraj okvira. Svojstvo Modified (promenjen) tia Boolean s vrednou True oznaava da je sadraj okvira za tekst menjan od stvaranja komponente, vrednost False oznaava da u meuvremenu sadraj teksta u okviru nije menjan. Svojstvo AutoSelect (automatsko obeleavanje) tipa Boolean s vrednou True oznaava da se sadraj okvira automatski obelei kada se ia pomeri na komponentu, a vrednost False da se to ne radi. Svojstvo HideSelection (sakrij obeleavanje) tipa Boolean s vrednou False oznaava da obeleeni deo teksta unutar okvira ostaje obeleen i kada se ia pomeri. Podrazumevana vrednost True oznaava da se obeleavanje ponitava. Svojstvo SelStart (poetak obeleavanja) tipa Integer predstavlja redni broj prvog znaka u obeleenom delu teksta. Svojstvo SelLenght (duina obeleavanja) tipa Integer predstavlja broj znakova u obeleenom delu teksta. Svojstvo SelText (obeleeni tekst) tipa String predstavlja obeleeni deo teksta unutar okvira. Pomou njega, iz programa moe da se pristupi obeleenom delu teksta. Svojstva SelStart, SelLenght, SelText stoje na raspolaganju samo za vreme izvrenja programa. II. Metode procedure Clear; -oisti (izbacuje sav tekst iz okvira za tekst); procedure SelectAll; -obelei sve (obeleava celokupan tekst); procedure ClearSelection; -oisti obeleeni deo (uklanja obeleeni deo teksta); procedure CopyToClipboard; -kopiraj u Clipboard (smeta obeleeni deo teksta iz okvira u Windows Clipboard); procedure CutToClipboard: -iseci u Clipboard (smeta obeleeni deo teksta u Windows Clipboard i posle toga ga brie iz okvira za tekst. procedure PasteFromClipboard; -umetni iz Clipboarda (na mesto pokazivaa teksta umee sadraj Windowsovog Clipboarda u okvir za tekst.
________________________________________________________________________ 20
Delphi
Slika 5
Za njegovo umetanje u obrazac za vreme projektovanja postoji dugme preica Edit, na stranici Standard, na paleti komponenata. a) Svojstvo Text (tekst) tipa String je glavno svojstvo koje sadri tekst u posmatranom okviru. Njegova vrednost moe da se postavi za vreme projektovanja i da se promeni za vreme izvravanja aplikacije. b) Svojstvo CharCase (veliina slova) tipa nabrajanja odreuje da li se u tekstu prihvataju mala i velika slova onako kako se unose preko tastature. c) Svojstvo PasswordChar (znak za lozinku) tipa Char odreuje znak koji se na ekranu prikazuje u okviru za tekst kada se unosi lozinka.
________________________________________________________________________ 21
Delphi
________________________________________________________________________ 22
Delphi
7. Meniji
Pomou menija se zadaju komande za izvravanje odreenih obrada. Meniji se sastoje od liste stavki. Izborom neke od njih, pokree se akcija u aplikaciji ili se otvara podmeni za preciznije definisanje traene radnje. U aplikacijama pod Windowsom postoje dve vrste menija: Glavni meniji (main menus) koji se pridruuju prozorima. Pomou glavnih menija obino mogu da se pokreu sve akcije aplikacije. Pomoni meniji (speed menus ili popup menus) koji se pridruuju komponentama u prozorima. Pomoni meniji se ne vide na ekranu sve dok se ne pritisne desni taster mia u trenutku kada se pokaziva mia nalazi iznad komponente kojoj je dati pomoni meni pridruen. Svaki meni (glavni, pomoni, podmeni) sastoji se od niza stavki meu kojima korisnik moe 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 pomou dizajnera menija (menu designer), koji omoguava udobno sastavljanje menija proizvoljnih sloenosti. Prozor dizajnera menija otvara se pritiskom dugmeta sa ... uz desnu ivicu polja za vrednost svojstva Items. Druga mogunost je da se sliica menija dvaput pritisne miem u prozoru obrazaca.
________________________________________________________________________ 23
Delphi
Za njegovo umetanje u obrazac postoji dugme preica PopupMenu, na stranici Standard, na paleti komponenata. a) Svojstva Items (stavke) i Images (slike) imaju ista tumaenja i koriste se na isti nain kao i u glavnom meniju. b) Svojstvo Alignment (poravnavanje) odreuje poloaj prikayivanja pomonog menija. c) Svojstvo AutoPopup (automatsko iskrsavanje) s podrazumevanom vrednou True oznaava da se pomoni meni automatski prikazuje na ekranu kada se pritisne desni taste mia iznad komponente kojoj je pridruen. Ako je vrednost False onda se ne prikazuje na taj nain ve pomou metode Popup. d) Svojstvo PopupComponent (komponenta iskrsavanja) oznaava komponentu iznad koje je pritisnut desni taste mia. Pomoni meni moe da se prikae i pomou metode: procedure Popup (X, Y: Integer); -iskrsavaj gde su X i Y koordinate mesta prikazivanja pomonog menija. Pomonim menijima moe da se deava samo jedna vrsta dogaaja: OnPopup (prilikom iskrsavanja).
________________________________________________________________________ 24
Delphi
8. Zadaci
1) Obrazac sadri samo jednu komponentu Label1. Napisati procedure koje e omoguiti da Label1 pocrveni na jedan klik i promeni natpis u Novo ime na dvoklik na label. a) Na obrzac ubacimo Label. Naemo dogaaj OnClick i napiemo proceduru:
Label1.Color:=clRed;
b) Oznaimo Label1 i naemo dogaaj DBlClick i napiemo proceduru:
Label1.Caption:=Novo Ime;
2) Kreirati aplikaciju koja e omoguiti prikazivanje vremena i datuma. a) b) c) Na obrazac ubacimo dve oznake. U svojstvo Caption prve oznake upiemo Vreme a kod druge Datum. Na obrazac ubacimo dva okvira za tekst. Na obazac ubacimo dva dugmeta. U svojstvo Caption prvog upiemo Pokreni, a kod drugog Kraj. Procedura za prvo dugme:
Edit1.Text:=TimeToStr(Time); Edit2.Text:=DateToStr(Date);
Procedura za drugo dugme:
Form1.Close;
________________________________________________________________________ 25
Delphi
9. Zakljuak
Ono to je vrlo vano za nekoga ko je programirao u proceduralnim jezicima kao to su Pascal i C, i navikao je da stvari dri pod kontrolom, to je, da mora da se miri sa injenicom da u poetku, a vrlo esto ni kada iza sebe bude imao gomilu programa, neke mogunosti Delphija nee razumeti do kraja, to mu ipak nee smetati da ih sa uspehom koristi. Delphi je objektno-orjentisan jezik i vi dok gradite aplikaciju u njemu, eleli to ili ne, kreirae 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 raskone mogunosti Delphija, koje se ogledaju u injenici , da u nekoliko minuta moete kreirati mone multimedijalne ili database aplikacije, koje su vam iz perspektive Pascal ili C programera izgledale skoro nedostine, nee ostaviti ravnodunim.
________________________________________________________________________ 26
Delphi
Prilog
Prilog 1: Aplikacija za raunanje brzine i ubrzanja
________________________________________________________________________ 27
Delphi
Literatura
1. Laslo Kraus, Programsko okruenje Delphi 7 sa reenim zadacima, Mikro knjiga, Beograd 2003. godine; 2. Milan abarkapa, Raunarstvo 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
________________________________________________________________________ 28
Delphi
Komisija:
Komentar:
________________________________________________________________________ 29