3. razred - Računarstvo i informatika

3. razred - Računarstvo i informatika

Objektno orijentisano programiranje - vežbe

Delphi - programsko okruženje

Programsko okruženje

Delphi 7 je proizvod softverske kompanije Borland. Zasnovan je na programskom jeziku Pascal. Kompletan program je napisan u Delphi-ju. Najnovija verzija Delphi 10 Seattle je puštena u promet 31. avgusta 2015. godine.


slika1

Osnovno programsko okruženje Delphi 7 izgleda kao na slici.

Okruženje programa Delphi se sastoji od pet delova:

  • Glavni deo programa
  • Object Tree View
  • Object Inspector
  • Forma
  • Kod editor

Programsko okruženje Delphi je namenjeno za pravljenje programa.

Kao rezultat se dobija fajl sa ekstenzijom (nastavkom .exe) koji se može pokrenuti na bilo kom računaru.

Tokom procesa pravljenja programa Delphi kreira nekoliko vrsta potrebnih fajlova.

Prilikom snimanja trenutnog stanja u kojem se razvoj nalazi potrebno je uraditi sledeće: sve fajlove koje Delphi nudi za snimanje smestiti u jedan folder.

Prilikom izbora imena foldera i fajlova ne upotrebljavati specifične latinične karaktere (š, č, đ, ...), pošto ih Delphi 7 ne obrađuje ispravno.

Delphi 7 poseduje izvanredno koristan i funkcionalan Help sistem, koji besprekorno radi pod WindowsXP operativnim sistemom. Help sistem unutar operatvnog sistema Windows7 ne radi zbog novijeg sistema Help-a unutar ovog operativnog sistema.

Glavni deo programa

slika2

Glavni deo programa sadrži nekoliko zasebnih celina koji su razvrstani u menije, alate i palete.

U menijima se nalaze sve opcije za upravljanje Delphi-jem i razvojem programa na kojem se radi.

Najčešće upotrebljavane opcije menija su izdvojene u alate koji se nalaze sa leve strane ovog prozora.

Palete sa pripremljenim i programiranim komponentama se nalaze na najvećem delu ovog prozora. Komponente su grupisane i razdvojene tabovima.

Nazivi tabova asociraju na grupe komponenata koje se na njima nalaze. Sve komponente koje se nalaze na paletama su standardne komponente koje se pojavljuju u svim Windows programima i njihovim prozorima za dijaloge.

Object Tree View

Object Tree View (Shift+Alt+F11):

slika3

Object Tree View omogućava pregled komponenti koje se nalaze na trenutno aktivnoj formi. Komponente su poređane hijerarhijski te se može pratiti sadržaj komponenti.

Iz ove strukture se vide komponente preci i naslednici (o nasleđivanju osobina će biti reči kasnije).

Object Tree View takođe omogućava izbor (selekcija) komponente čije se osobine žele promeniti.

Object Tree View omogućava brisanje komponenti. Nakon izbora komponente sa tastature DEL ili klik na drugu ikonicu sa leve strane u Object Tree View-u.

Object Tree View komponente na formi razlikuje imenom, te se lako uočava komponenta kojoj je ime obrisano, što je jedna od veoma čestih grešaka koje se čine pri radu u Delphiju.

Komponente koje se nalaze u GroupBox1 nemaju imena, umesto imena komponenti je ispisano <Component[x]>.

Object Inspector

Object Inspector (F11):

Object Inspector takođe omogućava izbor (selekcija) komponente čije se osobine žele promeniti. Izbor komponente se vrši izborom sa opadajuće liste komponenti u samom vrhu ovog prozora.

Object Inspector sadrži dva taba:

  • Properties
  • Events
slika4

Properties (osobine) - su poređane abecedno. Sve komponente poseduju svoje specifičnosti i na osnovu njih su dozvoljene promene njihovih pojedinih osobina.

Najbitnije osobine za većinu komponenti su (pojedine komponente nemaju neke od ovih osobina):

  • Caption - sadržaj ili naslov komponente
  • Color - boja komponente
  • Enabled - dozvola/zabrana komponente
  • Font - podešavanje osobina fonta komponente
  • Height - visina komponente
  • Left - pozicija komponente od leve ivice forme na kojoj se nalazi
  • Name - ime komponente
  • ParentColor - nasleđivanje boje komponente od pretka
  • PrentFont - nasleđivanje podešavanja fonta od pretka
  • TabOrder - pritiskom na TAB sa tastature redni broj komponente za dobijanje fokusa
  • TabStop - komponenta dobija/ne dobija fokus
  • Text - sadržaj komponente
  • Top - pozicija komponente od vrha ivice forme na kojoj se nalazi
  • Visible - vidljivost/nevidljivost komponente
  • Width - širina komponente









slika4a

Events (događaji) - su poređani abecedno. Različite komponente omogućavaju različite događaje koji se vezuju za njih.

Najčešće upotrebljavani događaji:

OnClick - događaj OnClick se dešava kada korisnik klikne levim tasterom miša na datu komponentu. Imati u vidu da li klik na neku komponentu ima smisla (klik na ispis - label ili panel).

OnMouseMove - događaj OnMouseMove se dešava kada korisnik mišem "pređe" preko date komponente bez klika.

OnKeyUp - događaj OnKeyUp se dešava kada korisnik otpusti neki prethodno pritisnuti taster na tastaturi. Proces "kucanja" na tastaturi se u Delphi-ju razlikuje i posmatra kao tri različita događaja:

* - trenutak kada je taster pritisnut,

* - vreme dok je taster pritisnut i

* - trenutak kada se taster otpušta.

Za sva ova tri događaja se mogu pisati odvojeni programski kodovi. Prilikom pisanja koda za tastaturu prvo se proverava koji je taster sa tastature u pitanju.

Novi događaj:

Za početak obrade događaja potrebno je odabrati komponentu za koju se želi pisati događaj. Zatim se u Object Inspector-u bira željeni događaj. U belom polju pored događaja u Object Inspectoru je potrebno duplo kliknuti. Otvoriće se deo programa za pisanje koda i može se pristupiti pisanju programskog koda.

Forma

Forma (F12):

slika5

Deo programa koji će korisniku biti vidljiv i putem kojeg će upravljati njime. Na formu se nanose potrebne komponente za rukovanje programom. Komponente se postavljaju, grupišu, dimenzionišu a sve u cilju lakše upotrebe i preglednosti.

Nanošenje komponenti na formu:

Odabrati komponentu na paleti (kliknuti na nju). Nakon toga kliknuti na formu (na formi na mestu klika će biti gornji levi ugao komponente). Nakon ovoga se komponenta može pozicionirati i dimenzionisati. Komponente koje sadrže ispise ili se u njih piše (label, edit), nema smisla dimentionisati po visini pošto njihova visina zavisi od veličine fontova.

Obeležavanje komponenti koje se nalaze na formi:

Pritisnuti levi taster miša i "razvući" pravougaonik u kojem će se naći ženjene komponente.

Klik mišem na prvu željenu komponentu, pritisnuti CTRL na tastaturi i klikom obeležavati ostale željene komponente bez otpuštanje CTRL sa tastature.

Brisanje komponente sa forme:

Obeležiti komponentu i pritisnuti DEL sa tastature.

Umnožavanje komponenti na formi:

Obeležiti komponentu i CTRL+C sa tastature, kliknuti na formu (ili kontejnersku komponentu na koju se želi naneti kopirana komponenta) i CTRL+V sa tastature.

Podešavanje zajedničkih osobina za više istih ili različitih komponenti:

Obeležiti komponente i u Object Inspectoru se pojavljuju zajedničke osobine za odabrane komponente.

Glavne osobine forme (properties)

  • Align položaj forme (efekat se vidi samo pri pokretanju programa): alNone (prozor je istih dimenzija kao i pri izradi), alClient (prozor je maksimiziran), itd;
  • BordeIcons podešavanje kontrolnih dugmadi sa desne strane naslovnog reda prozora;
  • BorderStyle podešavanje okvirnih linija prozora;
  • Icon podešavanje ikone programa;

Kod Editor

Kod Editor (F12):

slika6

Kod Editor je deo programa u kojem se opisuju događaji. Događaji se pišu u programskom jeziku Turbo Pascal. Program koji je u fazi razvoja se bilo kada može isprobati, pokretanjem pomoću tastera F9 ili klikom na zeleni trougao u glavnom delu programa.

Prilikom prevođenja programskog koda u mašinski jezik, Kod Editor će u donjem delu prozora odvojiti deo za upozorenja i greške. Ukoliko Kod Editor ne nađe greške u donjem delu prozora se neće naći nikakav odvojeni deo, kao na slici.

Upozorenja - Warnings (Hints) pojavljuju se najčešće ukoliko se deklarišu promenljive i one se nikada ne upotrebe ili ukoliko ime se zaboravi zadati početna (inicijalna) vrednost.

Greške - Errors zaustavljaju pokretanje programa i ne dozvoljavaju pokretanje programa dok se greška ne ispravi. Priliom greške Delphi obeležava bordo (maroon) bojom pojavu greške. Iznad obeleženog reda se nalazi greška. Opis dovoljno jasno upućuje na prirodu greške:

Missing operator or semicolon - nedostaje operator ili tačka-zarez;

Undeclared identifier 'x' - nedeklarisana promenljiva x;

Kreiranje događaja

slikat1

Kreiranje događaja se sastoji od tri jednostavna koraka:

  • izabere se objekat za koji se želi stvoriti događaj
  • u Object Inspectoru se na Events tab-u izabere tip događaja
  • dvostruki klik na belo polje pored naziva događaja

Nakon ovoga se u kod editoru otvara deklarisana procedura u koju se može pisati programski kod

Brisanje događaja

slikat2

Ukoliko se događaj za određenu komponentu želi izbrisati na najlakši način, potrebno je obrisati sve naredbe koje su unete kao i deklaracije promenljivih (ukoliko ih ima) i ostaviti praznim prostor između begin i end kao što je i bilo pre početka pisanja koda za ovaj događaj. CTRL+F9 ili pokrenuti program. Delphi će obrisati događaj iz Object Inspectora (sa Events taba) kao i deklaraciju procedure.