P. 1
Visual basic za decu

Visual basic za decu

|Views: 298|Likes:
Published by mikisd

More info:

Published by: mikisd on Feb 20, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

03/04/2013

pdf

text

original

Sections

Pripremio Dragan Marković Malo istorije Daleke 1964.

godine studentima Dartmouth Collegea bio je potreban bolji pristup računarima i jednostavniji i efikasniji jezik za pisanje računarskih programa. Prvo su John G. Kemeny, Šef Katedre za matematiku (engl. chairman of Department of Mathematics) i profesor Thomas Kurtz napravili Dartmouth Time-Sharing System, prvi računarski sistem sa raspodelom vremena (engl. time-share) u SAD; zatim su napravili BASIC (Beginner's Allpurpose Symbolic Instruction Code), računarski jezik kojim su studenti mogli da pišu programe koji su radili na velikom centralnom računaru (engl. mainframe) General Electric GE-225. Deset godina kasnije, verzija BASIC-a koju su napisali Bill Gates i Paul Allen, bila je sastavni deo prvog personalnog računara Altair. Danas, BASIC je daleko najpopularniji računarski jezik za programiranje. Tokom proteklih decenija pojavilo se preko 20 verzija BASIC-a. Prvu verziju Visual Basica najavio je Bill Gates 1989. godine u svom članku u časopisu BYTE Magazine. Tri godine kasnije, pojavila se verzija ovog popularnog programskog jezika koja je specijalno projektovana za razvoj programa koji treba da rade pod Windowsom. LEKCIJA 1 Počnimo sa učenjem Učenje programiranja u Visual Basicu 6 (VB), kao i učenje bilo čega novog, obuhvata više koraka, mnogo novih izraza (termina) i mnogo novih veština. Radićemo zato polako, opisujući detaljno svaki korak, izraz i veštinu. Pre nego što počnemo, pretpostavićemo da znate sledeće stvari:

• • • •

Kako se uključuje računar i kako se koristi miš. Kako se u Windowsu obavljaju osnovne radnje, kao što su pronalaženje direktorijuma, snimanje datoteka i upisivanje informacija u okvire za dijalog. Kako se u Windowsu menja veličina i položaj prozora na ekranu. Šta je proširenje naziva datoteke (engl. file extension) i kako se prema njemu prepoznaje vrsta (tip) datoteke.

Sve ovo ste već koristili ukoliko ste ikada radili u nekom programu za obradu teksta ili bilo kom drugom programu na računaru. Krećemo! U prvoj lekciji naučićete kako se na računaru pokreće VB, kako se učitava program (ili projekat) u VB, kako se pokreće program, kako se zaustavlja program i kako se izlazi iz VB. To će biti dobar uvod za mnoge nove stvari koje ćete učiti u lekcijama koje dolaze. Pokretanje VB Podrazumevamo da na računaru imate instaliran i pravilno podešen Visual Basic 6. Ukoliko nije tako, onda to morate srediti. Ako to ne možete da uradite, potražite pomoć nekog ko ima više iskustva u radu sa personalnim računarom. Da biste pokrenuli VB potrebno je da uradite sledeće:

• • •

Pritisnite mišem na dugme Start na Windowsovoj paleti poslova. U meniju Start izaberite Programs/Microsoft Visual Basic. Pritisnite mišem Visual Basic 6. VB6 bi trebalo da se pokrene.

Napomena: Neki od navedenih naziva možda se razlikuje od naziva na vašem računaru, ali to ne bi trebalo da predstavlja problem. Kada je VB pokrenut trebalo bi da se pojavi okvir za dijalog New Project. Ukoliko se nije pojavio, pritisnite mišem dugme Open. Sada ćemo ukratko objasniti objekte koji su se pojavili na ekranu..

Centralno mesto zauzima glavni prozor Visual Basica (engl. Main Window). Na vrhu glavnog prozora nalazi se naslovna linija (engl. Title Bar). U naslovnoj liniji se nalazi naziv programa koji koristimo, kao i naziv aktivnog radnog režima VB. Ispod naslovne linije nalazi se linija menija (engl. Main Menu) sa komandama, pomoću kojih mi upravljamo radom VB. On ima standardan izgled kao i meniji svih Windows programa. Ispod menija nalazi se paleta alatki (engl. Toolbar). Na paleti alatki nalaze se dugmad koja na sebi imaju ikone (sličice) alatki. Ova dugmad se takođe koriste za upravljanje Visual Basicom. Kada postavimo pokazivač miša na neko dugme, pojavljuje se mali pravougaonik sa informacijom (engl. tooltip) šta to dugme radi. Skoro svi Windows programi imaju palete alatki koje pomažu korisnicima da brže pronađu i aktiviraju komande koje se u tim programima najčešće koriste. Takvu funkciju ima i VB paleta alatki. Toliko za sada, preostali objekti biće objašnjeni kasnije. Otvaranje Visual Basicovog projekta Ono što sada želimo da uradimo je da otvorimo projekat. Programi napisani u VB nazivaju se projekti. Projekti obuhvataju sve informacije koje su nam potrebne za naš VB računarski program. Kada napišemo program u VB sačuvaćemo ga kao projekat. Koristićemo VB paletu alatki da otvorimo projekat. Potražimo dugme na paleti alatki koje na sebi ima ikonu u obliku otvorene fascikle. To dugme je prikazano na sledećoj slici.

Pritisnite mišem ovo dugme. Pojaviće se okvir za dijalog Open Project. Pronađite direktorijum VB za decu. U njemu se nalaze resursi potrebni za rad u ovoj lekciji. Otvorite taj direktorijum. Savet: Zapamtite kako ste stigli do tog direktorijuma. Kroz ovaj kurs često ćete u njemu tražiti projekte. Izaberite projekat Primer. Otvorite taj projekat. Sada se na ekranu pojavljuje nekoliko prozora. Potražite prozor koji izgleda kao prozor prikazan na sledećoj slici.

Napomena: Ako se prilikom otvaranja projekta nije pojavio prozor sa prethodne slike, tada u meniju View izaberite stavku Object. Sada ćemo objasniti sve objekte koji su prikazani na ekranu. Nemojte se uplašiti novih izraza. Počinjemo polako da učimo terminologiju modernog programiranja. Prikazani prozor projekta naziva se obrazac (engl. form). Svi VB projekti (ili programi) prave se korišćenjem obrazaca. U stvari, ako bolje pogledate videćete da su svi Windows programi pravljeni korišćenjem neke vrste obrazaca. Na vrhu obrasca nalazi se naslovna linija (engl. Title Bar). Ona ima ikonu (sličicu) koja je povezana sa obrascem, a koja opisuje ono što obrazac radi (Visual Basic za decu - Primer) i tri manja dugmeta pomoću kojih možete da mejate veličinu obrasca. Na obrascu ima još mnogo stvari i one su "srce" VB programa. Vi vidite skup kvadratnih dugmadi sa nazivima država ispisanim pored njih. Takođe, vidite slike zastava tih država, kao i skup okruglih dugmadi sa nazivima boja pored njih. Na slici se još nalazi mali pravougaonik, sa strelicama na desnoj strani, u koji možete da upišete neke znakove. Tu je i veliko dugme na kome piše Gong!. Zatim, postoji mali uređaj u obliku trake sa strelicama na krajevima i klizačem (engl. sroll bar), koji se koristi za biranje vrednosti broja. I na kraju, postoji lopta u velikom pravougaoniki, ispod koga se nalazi dugme na kome piše Start i pored njega jedna mala štoperica. Sve ove stvari nazivamo kontrole (engl. controls) ili objekti (engl. objects). Kontrole obezbeđuju interfejs ili sredstvo komunikacije, između nas (odnosno, korisnika računara) i računara. Kontrole koristimo da bi računaru saopštili neke stvari. Računar zatim koristi to što mu je saopšteno da utvrdi neke stvari i prikaže nam rezultate pomoću kontrola. Ako ste ranije imali prilike da koristite neke Windows programe, sigurno ste videli kontrole, ali verovatno niste znali da se one tako zovu. Na primer, dugmad na liniji alatki su kontrole, stavke u meniju su kontrole, kao i dugmad koja u okvirima za dijaloge pritiskate kada otvarate ili snimate datoteke. Sigurno ste već shvatili da su kontrole veoma važan deo VB. One su, u stvari, najvažniji deo VB pošto omogućavaju da pravite svoje programe. U ovom kursu dosta vremena ćemo posvetiti kontrolama. Za sada, pokrenimo ovaj program da biste stekli uvid kako on radi. No pre nego što to uradimo, pogledajmo naslovnu liniju VB programa. Zapazite "ograđenu" reč design. Ona nas informiše da se VB nalazi u režimu Design. To je režim rada u kome se prave VB projekti. Uvek pogledajte naslovnu liniju VB da vidite u kom režimu radi. Izvršavanje VB projekta Obično po završetku razvoja VB projekta on se pokreće (ili izvršava) da bi se proverila njegovo funkcionisanje. Program se pokreće i omogućava korisniku da pomoću kontrola na obrascu "naređuje" računaru da obavlja isprogramirane zadatke. Projekat možemo pokrenuti sa linije alatki. Potražimo dugme koje izgleda kao taster Play na videorekorderu ili kasetofonu.

Pritisnite ovo dugme da biste pokrenuli trenutno otvoreni projekat Primer. Na ekranu će se pojaviti obrazac projekta i imaće oblik prikazan na sledećoj slici.

Sigurno ste zapazili da su se neke stvari promenile. Sve zastave su nestale. Boja pozadine obrasca je plava. Okruglo dugme pored natpisa Plavo ima crnu tačku na sebi. Mala lopta je pala na dno velikog pravougaonika. Šta se desilo? Kako budemo dalje učili VB, tako ćete postepeno otkrivati kako i zašto se sve to desilo. Takođe, uočite da je sada VB u režimu Run (pogledajte naslovnu liniju). Projekat je sada pokrenut, ali šta on zapravo radi? Ništa se ne dešava, zar ne? U ovom trenutku VB čeka na vas, tj. korisnika, da uradite nešto. Programeri kažu da VB projekat čeka da se desi neki događaj (engl. event). U VB programu ništa se ne dešava sve dok se neki događaj ne pojavi. Zbog toga VB nazivamo programskim jezikom kojim upravljaju događaji (engl. event driven). Zato šta čekamo, izazovimo događaj! Događaj će se pojaviti kada uradimo nešto na obrascu, pritisnemo mišem negde na obrascu, upišemo nešto ili pomerimo objekat na obrascu. U gornjem levom uglu obrasca nalazi se grupa od šest kvadratića obuhvaćenih velikim pravougaonikom iznad koga je natpis Zastave. Pored svakog kvadratića ispisan je naziv neke države. Pritisnite mišem na neki od tih kvadratića. Uočite šta se dešava. Pojavila se "kvačica" unutar kvadratića, što označava da je taj kvadratić izabran, a ujedno se pojavila na obrascu zastava države čiji naziv se nalazi pored tog kvadratića. Kada smo pritisnuli mićem na kvadratić, izazvali smo događaj koji se naziva Click. Računar prepoznaje događaj i radi ono što mu je saopšteno da uradi (preko našeg programa). U ovom slučaju, događaj saopštava računaru da prikaže zastavu izabrane države. Pritisnite mišem ponovo na taj isti kvadratić. "Kvačica" nestaje sa kvadratića, kao i zastava sa ekrana. Izazvali ste novi događaj i saopštili računaru da ukloni zastavu sa ekrana. Ova vrsta kontrole (kvadratić u kojem se pojavljuje i nestaje "kvačica") naziva se polje za potvrdu (engl. check box). Uočite da možete da potvrdite više ovih polja, tj. možete da izaberete da prikažete na ekranu više zastava. Polja za potvrdu koriste se kada želimo da izaberemo stavke sa nekog spiska. U ovom primeru koriste se još dve kontrole. Pravougaonik koji obuhvata polja za potvrdu naziva se okvir (engl. frame). Oblast u kojoj se prikazuje slika zastave naziva se kontrola slika (engl. image). Pogledajmo sada šta rade druge kontrole na obrascu. Blizu sredine ekrana je grupa kružića koja se nalazi u okviru iznad koga je natpis Boje. Pored svakog kružića nalazi se ispisan naziv jedne boje. Kružić pored koga piše Plavo ima tačku u sredini, što označava da je trenutno izabrana ta boja (uočite da je obrazac plav). Pritisnite mišem na neki drugi kružić iz ove grupe i uočite šta se dešava. Boja obrasca se menja u boju čiji naziv je ispisan pored kružića koji ste upravo izabrali. Događaj Click saopštio je računaru da promeni boju pozadine obrasca. Takođe, uočite da se sada tačka nalazi u kružiću koji ste mišem izabrali, a da je nestala iz kružića sa natpisom Plavo. Za razliku od polja za potvrdu, kod kontrola ovog tipa možete da izaberete samo jedno dugme (kružić). Ovo ima smisla, obrazac treba da bude jednobojan. Ovi kružići nazivaju se opciona dugmad (engl. option buttons). Opciona dugmad se koriste kada je potrebno da izaberete samo jednu opciju (stavku) sa liste. Ispod okvira sa natpisom Zastave nalazi se drugi okvir sa natpisom Izaberi broj. Ovde vidimo brojeve prikazane u kontroli koju nazivamo labela (engl. label). Ispod labele je druga kontrola koja se naziva traka za pomeranje sadržaja (engl. scroll bar). Ovakvu kontrolu ste sigurno već viđali u drugim Windows programima. Ovde traku za pomeranje sadržaja koristimo da promenimo prikazani broj. Pritisnite mišem strelicu na desnoj strani trake, prikazana vrednost se povećava za 1. Ako nastavite dalje mišem da pritiskate na strelicu, povećavaće se prikazana vrednost. Pritisnite mišem na belu oblast, levo od strelice. Vrednost broja povećaće se za 10. Pritisnite mišem na dugme (klizač) u sredini trake i povucite ga desno, a zatim levo. Uočite kako se sada naglo menja prikazana vrednost. U ovom primeru, računar je reagovao na događaj Change na traci za pomeranje sadržaja, koji se pojavljivao na svaki pomeraj srednjeg dugmeta (klizača). Događaj Change saopštava računaru da se vrednost na traci za pomeranje sadržaja promenila i omogućava da se nova vrednost

prikaže u kontroli labela. Ispod okvira sa natpisom Izaberi broj je oblast sa trakom za pomeranje sadržaja na desnoj strani. Ova kontrola se naziva polje za upisivanje teksta (engl. text box). Pritisnite mišem unutar polja i upišite tekst po svojoj želji. Polje za upisivanje teksta se ponaša kao mali program za obradu teksta. Svaki put kada u njega upišete nešto, pojavi se nekoliko događaja. Pojavljuje se događaj KeyPress kada pritisnete taster na tastaturi i događaj Change, koji se poziva svaki put kada se u polju tekst promeni. Odmah pored polja za upisivanje teksta je dugme na kome piše Gong!. Pritisnite mišem na ovo dugme i trebalo bi da čujete zvuk gonga iz zvučnika svog računara. Ova kontrola se naziva komandno dugme (engl. command button) i jedna je od najčešće korišćenih kontrola u Visual Basicu. Događaj Click saopštava računaru da treba da proizvede zvuk. Poslednja stvar na našem obrascu je dugi, žuti pravougaonik, tj. kontrola koja se naziva polje za sliku (engl. picture box). Na njemu se nalazi krug koji se naziva kontrola oblik (engl. shape). Ispod polja za sliku je komandno dugme sa natpisom Start. Pritisnite mišem na to dugme, tj. izazovite događaj Click. Lopta počinje da se kreće naviše. Ona nastavlja da se diže sve dok ne dodirne vrh polja za sliku, tada počinje da se spušta. Ovo kretanje gore-dole se nastavlja sve dok ponovo ne pritisnemo dugme na kome je ranije bio natpis Start, a sada natpis Stop. Možda ste primetili da ništa nismo rekli o maloj štoperici koja je prikazana na obrascu kada je VB radio u režimu Design. Međutim, štoperica je nestala kada smo prešli u režim Run. Ona se u ovom primeru koristi za realizaciju animiranog kretanja lopte i naziva se kontrola vremena (engl. timer control). Događaj Click komandnog dugmeta Stop, pored promene natpisa dugmeta u Stop, aktivira i kontrolu vremena. Kontrola vremena automatski izaziva događaje prema unapred definisanim vremenskim intervalima. U ovom primeru događaj Timer se pojavljuje svaku desetinku sekunde, i u tom trenutku lopta menja položaj, što stvara utisak kretanja lopte. Zapazite da u toku kretanja lopte možete da menjate boju obrasca, upisujete znakove u polje za tekst i proizvodite zvuk. Znači VB ima sposobnost da opslužuje više događaja istovremeno. Iz svega navedenog možemo zaključiti da ovaj projekat ne radi nešto konkretno, već samo služi da pokaže šta sve može da se isprogramira u Visual Basicu, kako biste lakše shvatili osnovne principe. Projekat je sastavljen od kontrola koje omogućavaju korisniku da saopšti informacije računaru. Usled događaja koje su izazvale kontrole, računar će dati tražene rezultate, odnosno, obaviti zadate poslove. Za sada o tome nećemo voditi računa kako se koriste događaji da bi se utvrdili ti rezultati, to ćemo raditi u narednim lekcijama. Zaustavljanje projekta u Visual Basicu Postoji više načina da se zaustavi Visual Basic projekat. Mi ćemo ovde koristiti paletu alatki. Potražite dugme koje izgleda kao dugme Stop na videorekorderu ili kasetofonu.

Pritisnite dugme Stop. Projekat će se zaustaviti, a Visual Basic će se vratiti u režim Design. Drugi način da zaustavite projekat je da koristite dugme Close koje se nalazi na obrascu. To je malo dugme sa oznakom X i nalazi se u gornjem desnom uglu obrasca. Zaustavljanje Visual Basica Pošto ste završili rad na projektu, želite da napustite Visual Basic. To se radi tako što se u meniju File izabere stavka Exit. Visual Basic se zaustavlja, tj. zatvara sve otvorene prozore i vi se vraćate na Windows radnu površinu. Ako želite da zaustavite Visual Basic dok je projekat Primer aktivan, Visual Basic će vas pitati da li želite da sačuvate neke datoteke. Odgovorite odrečno. Drugi način da zaustavite Visual Basic je da mišem pritisnete dugme sa oznakom X, koje se nalazi u gornjem desnom uglu glavnog prozora. Napomena: Možete preuzeti datoteke Primer.vbp, Primer.frm i Primer.frx kako biste lakše pratili kurs. Pripremio Dragan Marković Lekcija 2 U prvoj lekciji naučili smo da u VB projektu postoje tri glavne komponente: sam projekat, obrazac i kontrole. Projekat je reč koju koristimo da obuhvatimo sve što se nalazi u VB projektu. Druge reči koje se koriste da opišu projekat jesu aplikacija ili program. Obrazac je prozor u kome pravite interfejs između korisnika i računara. Kontrole su grafički elementi ili alatke koje se smeštaju na obrasce da bi korisniku omogućile interakciju (polja za tekst, labele, trake za pomeranje sadržaja, komandna dugmad itd.). Imajte na umu da je i obrazac kontrola.

Visual Basic za decu (2)

Kontrole se referenciraju kao objekti. Grafički, projekat se može prikazati sledećim crtežom:

Prema tome, projekat se sastoji od obrasca koji sadrži nekoliko kontrola. Pretražujući neki od direktorijuma na svom računaru pronaći ćete datoteke koje imaju veze sa VB projektom. Za čuvanje VB projekta koriste se dve glavne datoteke. Datoteka projekta imaće oznaku tipa .vbp (pored toga, ponekad ćete naići i na datoteke sa oznakom tipa .vbw). Datoteka obrasca ima oznaku tipa .frm (pored toga, postoje i datoteke obrasca sa oznakom tipa .frx). Pogledajte direktorijum u koji ste iskopirali datoteke priložene uz prvu lekciju. Tamo ćete naći datoteke Primer.vbp, Primer.frm i Primer.frx. To su datoteke projekta koji smo otvorili u prvoj lekciji. Potrebno je da znate ove oznake tipova kako biste mogli ispravno da otvarate i snimate svoje projekte. Važna reč koja se odnosi na VB projekat jeste svojstvo. Svaka karakteristika kontrole (uključujući i sam obrazac) zadata je preko svojstva. Primeri svojstava jesu nazivi, potpisi (engl. captions), veličine, boje, položaj na obrascu i sadržaji. Objasnićemo svojstva svake kontrole koja se obrađuje u ovoj lekciji. U prvoj lekciji smo rekli da je VB programski jezik kojim upravljaju događaji. Prema tome, VB-om upravlja procesor (obrađivač) događaja. To znači da se u VB?u ništa ne dešava dok se neki događaj ne pojavi. Kada je događaj otkriven, projekat pronalazi nizove instrukcija koje su u vezi sa događajem. Ti nizovi instrukcija nazivaju se procedura događaja. Kada se procedura izvrši, kontrola programa vraća se događaju:

Procedure događaja predstavljaju mesta gde mi radimo stvarno računarsko programiranje, a snimamo ih sa obrascem u datoteku sa oznakom tipa .frm. To su procedure gde pišemo jezičke naredbe Basica. U ovoj lekciji naučićete prilično novih stvari o programiranju u Basicu. On je veoma sličan Basicu koji su pre mnogo godina koristili Bill Gates i Paul Allen. Delovi VB programa VB je više od običnog računarskog jezika. On predstavlja okruženje za pravljenje projekta (računarskog programa). Unutar tog okruženja možemo da počnemo s pravljenjem projekta, možemo ga pokrenuti i testirati, uklanjati greške i snimati ga za kasnije korišćenje. Kod nekih drugih računarskih jezika program pišete obično u posebnom programu za uređivanje teksta, zatim pozivate program za prevođenje (engl. compiler) da biste napravili tzv. izvršnu (engl. execute) verziju programa, a u posebnom programu testirate svoj program. VB integriše sve ove programe u jedno razvojno okruženje. Pogledajmo sada delove VB okruženja. Glavni prozor Pokrenite VB koristeći postupak objašnjen u prvoj lekciji. Uočite da se pojavilo nekoliko prozora. Glavni prozor se koristi da upravlja mnogim aspektima razvoja i rada VB projekta.

Glavni prozor se sastoji od naslovne linije, linije menija i palete alatki. Naslovna linija prikazuje naziv projekta i aktivni radni režim VB (Design, Run, Break). Linija menija ima padajuće menije pomoću kojih kontrolišemo rad VB okruženja. Na paleti alatki nalaze se dugmad koja skraćuju put za aktiviranje pojedinih opcija menija. Za vežbu, potražite redom dugmad koja smo koristili u prvoj lekciji da bismo otvorili, pokrenuli i zatvorili projekat. Prozor obrasca Prozor obrasca je centralni element u razvoju VB aplikacija. To je mesto gde stvarate aplikaciju.

Ako prozor obrasca nije prikazan na ekranu, u meniju View mišem izaberite stavku Object. Prozor obrasca možete prikazati i ako istovremeno pritisnete tastere Shift i F7. Kutija za alat Kutija za alat (Toolbox) jeste meni sa koga birate kontrole koje ćete koristiti u programu (aplikaciji). Kontrole se često nazivaju i alatima. Prema tome, za jednu te istu stvar koriste se tri reči: objekti, alati i, najčešće, kontrole.

Ako Toolbox nije prikazan na ekranu, u meniju View mišem izaberite stavku Toolbox. Pokušajte da identifikujete kontrole koje smo koristili u prvoj lekciji u projektu Primer. Prozor Properties Ovaj prozor se koristi za postavljanje početnih vrednosti svojstava kontrola. Polje sa padajućom listom (engl. drop-down list) na vrhu prozora izlistava sve kontrole tekućeg obrasca. Ispod ovog polja nalaze se svojstva koja su na raspolaganju za izabrani objekat. Na raspolaganju su dva prikaza, abecedni i po kategorijama. Mi ćemo uvek koristiti abecedni.

Ako prozor Properties nije prikazan, u meniju View mišem izaberite stavku Properties Window. Ovaj prozor možete prikazati i ako pritisnete funkcijski taster F4. Prozor će se prikazati samo ukoliko su prikazani obrazac i njegove kontrole. Prozor Project Prozor Project prikazuje koji je obrazac osnova projekta. Kada budete postali iskusniji VB programer, naučićete da pravite projekte koji imaju više od jednog obrasca. U tom slučaju, svi obrasci iz projekta su izlistani u ovom prozoru. Takođe, prozor Form ili Code (prozor koji sadrži Basicove naredbe) možete da prikažete ako mišem pritisnete odgovarajuće dugme u prozoru Project.

Ako prozor Project nije prikazan na ekranu, u meniju View mišem izaberite stavku Project Explorer. Isto možete postići ako istovremeno pritisnete tastere R i Ctrl. Treba da znate ulogu ovih prozora i kako da ih pronađete, tj. prikažete ako nisu prikazani. Sada ćemo ponovo otvoriti projekat Primer da bismo ilustrovali sve ono što smo do sada u ovoj lekciji naučili. Kretanje kroz VB Prozor Project Otvorite projekat Primer koji smo koristili u prvoj lekciji. Dobro ga pogledajte.

Prozor Project prikazuje da imamo datoteku projekta snimljenu pod imenom Primer.vbp i da ona sadrži jedan obrazac, Primer.frm. Takođe, uočite da se obrazac pojavljuje pod nazivom frmPrimer. Da li se sećate prozora Properties? Jedno od najvažnijih svojstava koje dodeljujemo kontroli jeste njeno ime (naziv). frnPrimer predstavlja svojstvo naziv našeg obrasca. Mi uvek navodimo (referenciramo) kontrole njihovim svojstvom Name. Otuda je veoma važno da budemo pažljivi pri dodeljivanju naziva. Naziv je važan i zato se prikazuje u prozoru

Project. Prozor Properties Sada na ekranu pogledajte prozor Properties. Da vas podsetimo, on se prikazuje samo kada je i obrazac prikazan. Prema tome, morate prvo prikazati obrazac. Polje sa padajućom listom na vrhu prozora Properties naziva se lista kontrola. Ono prikazuje naziv (svojstvo Name) svake kontrole koja se koristi u projektu, kao i tip same kontrole. Uočite da je na slici prikazana kontrola Form i da je njen naziv frmPrimer. Lista svojstava nalazi se odmah ispod ovog polja. Ovu listu možemo pregledati pomoću trake za pomeranje sadržaja, kako bismo videli svojstva izabrane kontrole. Naziv svojstva je na levoj strani liste, a tekuća vrednost svojstva na desnoj. Preporučujem da pregledate svojstva obrasca. Sigurno ste zapazili da ih ima prilično. U ovom kursu naučićemo osnovne stvari o većini tih kontrola. Za sada, ne treba da vas brine to što o njima ne znate ništa.

Pritisnite mišem na strelicu usmerenu naniže na listi kontrola (da vas podsetimo, to je polje sa padajućom listom na vrhu prozora Properties).

Pregledajte prikazanu listu svih kontrola koje se nalaze na obrascu. Uočite dodeljene nazive i tipove. Primetićete da kontrolu prilično lako identifikujete po nazivu. Na primer, imgGrk jeste kontrola tipa slika (Image), koja sadrži sliku zastave. Preporučuje se da se u radu pridržavate ovog pravila. Izaberite kontrolu i pregledajte njena svojstva. Zatim pogledajte svojstva još nekih kontrola. Primetićete da svaka kontrola ima mnogo svojstava. Većini tih svojstava sam VB dodeljuje unapred određene vrednosti. Kasnije ćemo naučiti kako se menjaju vrednosti nekih svojstava i prilagođavaju svojim potrebama. Prozor Code VB je računarski jezik kojim upravljaju događaji. Kada se događaj detektuje, program poziva odgovarajuću proceduru događaja. Ova procedura saopštava računaru kako treba da odgovori (reaguje) na taj događaj. Procedure su elementi kod kojih se pojavljuje pravo računarsko programiranje. Sadržaje procedura događaja možemo pregledati u prozoru Code. Ovaj prozor može da se prikaže na više načina. Prvo, možete ga dobiti ako pritisnete odgovarajuće dugme prozora Project. Drugo, u meniju View možete izabrati stavku Code. I treće, prozor Code pojaviće se na ekranu ako pritisnete funkcijski taster F7. Pogledajmo sada prozor Code projekta Primer.

Na vrhu prozora Code nalaze se dve padajuće liste, lista objekata i lista procedura. Lista objekata slična je listi kontrola prozora Properties. Ona sadrži sve objekte obrasca navedene po nazivu. Kada se sa ove liste izabere naziv objekta ili kontrole, lista procedura prikazuje sve moguće procedure događaja za tu kontrolu. Na prethodnoj slici prozor Code prikazuje proceduru događaja Load kontrole Form. (Ako kontrola Form nije izabrana sa liste objekata, pritisnite strelicu na desnom kraju polja padajuće liste, pretražite listu sve dok ne nađete reč Form i tada je izaberite.) Događaj Load se pojavljuje kada se projekat prvi put učitava u radnu memoriju računara. Ispod ovih lista nalazi se stvarni Basicov kôd za tu proceduru događaja. Sigurno ste zapazili da kôd sadrži engleske reči. Njihov smisao u ovom trenutku sigurno vam nije jasan, ali to ne treba da vas brine. U narednim lekcijama postepeno ćemo uvoditi naredbe Basic, pa ćete ubrzo moći da razumete prikazani kôd. Pritisnite strelicu na desnom kraju polja padajuće liste procedura. Uočite sve druge moguće procedure događaja kontrole Form. Srećom, ne moramo da pišemo kôd za sve ove procedure. Kôd pišemo samo za one događaje za koje očekujemo da će se pojaviti kada naš projekat bude radio. Pritisnite strelicu na desnom kraju polja padajuće liste objekata. Izaberite objekat optPlavo.

To je procedura događaja Click za kontrolu optPlavo. Bez obzira na to što ne poznajete Basic, trebalo bi da naslutite o čemu se tu radi. Pošto smo vodili računa kada smo dodeljivali nazive kontrola, trebalo bi da vam je jasno da je ova kontrola opciono dugme (dugme u obliku malog kružića) pored koga je ispisana reč Plavo (reč ispisana pored opcionog dugmeta predstavlja njegovo svojstvo tipa Caption). Prema tome, ova procedura događaja se aktivira (poziva) svaki put kada mišem pritisnemo opciono dugme pored koga je reč Plavo. Uočite da ova procedura ima samo jedan red sa instrukcijom (za sada zanemarite prvi i poslednji red): FrmPrimer.BackColor = vbBlue Ovaj red koda dodeljuje vrednost vbBlue (koja simbolički predstavlja plavu boju) svojstvu BackColor (boja pozadine) kontrole frmPrimer. Prilično lako, zar ne? Zaista, veći deo koda u Basicu lako je razumljiv. Prema tome, ne treba mnogo da se brinete. Izaberite druge objekte sa liste objekata i pogledajte odgovarajuće procedure događaja. Takođe, pogledajte odgovarajući kôd Basica, posebno kôd od drugog do pretposlednjeg reda. Mislim da ćete u skoro svakoj proceduri naslutiti o čemu se radi, iako ne znate Basic. Pisanje koda u Basicu prvenstveno se svodi na obraćanje pažnje na mnoštvo detalja. U većini slučajeva sve je veoma logično i jasno. U sledećoj lekciji počećete da pišete svoj kôd. Pripremio Dragan Marković Postepeno građenje VB projekta Gradnja VB projekta sastoji se od tri osnovna koraka:

Visual Basic za decu (3)

• • •

Postavljanja kontrola na obrazac. Dodeljivanja svojstava kontrolama. Pisanja procedura događaja za kontrole.

Svi ovi koraci rade se u VB kada je u režimu Design. Da vas podsetimo, režim rada je naveden između zagrada u naslovnoj liniji glavnog prozora VB. Pokrenite VB. Pronađite obrazac koji se pojavljuje pošto je VB pokrenut. Pritisnite mišem na obrazac. Trebalo bi da izgleda kao što je prikazano na sledećoj slici.

Pre gradnje projekta, podsetimo se nekoliko karakterističnih tehnika za rad u Windowsu. Potrebno je da znate dve stvari da uradite sa kontrolama (da vas još jednom podsetimo, i obrazac je kontrola), da ih pomerate i da im menjate veličinu. U VB sam obrazac ne može da se pomera, njegov položaj je fiksiran za sopstveni prozor. Položaj prozora se u ovom slučaju kontroliše pomoću prozora Form Layout.

Ako prozor Form Layout nije prikazan na ekranu, u meniju View izaberite stavku Form Layout. Sada mišem pritisnite na obrazac i to na mali ekran i prevucite ga na željeno mesto. Ovime ste odredili mesto obrasca na monitoru svog računara. U VB svaki obrazac ima hvataljke (ručice; engl. handles) na svakoj ivici i svakom temenu. Ako pokazivač miša postavite na neku od ovih hvataljki, on će promeniti oblik u dvostrano orijentisanu strelicu. U tom trenutku možete da pritisnete levi taster miša i pomeranjem tela miša prevučete odgovarajuću ivicu ili teme na željeno mesto. Pokušajte više puta da pomerate obrazac, kao i da mu menjate veličinu. Ove veštine će vam koristiti kada budete postavljali kontrole na obrazac. Postavljanje kontrola na obrazac Prvi korak kod gradnje VB projekta je postavljanje kontrola na željeno mesto na obrascu. Prema tome, prvo morate da odlučite koje će vam kontrole biti potrebne kod gradnje svog projekta. Često, taj posao zahteva dosta razmišljanja. No, uprkos razmišljanju, u toku rada više puta ćete promeniti svoje mišljenje. Sada pređimo na samo postavljanje kontrola na obrazac. Kontrole se u VB biraju u kutiji za alat (prozoru Toolbox). Postoje dva načina za postavljanje kontrola na obrazac: 1. 2. Dva puta mišem pritisnite na željenu kontrolu u kutiji za alat. Na sredini obrasca pojaviće se kontrola sa unapred definisanom veličinom. Jednom pritisnite mišem željenu kontrolu u kutiji za alat i premestite pokazivač miša na obrazac. Uočite da je pokazivač miša promenio oblik u končanicu (krstić). Postavite končanicu na mesto gde želite da bude gornje levo teme kontrole. Pritisnite levi taster miša i držite ga pritisnutim. Istovremeno pomerite telo miša da bi se končanica pomerila na mesto gde želite da bude donje desno teme kontrole. Na obrascu ćete videti pravougaonu konturu. Kada kontura bude imala oblik (tj. veličinu) koji želite da ima vaša kontrola, otpustite levi taster miša i na obrascu će se pojaviti izabrana kontrola.

Kada se kontrola nalazi na obrascu, lako možete menjati njen položaj i veličinu. Da biste pomerili kontrolu, potrebno je da pritisnete mišem na kontrolu kako bi je označili (na kontroli se u tom trenutku pojavljuju hvataljke), a potom je prevucite mišem na novo mesto i otpustite taster na mišu. Da biste promenili veličinu kontrole, potrebno je prvo da mišem pritisnete na kontrolu, a zatim pređite pokazivačem miša preko neke od hvataljki, pokazivač će promeniti oblik u dvostrano orijentisanu strelicu. U tom trenutku treba da pritisnete levi taster na mišu i pomerite telo miša kako bi prevukli pokazivač na mesto gde želite da bude novi položaj ivice ili

temena kontrole. Primer Ukoliko je VB aktivan i obrazac na ekranu, kao i kutija za alat (ako nije prikazana, u meniju View izaberite stavku Toolbox). Sada u kutiji za alat pronađite kontrolu komandno dugme. Njen izgled je prikazan na sledećoj slici.

Dva puta mišem pritisnite na kontrolu. Ona bi trebalo da se pojavi na sredini obrasca.

Uočite hvataljke na obodu dugmeta. One označavaju da je to aktivna kontrola. Pritisnite mišem na obrazac i hvataljka će nestati, što ukazuje da je sada obrazac aktivna kontrola. Pritisnite mišem ponovo na dugme da bi postalo aktivna kontrola. Za vežbu, premeštajte po obrascu komandno dugme i menjajte mu veličinu. Postavimo na obrazac još jedno komandno dugme, ali ovaj put koristimo drugi način. Vratimo se na kutiju za alat i jednom pritisnimo mišem na kontrolu komandno dugme. Postavimo pokazivač miša na obrazac. Pokazivač će promeniti oblik u končanicu. Nacrtajmo na obrascu komandno dugme na sledeći način, postavimo pokazivač miša (koji sada ima oblik končanice) na mesto gde želimo da bude gornje levo teme dugmeta, pritisnimo levi taster miša, a zatim povucimo konturnu liniju sve dok dugme ne dostigne željenu veličinu. Otpustimo levi taster miša. Uočite da još uvek možemo da pomeramo drugo komandno dugme i da mu menjamo veličinu. Potrebno je da znate oba načina postavljanja kontrola na obrazac. Vremenom, prihvatićete onaj način koji vam se učini lakšim za korišćenje. Međutim, potrebno je da znate oba. Biće situacija kada ćete moći da koristite samo jedan od njih, zato dobro uvežbajte i jedan i drugi. Postavljajte i druge kontrole, kao što su labele, polja za tekst, opciona dugmad itd. Premeštajte ih po obrascu, menjajte im veličinu, grupišite ih u kolonu ili red. Iskustvo koje steknete dobro će vam koristiti kod gradnje VB projekta. Takođe, potrebno je da znate kako se kontrole uklanjaju sa obrasca. To je veoma lak proces. Izaberite mišem kontrolu koju želite da uklonite. Ta kontrola će postati aktivna kontrola, a zatim pritisnite na tastaturi taster Del. Kontrola će nestati sa obrasca. Pre nego što uklonite (obrišete) kontrolu, razmislite još jednom da li to zaista želite. Dodeljivanje svojstava kontroli Pošto smo postavili kontrole na obrazac, sada možemo da im dodelimo svojstva. Da vas podsetim, svojstva određuju kako će kontrola izgledati na obrascu. Ona određuju takve stvari kao što su veličina kontrole, boja, šta kontrola "kaže", položaj na obrascu itd. Kada postavite kontrolu na obrazac, njoj VB automatski dodeljuje niz unapred definisanih svojstava. Konkretno, geometrijska svojstva (položaj i veličina) se zadaju čim postavimo kontrolu na obrazac. Međutim, često se dešava da unapred definisana svojstva nisu prihvatljiva i vi ćete želeti da ih promenite. To ćete uraditi korišćenjem prozora Properties. Pokrenite VB ukoliko nije aktivan. U meniju File izaberite stavku New Project (odgovorite sa No ako vas pita da snimi tekući obrazac i projekat). Zatim će vas VB pitati za tip projekta, a vi izaberite Standard.EXE. Na ekranu se pojavljuje prazan obrazac. Potražite prozor Properties (pritisnite taster F4 ako nije prikazan na ekranu).

Kao što znate, okvir na vrhu prozora Properties je lista kontrola, koja sadrži sve kontrole koje se nalaze na obrascu. U ovom trenutku, lista sadrži samo jednu kontrolu, a to je sam obrazac. Pogledajmo sada neka svojstva obrasca. Prvo, pogledajmo veličinu (dimenzije) obrasca. Sve kontrole su po obliku pravougaone, a četiri svojstva definišu veličinu tog pravougaonika. Prođite kroz listu svojstava i pronađite svojstvo Height. Ovo svojstvo definiše visinu obrasca u mernim jedinicama koje imaju naziv twips. U jednom inču ima 1,440 twipsa. Prema tome, deljenjem vrednosti za Height sa 1,440, dobijamo visinu obrasca u inčima. Slično, svojstvo Width daje širinu obrasca u twipsima. Promenite veličinu obrasca i pogledajte kako su se promenila svojstva Height i Width. Svojstvo Left određuje koliko je udaljena leva strana obrasca od leve ivice ekrana monitora. Svojstvo Top određuje koliko je gornja ivica obrasca udaljena od gornje ivice ekrana monitora. Upišite nove vrednosti za svojstva Left i Top i posmatrajte kako se menja položaj obrasca na ekranu. (Obrazac možete pomerati i u prozoru Form Layout.) Prema tome, četiri svojstva: Left, Top, Width i Height, u potpunosti definišu položaj i veličinu obrasca na ekranu. Pronađite u listi svojstvo BackColor. Verovatno ste već naslutili da ono definiše boju pozadine obrasca. Za to svojstvo navedena je vrednost &H000000F&!. Vi ne prepoznajete tu vrednost, ali ona saopštava računaru da se radi o sivoj boji. Kasnije ćemo detaljnije objasniti podešavanje boje na neke druge načine. Da bismo sada promenili svojstvo BackColor, pritisnimo mišem na BackColor, zatim pritisnimo strelicu na desnom kraju okvira padajuće liste sa svojstvima. Pritisnimo jezičak Pallete. Na ekranu se pojavljuje paleta boja. Izaberimo novu boju i pogledajmo rezultat. Pronađimo sada svojstvo Caption. Ovo svojstvo određuje šta će se prikazati na naslovnoj liniji obrasca. Pritisnimo mišem na Caption, zatim upišimo nešto na desnoj strani prozora Property. Uočite da se na naslovnoj liniji obrasca pojavio novi natpis. Za sada, toliko o definisanju svojstava kontrole. Pređimo na praktičan rad. Prvo, izaberimo željenu kontrolu sa liste kontrola. Zatim, prelistajmo svojstva i pronađimo svojstvo koje želimo da promenimo. Označimo mišem to svojstvo. Svojstvo može biti promenjeno upisivanjem nove vrednosti (kao što su dimenzionalne vrednosti i natpis) ili biranjem sa liste jedne od više unapred definisanih vrednosti (koje se nalaze na padajućoj listi, kao što su vrednosti boja). Primer Počnimo novi VB projekat. Na ekranu će se pojaviti obrazac. Promenite veličinu i položaj obrasca po sopstvenoj želji. Proverite vrednosti svojstava Left, Top, Width i Height. Zadajte vrednost svojstvu BackColor. Takođe, zadajte vrednost svojstvu Caption. Postavite na obrazac kontrolu komandno dugme. Pogledajmo neka od svojstava komandnog dugmeta. Izaberite komandno dugme sa liste kontrola prozora Properties. Kao i obrazac, i komandno dugme je pravougaonog oblika. Svojstvo Width definiše širinu dugmeta u twipsima, a Height visinu u istim jedinicama. Svojstva Left i Top su nešto drugačija za kontrole koje nisu obrasci. Kod kontrole koja nije obrazac, svojstvo Left definiše položaj leve ivice kontrole (u twipsima) u odnosu na levu ivicu obrasca, a ne ekrana. Slično, svojstvo Top definiše položaj gornje ivice kontrole u odnosu na gornju ivicu obrasca (gornja ivica obrasca je, u stvari, donja ivica naslovne linije). Na sledećoj slici prikazana su svojstva kontrole komandno dugme.

Važno svojstvo komandnog dugmeta je svojstvo Caption. Caption je tekst koji se pojavljuje na komandnom dugmetu. On treba da ukaže na ono šta će se desiti kada se dugme pritisne. Promenite svojstvo Caption komandnog dugmeta. Mada je među svojstvima komandnog dugmeta navedeno i svojstvo BackColor, njemu ne može da se promeni dodeljena vrednost. Za vežbu, postavite na obrazac još nekoliko komandnih dugmadi. Pomerajte ih i menjajte im veličinu. Takođe, dodelite vrednosti njihovim svojstvima Caption. Vidimo da je za prelazak sa jedne kontrole na drugu u prozoru Properties dovoljno da pritisnemo dugme sa strelicom naniže na padajućoj listi kontrola i izaberemo željenu kontrolu. Kraći način za listanje svojstava izabrane kontrole je da pritisnemo mišem na kontrolu, čime ona postaje aktivna kontrola na obrascu. Izaberimo neko od komandnih dugmadi. Uočimo da se svojstva izabrane kontrole automatski prikazuju u prozoru Properties. Izaberimo sada drugo dugme i proverimo da li je došlo do promene stanja u prozoru Properties. Pomerimo pokazivač na obrazac i izaberimo ga pritiskom na miša. Sada prozor Properties prikazuje svojstva obrasca. Dodeljivanje naziva kontrolama Najvažnije svojstvo svake kontrole je njen naziv (svojstvo Name). Zbog njegove važnosti razmatramo ga posebno. Kada dodeljujemo naziv kontroli, potrebno je da navedemo dva dela informacije: tip i namenu kontrole. Takav princip dodeljivanja olakšava nam programiranje. Vremenom su VB programeri usvojili pravilo za dodeljivanje naziva kontrolama. Prva tri slova u nazivu kontrole (prefiks) označavaju tip kontrole. Neki od prefiksa su: Kontrola Prefiks Obrazac frm Komandno dugme cmd Labela lbl Polje za tekst txt Polje za potvrđivanje chk Opciono dugme opt Posle prefiksa dolazi naziv (obično počinje velikim slovom kako bi se označilo da je prefiks završen), koji označava šta kontrola radi, tj. njenu namenu. Kompletan naziv može da ima do 40 znakova. Naziv mora početi slovom i može sadržati slova (mala i velika), brojeve i podvlaku (_). Mada je u nazivu dozvoljeno do 40 znakova, trudite se da nazivi budu što kraći, a da ipak budu prepoznatljivi. Pogledajmo sada nekoliko naziva kontrola kako biste stekli osećaj kako se to radi. Koristićemo kontrole iz našeg projekta Primer. frmPrimer Obrazac projekta Primer cmdGong Komandno dugme koje stvara zvuk gonga lblIzaberi Labela koja pokazuje biranje boja optPlavo Opciono dugme koje menja boju pozadine obrasca u plavo chkVrh Polje za potvrđivanje koje prikazuje ili skriva zastave Ovo vam pokazuje kako treba da birate nazive svojih kontrola. Verovatno da nije potrebno posebno da objašnjavam koliko je važno biranje pogodnih naziva. Ono će vam u velikoj meri olakšati rad pri programiranju. Zadavanje svojstava u režimu Run

Da bismo pokazali važnost pogodnih naziva kontrola, pogledajmo jedan uobičajeni posao u VB. Videli smo da je jedan od koraka u razvoju VB projekta zadavanje svojstava kontrole u režimu Design. Takođe, svojstva se mogu zadati ili promeniti i u režimu Run. Na primer, u projektu Primer, kada pritisnete opciono dugme, svojstvo BackColor obrasca se promeni. Da biste promenili svojstvo u režimu Run, potrebno je da promenite VB kôd. Oblik tog koda je: KontrolaNaziv.SvojstvoNaziv = SvojstvoVrednost Znači, pišemo naziv kontrole, zatim tačku (kao što pišemo zarez kod decimalnog broja), naziv svojstva koje menjamo (nalazi se u prozoru Properties), znak jednakosti (koji je tzv. operator dodeljivanja) i novu vrednost svojstva. Ovakav format se označava kao zapisivanje sa tačkom (engl. dot notation). Kôd koji se koristi u projektu Primer da bi se promenila boja pozadine obrasca u plavu je: frmPrimer.BackColor = vbBlue Primećujete da dodeljivanje pogodnog naziva kontroli čini ovaj kôd prilično razumljivim, čak i ako ne znate Basic. On "kaže" da je boja pozadine obrasca plava. Kako se nazivi kontrola koriste u procedurama događaja Kod pisanja procedura događaja, takođe je važno da imate pogodne nazive kontrola. Kada stavite kontrolu na obrazac, sve moguće procedure događaja koje kontrola može da ima, automatski se dodaju projektu. Ranije ste saznali da se te procedure događaja mogu videti u prozoru Code. Struktura procedura događaja ima sledeći oblik: Private Sub KontrolaNaziv_DogađajNaziv() [ Basicov kôd ] End Sub Svakako ste zapazili da se u prvom redu nalazi naziv kontrole. Prema tome, dodeljivanje pogodnog naziva olakšava prepoznavanje procedura događaja. Ponovo se vratimo na projekat Primer i pogledajmo proceduru događaja Click kontrole optPlavo. Private Sub optPlavo_Click() frmPrimer.BackColor = vbBlue End Sub Prepoznajemo da je to kôd koji se izvršava kada korisnik pritisne mišem opciono dugme optPlavo. Dodeljivanja pogodnog naziva omogućava lakše prepoznavanje i čitanje procedura događaja. Pređimo sada na pisanje procedura događaja. Pisanje procedura događaja Treći korak u gradnji VB projekta je pisanje procedura događaja za kontrole na obrascu. Proceduru događaja pišemo u prozoru Code. Razmotrimo sada na koje sve načine može da se prikaže prozor Code. Od ovog koraka počinjemo da pišemo Basicov kôd, tj. da programiramo. Nećete naučiti baš da programirate, ali ćete naučiti kako da pronađete procedure događaja i upišete kôd. Kao što već znate, kada postavite kontrolu na obrazac, procedura događaja pridružena toj kontroli postaje deo projekta i može joj se pristupiti preko prozora Code. Svaka kontrola ima više procedura događaja. Ne morate da pišete Basicov kôd za svaku proceduru, samo za one na koje želite da računar reaguje. Kada se odlučite koji događaj ćete da "kodirate" (programirate), morate da se odlučite šta želite da se desi u toj proceduri događaja i prevedete želje u redove sa VB naredbama. Kao što je ranije pokazano, svaka procedura događaja ima sledeći oblik: Private Sub KontrolaNaziv_DogađajNaziv() [ Basicov kôd ] End Sub Reči "Private Sub" označavaju da se radi o Subroutine (potprogram - drugi naziv za proceduru) koja je Private (privatna, odnosno, može da je koristi samo obrazac na kome se nalazi). Razvoj VB koda je kreativni deo razvoja VB aplikacije, zato je potrebno da budete veoma precizni. Pogrešno napisane naredbe, slovne greške i izostavljeni operatori neće dozvoliti da vaš program proradi. Prema tome, proces pisanja procedura događaja može se sažeti na sledeće:

Odlučivanje koji događaji treba da imaju odziv računara.

• • • •

Odlučivanje kakav odziv treba da bude. Prevođenje tog odziva u Basicov kôd. Pronalaženje procedure događaja u prozoru Code. Upisivanje Basicovog koda.

Kroz vežbanje se najbolje uči, zato ćete sada uraditi jedan primer. Primer Ako VB nije aktivan na računaru, pokrenite ga i počnite novi projekat.

• • • • •

Postavite jedno komandno dugme na obrazac. Dodelite svojstvu Name obrasca vrednost frmPrvikod. Dodelite svojtsvu Caption vrednost Moj prvi kôd. Dodelite svojstvu Name komandnog dugmeta vrednost cmdGong. Dodelite svojstvu Caption komandnog dugmeta vrednost Gong!.

U ovoj fazi rada, obrazac treba da ima sledeći oblik:

Želimo da napišemo jednu proceduru događaja, proceduru koja reaguje kada pritisnemo komandno dugme (događaj Click). Kada pritisnemo to dugme, želimo da čujemo zvuk gonga. Prikažimo prozor Code (jedan način je da pritisnemo taster F7):

Kod vas prozor Code ne mora izgledati tako. U VB okruženju, postoji opcija za prikazivanje koja se naziva prikaz potpunog modula (engl. full-module). Kada je ta opcija izabrana, procedure su izlistane jedna ispod druge, a ne posebno kao na prethodnoj slici. Da biste isključili tu opciju, potrebno je da u meniju Tools izaberete stavku Options i pritisnete mišem na jezičak Editor na prikazanom prozoru. Sada proverite da li pored opcije FullModule View postoji "kvačica" ili ne. Ako postoji, pritisnite mišem na nju i ona će nestati. Posle ovoga, kada prikažete prozor Code, imaće oblik kao na sledećoj slici.

Uočite da je sada prikazana procedura Click dugmeta cmdGong. Često ćete morati da koristite listu Procedures da biste pronašli željenu proceduru. U ovom slučaju nalazi se samo jedna procedura. U ovaj prozor upisujete kôd na osnovu koga računar stvara zvuk gonga. Prozor Code se ponaša kao program za obradu teksta. Možete da upisujete tekst, da ga kopirate, brišete, premeštate itd. Kako budete sticali iskustvo u programiranju, sve ćete se osećati lagodnije tokom rada u ovom prozoru. Pritisnite mišem u prazan red između redova sa tekstom i upišite reč Beep. To je Basicova naredba kojom saopštava računaru da treba da stvori zvuk gonga. Ovime ste napisali svoj prvi red Basicovog koda.

Vaš projekat je sada spreman za rad. Pokrenite projekat tako što ćete u meniju Run izabrati stavku Start (ili pritisnuti taster F5). VB će vas zapitati da li želite da snimite neke datoteka, odgovorite odrečno, tj. pritisnite No ili Cancel. Na ekranu će se pojaviti obrazac prikazan na sledećoj slici.

Pritisnite komandno dugme. Računar se oglašava zvukom gonga. Izazvali ste događaj Click kontrole cmdGong. Računar prepoznaje događaj i pronalazi proceduru događaja cmdGong_Click, zatim izvršava naredbu Beep, tj. oglašava se zvukom gonga. Zaustavite projekat. Vratite se u prozor Code i pronađite događaj cmdGong_Click. Ispod naredbe Beep dodajte sledeći red frmPrvikod.BackColor = vbBlue Upišite red baš kako je navedeno. Zapamtite, računarski programi moraju biti tačni da bi radili. Ponovo pokrenite projekat. Pritisnite komandno dugme. Sada pokušajte da objasnite šta se desilo sa kontrolom, procedurom događaja i Basicovim kodom. Zaustavite projekat.

Visual Basic za decu (4) Osmišljavanje projekta, obrasci i komandna dugmad Naučili ste osnovne stvari o delovima VB projekta i koracima koji se preduzimaju pri gradnji projekta. Da li možda imate ideju za neki projekat koji biste mogli da izgradite u VB? Ako imate, to je sjajno. U ovoj lekciji počećete da razvijate svoju programersku veštinu. Postepeno ćemo uvoditi o objašnjavati svojstva VB okruženja, nove kontrole i elemente Basic jezika. U ovoj lekciji naučićete kako se dizajnira projekat, obrazac i kontrole komandnog dugmeta i gradi kompletan projekat. Dizajniranje projekta Spremni ste da počnete razvoj projekta u VB. Možete koristiti projekat koji je priložen uz ovaj tekst ili početi sopstveni projekat. Međutim, pre nego što počnete, bilo bi dobro da razmislite o tome što ćete projektovati. Dobro osmišljen projekat se brže i lakše gradi. Cilj je da izgradite projekat koji se lako koristi, koji je razumljiv i bez grešaka. To ima smisla, zar ne? Zato potrošite neko vreme na razmišljanje šta sve vaš projekat treba da radi. Koje informacije su programu potrebne? Koje informacije mora računar da da? Odlučite koje su vam sve kontrole potrebne da biste obezbedili te skupove informacija. Osmislite dobar korisnički interfejs (interfejs je, u stvari, raspored kontrola na obrascu). Razmotrite raspored kontrola i lakoću korišćenja. Napravite interfejs koji je sličan drugim Windows programima. Potrudite se da Basicov kôd u vašim procedurama događaja bude čitljiv i lako razumljiv. Ovo olakšava kasnije menjanje koda, ukoliko to bude bilo potrebno. Poštujte pravila programiranja koja ćete naučiti u sledećim lekcijama. Pažljivo sve proverite kako vam ne bi promakle greške. Možda vam se sada čini da navedene preporuke nemaju smisla, ali ćete ubrzo shvatiti da nije tako. Ponavljam, cilj je da izgradite koristan, jasno napisan projekat bez grešaka, koji se lako koristi i lako menja. Ukoliko budete pažljivo planirali svoj projekat, ostvarićete taj cilj.

Snimanje VB projekta U prvoj lekciji ste naučili kako da otvorite, pokrenete i zatvorite ranije snimljen VB projekat, ali nisam ništa rekao kako se projekat snima za kasnije korišćenje. Sada, pošto ste počeli da gradite svoj projekat, potrebno je da znate kako da ga snimite. To je sasvim lako. Koristićemo Basicovu paletu alatki. Potražimo dugme koje na sebi ima ikonu diskete. To je dugme Save Project.

Pritisak na ovo dugme može dati različite ishode, u zavisnosti od toga kada ste ga pritisli. Ako radite na novom projektu koji don sada nije snimljen, pojaviće se sledeći okvir za dijalog:

U ovom okviru za dijalog birate direktorijum u kojem želite da snimite obrazac i upisujete naziv obrasca (datoteka obrasca ima oznaku tipa datoteke .frm). Pređite u željeni direktorijum i dodelite naziv datoteci obrasca, a zatim pritisnite dugme Save. Pošto ste snimili obrazac, pojaviće se sledeći okvir za dijalog:

U ovom okviru za dijalog birate direktorijum u kojem želite da snimite datoteku projekta i upisujete naziv datoteke projekta (oznaka tipa datoteke je .vbp). Pređite u željeni direktorijum (obično je to direktorijum u koji ste snimili i obrazac) i upišite naziv projekta, a zatim pritisnite dugme Save. U ovom trenutku, projekat je snimljen u dve datoteke: datoteku projekta i datoteku obrasca. Ukoliko radite na projektu koji je ranije već bio snimljen i pritisnete dugme Save Project, VB automatski snima i datoteku obrasca i datoteku projekta, pod postojećim nazivima, bez postavljanja bilo kakvih pitanja. Preporučuje se da tokom rada povremeno snimate projekat. Obavezno snimite projekat pre nego što napustite VB. Kada želite da otvorite ranije snimljeni projekat, samo pritisnite dugme Open Project na paleti alatki i u okviru za dijalog izaberite željeni projekat, a zatim pritisnite dugme Open. Otvoriće se datoteka projekta i na ekranu će se pojaviti pridruženi obrazac. Neposredna pomoć Često, dok radite u VB okruženju, biće vam potrebna pomoć. Možda niste sigurni šta neka kontrola radi, za čega služi neko svojstvo, koje događaje kontrola ima, ili šta neki termin u Basicu znači. Zgodan način da dobijete pomoć kada niste u nešto sigurni je da pitate nekoga ko to zna. Prijatelji će vam sigurno izaći u susret. Takođe, verovatno ćete pokušati da pronađete odgovor u knjigama. Za VB postoji mnogo knjiga. Međutim, postoji još jedan način, a to je da zatražite pomoć od VB on-line Help sistema. Većina Windows aplikacija, uključujući VB stavljaju korisnicima na raspolaganje datoteku Help. Da biste pristupili VB sistemu za neposrednu pomoć, izaberite u meniju Help stavku Contents. Na ekranu se pojavljuje okvir za dijalog Help sa aktivnom karticom Contents. U listi tema možete da potražite temu koja je vama potrebna. VB sistem pomoći funkcioniše po istom principu kao i u svim drugim Windows programima. Ako ste u nekom Windows programu već koristili sistem pomoći, onda ćete se u VB lako snaći. Međutim, ako do sada nikada niste koristili sistem neposredne pomoći, potražite pomoć od iskusnijih poznanika ili ako ste nestrpljivi, pritisnite dugme Start na Windowsovoj paleti poslova, a zatim izaberite stavku Help. Pomoću Windowsovog Helpa naučićete kako se koristi ta vrsta neposredne pomoći.

Visual Basicov sistem neposredne pomoći ima to svojstvo da je „osetljiv” na kontekst. Šta to znači? Pokušaću to da objasnim. Pokrenite VB i počnite novi projekat. Pređite u prozor Properties. Pomerajte sadržaj prozora koji prikazuje svojstva obrasca i označite reč BackColor. Sada pritisnite taster F1. Na ekranu će se pojaviti prozor sa informacijama koje se odnose na taj termin. Sistem pomoći je inteligentan. On zna da pošto smo označili reč BackColor, zatim pritisnuli taster F1 (taj taster se uvek pritiska kada je potrebna pomoć) da tražimo pomoć za reč BackColor. Kadgod pritisnete taster F1 kada radite u VB, on će pogledati šta radite i pokušati da na osnovu konteksta utvrdi za čega pomoć tražite. On pregleda takve stvari kao što je označena reč u prozoru Properties ili položaj pokazivača miša u prozoru Code. U praksi, često ćete koristiti VB sistem neposredne pomoći. Često ćete dobiti brzo odgovore na svoja pitanja. Slobodno se oslonite na pomoć koju pruža VB. Za ovu lekciju, ovo je sasvim dovoljno novog materijala o VB okruženju. Razmotrimo sada detaljno dve važne kontrole: obrazac i komandno dugme. Potom ćemo početi proučavanje Basicovog jezika i gradnju jednog kompletnog projekta. Kontrola obrazac Ranije je rečeno da je obrazac (engl. Form) centralna kontrola u razvoju VB projekta. Bez obrasca, nema projekta. Pogledajmo sada neka važna svojstva i događaje kontrole obrazac. Svojstvo Opis Name Naziv koji se koristi za identifikaciju obrasca. Datoteke u nazivu imaju prefiks frm. Caption Tekst koji se pojavljuje u naslovnoj liniji obrasca. Icon Referenca na ikonu koja se pojavljuje u naslovnoj liniji obrasca. Left Odstojanje od leve ivice monitora do leve ivice obrasca. Top Odstojanje od gornje ivice monitora do gornje ivice obrasca. Width Širina obrasca u twipsima. Height Visina obrasca u twipsima. BackColor Boja pozadine obrasca. BorderStyle Obrazac može biti ili fiksne ili promenljive veličine. Primer Da biste se bliže upoznali sa ovim svojstvima pokrenite VB i počnite novi projekat koji će sadržati samo obrazac. Zadajte vrednosti za svojstva Top, Left, Height i Width i posmatrajte njihov uticaj na položaj i veličinu obrasca. Zatim promenite veličinu i

položaj obrasca pomoću miša i pogledajte kako se menjaju vrednosti ovih svojstava u prozoru Properties. Dodelite vrednost svojstvu Caption. Izaberite novu boju pozadine tako što ćete koristiti način izbora opisan u prethodnoj lekciji. Da biste videli uticaj svojstva BorderStyle, dodelite mu vrednost (1-Fixed Single, a zatim 2-Sizeable; to su jedine vrednosti koje ćemo koristiti u ovom kursu) i pokrenite izvršavanje projekta. Verovatno da niste znali da možete pokrenuti izvršavanje projekta koji sadrži samo obrazac kao kontrolu. U oba slučaja pokušajte da promenite velčinu obrasca. Uočite razliku. Zaustavite izvršavanje projekta. Događaji U suštini, obrazac je „kontejner” koji sadrži druge kontrole, ali podržava događaje. Prema tome, on može da odgovori na neke korisnikove zahteve. Ovde ćemo razmatrati samo dva događaja: Događaj Opis Click Ovaj događaj se pojavljuje kada korisnik pritisne taster na mišu dok se pokazivač miša nalazi na obrascu. Load Događaj koji se pojavljuje kada se obrazac prvi put učitava u radnu memoriju računara. To je prilika da se dodele početne vrednosti raznim svojstvima i drugim parametrima projekta. Jedna mala dopuna, u prethodnoj lekciji videli ste da se nazivi kontrola koriste u procedurama događaja. Kod obrazaca to ne važi. Sve procedure događaja obrasca imaju sledeći oblik: Form_DogađajNaziv Bez obzira koju vrednost ste dodelili svojstvu Name obrasca, procedure događaja se izlistavaju pod reči Form. Prema tome, kada tražite procedure događaja obrasca u prozoru Code, pomerajte sadržaj liste Object sve dok ne pronađete reč Form. Probajte to na prethodnom primeru. Na sledećoj slici prikazan je prozor Code obrasca kome smo dodelili naziv frmPrvikôd.

Uočite da se reč Form pojavljuje u listi objekata, a ne frmPrvikôd. To treba uvek da imate u vidu kada radite sa procedurama događaja obrasca. Sve druge kontrole će se pojaviti u listi objekata sa svojim dodeljenim svojstvom Name.

Kontrola komandno dugme Komandno dugme je jedna od najčešće korišćenih VB kontrola. Komandno dugme se koristi za pokretanje, privremeno zaustavljanje i zaustavljanje pojedinih procesa. Komandno dugme se bira iz kutije za alat. Njegov oblik prikazan je na sledećoj slici. U kutiji za alat Na obrascu

Nekoliko korisnih svojstava komandnog dugmeta navedeno je u sledećoj tabeli. Svojstvo Opis Name Naziv se koristi za identifikaciju komandnog dugmeta. Prefiks za naziv koamndnog dugmeta je cmd. Caption Tekst koji se pojavljuje na komandnom dugmetu. Font Definiše stil, veličinu i vrstu teksta svojstva Caption. Left Odstojanje od leve ivice obrasca do leve ivice komandnog dugmeta. Top Odstojanje od gornje ivice obrasca do gornje ivice komandnog dugmeta. Width Širina komandnog dugmeta u twipsima. Height Visina komandnog dugmeta u twipsima. Enabled Određuje da li komandno dugme može da odgovori na korisnikove događaje (u režimu Run). Visible Određuje da li se komandno dugme pojavljuje na obrascu (u režimu Run). Primer Pokrenite VB i počnite novi projekat. Postavite komandno dugme na obrazac. Pomerajte dugme i posmatrajte kako se menjaju vrednosti svojstava Top i Left. Promenite veličinu dugmeta i pogledajte kako su se promenile vrednosti svojstava Width i Height. Dodelite vrednost svojstvu Caption.

Mnoge kontrole, pored komandnog dugmeta, imaju svojstvo Font, zato ćemo sada objasniti kako se ono menja. Svojtvo Font određuje kako će izgledati ono što je dodeljeno svojtsvu Caption. Kada pritisnete mišem na Font u prozoru Properties, dugme koje se ponekad naziva elipsa (engl. ellipsis) pojaviće se na desnoj strani prozora.

Kada pritisnemo mišem na ovo dugme, pojaviće se okvir za dijalog Font.

U ovom okviru za dijalog možete da definišete tri primarne informacije: Font, Font Style i Size. Takođe, imate na raspolaganju podvučeni font. U ovom okviru za dijalog izlistavaju se svi fontovi koji su instalirani na vašem računaru. Da biste definisali svojstvo Font, napravite izbor i pritisnite dugme OK. Probajte sa različitim fontovima, stilovima i veličinama. Druga dva svojstva izlistana za komandno dugme su Enabled i Visible. Ova svojstva mogu imati vrednosti True (On) ili False (Off). Većina kontrola ima ova svojstva. Zašto su nam ona potrebna? Ako svojstvo Enabled neke kontrole ima vrednost False, korisnik ne može da pristupi toj kontroli. Neka, na primer, imamo projekat štopericu (Stopwatch) koji ima dugmad Start i Stop.

Želimo da korisnik pritisne dugme Start, a zati Stop i da štoperica izmeri proteklo vreme. Ne želimo da korisnik bude u prilici da pritisne dugme Stop pre nego što pritisne dugme Start. Prema tome, treba da svojstvu Enabled dugmeta Start dodelimo vrednost True, a svojstvu Enabled dugmeta Stop vrednost False. Na taj način, korisnik može samo da pritisne dugme Start. Kada je korisnik pritisnuo dugme Start, treba da zamenimo vrednosti svojstava ovih dugmadi, tj. svojstvu Enabled dugmeta Start treba da dodelimo vrednost False, a svojstvu Enabled dugmeta Stop vrednost True. Sada korisnik može da pritisne samo dugme Stop. Uticaji svojstva Enabled kada mu je dodeljena vrednost False su očigledni samo kada je VB u režimu Run. Kada komandno dugme nije omogućeno (Enabled ima vrednost False), ono će se pojaviti na ekranu „zasivljeno” i korisnik neće moći mišem da pritisne na njega. Kada dugme Stop nije Enabled na štoperici, ono ima oblik prikazan na sledećoj slici.

Prema tome, koristite svojstvo Enabled kada želite da kontrola na obrascu bude privremeno nedostupna. To je odluka koja se donosi u procesu dizajniranja projekta. Svojstvo Visible je nešto drastičnije. Kada je svojstvu Visible neke kontrole dodeljena vrednost False (podrazumevana vrednost je True), kontrola čak neće ni biti na obrascu!. Nameće se logično pitanje, zašto postavljamo neku kontrolu na obrazac, dodeljujemo joj svojstva i pišemo procedure događaja, a onda definišemo da bude nevidljiva? Odgovor je sličan onom koji je dat za svojstvo Enabled. Često će nam u projektima biti potrebno da kontrola privremeno nestane sa obrasca. Setite se primera iz prve lekcije gde su polja za potvrđivanje upravljala pojavljivanjem i nestajanjem zastava. Prikazivanje zastava se kontrolisalo preko svojstva Visible kontrole tipa slika. Takođe, mogli smo u primeru štoperice umesto dodeljivanja vrednosti False svojstvu Enabled da ne bi mogli da pritisnemo na dugme da koristimo svojstvo Visible i njemu dodelimo vrednost False i dugme se uopšte ne bi pojavilo na obrascu. I u jednom, i u drugom slučaju, dobijamo željeni rezultat. To je još jedna odluka koja se donosi u fazi diazajniranja. Kao i u slučaju

svojstva Enabled, efekti dodeljivanja vrednosti False svojstvu Visible očigledni su u režimu Run. Što ima smisla. Sada svojstvima Enabled i Visible komandnog dugmeta dodelite vrednosti po sopstvenom izboru i pokrenite projekat kako biste videli šta se dešava. Kada ste isprobali sve moguće varijante, zaustavite projekat. Događaji Postoji samo jedan, ali veoma važan, događaj kada se radi o komandnom dugmetu, to je Click. Događaj Opis Click Događaj koji se izvršava kada korisnik pritisne mišem komandno dugme. Svako komandno dugme će imati jednu proceduru događaja koja odgovara događaju Click. Basic – prva lekcija Konačno, spremni smo da zavirimo u srce VB projekta – jezik Basic. Kao što ste videli, u VB projektima, procedure događaja se koriste da povežu događaje kontrola sa stvarnim radnjama koje preduzima računar. Ove procedure događaja pišu se u Basicu. Prema tome, potrebno je da znate Basic da biste znali Visual Basic. U narednim lekcijama, postepeno ćemo učiti nove stvari iz Basica. Struktura procedure događaja Ono što znamo je da se sadržaj procedura događaja pregleda u prozoru Code Visual Basica. Svaka procedura događaja ima istu opštu strukturu. Prvo, postoji red sa zaglavljem, koje ima oblik:
Private Sub KontrolaNaziv_DogađajNaziv()

Ono nam saopštava da radimo sa Private (privatna; dostupna samo na našem obrascu) Subroutine (drugi naziv za proceduru događaja) koja se izvršava kada se pojavi događaj DogađajNaziv za kontrolu KontrolaNaziv. Ima smisla, zar ne? Kôd procedure događaja se nalazi odmah ispod zaglavlja. Kôd procedure događaja je, u stvari, niz redova sa instrukcijama računaru, koje mu saopštavaju šta treba da radi. Računar će obraditi prvi red, zatim drugi, i tako redom. On će obrađivati redove sve dok ne stigne do reda sa podnožjem procedure događaja:
End Sub

Kôd procedure događaja piše se u Basicu. Basic je skup službenih reči i simbola koje se koriste kako bi se saopštilo računaru da uradi neke stvari. Basic je relativno bogat jezik i

mi ćemo ovde obraditi samo jedan njegov deo. Ranije sam rekao, a nije loše ponoviti još jednom, da programiranje zahteva preciznost, ono ne dozvoljava greške. Morate biti sasvim precizni kod pisanja procedura događaja. Ukoliko nameravate ozbiljno da se bavite programiranjem, poželjno je da radite na usavršavanju svoje daktilografske veštine. Što budete veštiji u kucanju, manje ćete praviti daktilografskih grešaka kod gradnje svojih VB aplikacija. Naredba dodeljivanja Najprostija i najčešće korišćena naredba u BASIC-u je naredba dodeljivanja i ona ima sledeći oblik: LevaStrana = DesnaStrana Simbol = se naziva operator dodeljivanja. Ovaj simbol ćete možda prepoznati kao znak jednako koji se koristi u aritmetici, ali se on u računarskom programiranju ne zove znak jednako. Zašto je to tako? Kod naredbe dodeljivanja, mi kažemo da se ono što se nalazi sa leve strane naredbe dodeljivanja zamenjuje sa onim što se nalazi sa desne strane. Leva strana naredbe dodeljivanja može biti samo jednočlani izraz, kao što je svojtsvo kontrole. Desna strana može biti svaki važeći BASIC-ov izraz. On može sadržati nekakvu matematiku koju je potrebno uraditi ili nešto drugo što treba izračunati. Ako postoji nekakvo izračunavanje, ono se mora obaviti pre dodeljivanja. Suština naredbe dodeljivanja postaće mnogo jasnija kada naučite još neke stvari iz BASIC-a. Tipovi svojstava Podsetimo se da svojstva opisuju nešto vezano za kontrolu: veličina, boja, pojavni oblik. Svako svojstvo je određenog tipa (vrste) koji zavisi od vrste informacije koju predstavlja. Kada koristimo prozor Properties da postavimo vrednost u režimu Design, VB automatski obezbeđuje odgovarajuću vrstu. Ukoliko želimo da promenimo svojstvo u proceduri događaja korišćenjem BASIC-ove naredbe dodeljivanja, moramo da znamo tip svojstva tako da možemo da mu dodelimo odgovarajuću vrednost. Da vas podsetimo, koristi se tzv. notacija sa tačkom da bi se promenila svojstva u režimu Run, tj.: KontrolaIme.SvojstvoIme = SvojstvoVrednost KontrolaIme je svojstvo Name dodeljeno kontroli, SvojstvoIme je naziv svojstva, a SvojstvoVrednost je nova vrednost koju dodeljujemo svojstvu. Imaćemo posla sa četiri tipa svojstava. Prvi tip svojstava je integer. To su svojstva koja se predstavljaju u potpunosti celim brojevima. Svojstva kao što su Top, Left, Height i Width su svojstva tipa integer. Prema tome, ako dodeljujemo vrednost svojstvu tipa integer, koristićemo cele brojeve. Na primer, da bi promenili svojstvo Width obrasca frmPrimer na 4000 twipsa, treba u BASIC-u da napišemo sledeće:

frmPrimer.Width = 4000 Ovom naredbom zamenjuje se tekuća širin obrasca sa novom vrednošću (4000). Drugi tip svojstva je tip long integer. Tip integer može da ima vrednost do 32767. Međutim, ponekad nama je potrebna veća vrednost od ove, stoga je uveden tip long integer. Ovaj tip može da ima vrednost do 2 147 483 647. To je zaista veliki broj. Najčešće svojstva vezana za boje koriste tip long integer, kao što su BackColor i ForeColor. U prethodnoj lekciji, sivoj boji smo dodelili vrednost &H8000000F&, to je skraćeni način zapisivanja (heksadecimalni broj) long integer brojeva. Kada dodeljujemo vrednost svojstvima vezanim za boje moramo koristiti vrednosti koje su tipa long integer. Srećom, VB nudi lakše načine kad je u pitanju dodeljivanje vrednosti bojama. Jedan od načina je rad sa simboličkim konstantama. Simboličke konstante se koriste na više mesta u VB-u, tokom kursa imaćete prilike da se u to uverite. Sve simboličke konstante počinju sa dva slova vb (Visual Basic). Neke simboličke konstante za boje su: vbBlack – Crno vbRed - Crveno vbGreen – Zeleno vbYellow - Žuto vbBlue - Plavo vbMagenta - Magenta vbCyan - Cijan vbWhite - Belo Svaka od ovih konstanti sadrži odgovarajuću vrednost tipa long integer za boju koju predstavlja. Da bi u našem primeru promenili svojtsvo obrasca BackColor u plavo treba da napišemo sledeću naredbu dodeljivanja: frmPrimer.BackColor = vbBlue Ovom naredbom zamenjuje se tekuća vrednost svojstva BackColor obrasca vrednošću tipa long integer koju predstavlja simbolička konstanta vbBlue. Sledeći tip svojstava je Boolean. On je dobio naziv po poznatom matematičaru Georgu Booleu. Ovaj tip svojstava može da ima dve vrednosti: True ili False. Videli smo ranije da svojstva Enabled i Visible komandnog dugmeta imaju Boolean vrednosti. Prema tome, kada radimo sa svojstvima tipa Boolean, moramo im dodeliti vrednosti True ili False. Da bi postigli da naš obrazac nestane sa radne površine (što baš nije mnogo pametan predlog) treba da iskoristimo sledeću naredbu dodeljivanja: frmPrimer.Visible = False Ovom naredbom tekuća vrednost svojstva Visible obrasca zamenjuje se Boolean vrednošću False. Sledećom naredbom vraćamo prethodnu vrednost:

frmPrimer.Visible = True Četvrti tip svojstava je string. Svojstva ovog tipa su stringovi (niske) znakova. String može biti ime, string brojeva, rečenica, pasus ili bilo kakva skupina znakova. Često, string ne mora sadržati znakove uopšte (prazan string). Svojtsvo Caption je svojtsvo tipa string. Mi ćemo dosta raditi sa stringovima u VB-u, zato je poželjno da ih dobro poznajete. Kada dodeljujemo vrednost svojstvima tipa string, trik se sastoji u tome da vrednost koju dodeljujemo bude obuhvaćena znacima navoda. Može se desiti da ovo zaboravite pošto vrednost ovog tipa svojstva ne pojavljuje sa znacima navoda u prozoru Properties. Da bi našem primeru obrasca dodali natpis, upotrebimo sledeću naredbu dodeljivanja: frmPrimer.Caption = “Ovo je natpis obuhvaćen navodnicima” Ovom naredbom svojstvu Caption dodelili smo vrednost tipa string koja se nalazi na desnoj strani izraza. Sada imate osećaj kako naredbe dodeljivanja funkcionišu. Napomene: Kada smo govorili o dizajniranju projekta, rečeno je da treba poštovati odgovarajuća pravila programiranja prilikom pisanja BASIC koda. Jedno od tih pravila je pisanje odgovarajućeg komentara za kôd. Imate mogućnost da u kôd ubacite izraze koji se ne izvršavaju (tj. koje računar ignoriše), a koji objašnjavaju šta kôd radi. To su komentari. Oni omogućavaju da kasnije mnogo lakše izmenite napisani kôd. Da biste ubacili komentar u svoj kôd, koristite simbol za komentar, apostrof (‘). Sve što se napiše posle ovog simbola, računar će ignorisati. Možemo za primer dati sledeće: ‘Promena boje obrasca u plavu frmPrimer.BackColor = vbBlue A možete ubaciti komentar u isti red sa naredbom na koju se odnosi: frmPrimer.BackColor = vbBlue ‘Obrazac je sada plav Kao programer, sami ćete odlučiti koliko će dugi i česti biti vaši komentari. U ovom projektu, ja sam pokušao da obezbedim adekvatne komentare. Pripremio Dragan Marković
Pripremio Dragan Marković U ovom projektu malo ćemo se igrati sa svojstvima obrasca koristeći komandnu dugmad. Napravićemo dugme koje će širiti obrazac, dugme koje će sužavati obrazac i dva dugmeta koja će menjati boju obrasca. Takođe, imaćemo niz dugmadi koja će uticati da druga dugmad nestanu sa obrasca i ponovo se pojave. Postavljanje kontrola na obrazac Pokrenite novi projekat u VB-u. Podesite veličinu obrasca tako da se na njega može smestiti šest komandnih dugmadi. Postavite šest komandnih dugmadi na obrazac. Pomerajte dugmad sve dok obrazac ne dobije izgled kao na sledećoj slici.

Visual Basic za decu (5)

Jedno upozorenje. Ukoliko već dugo koristite Windows aplikacije, verovatno ste koristili dobro poznate komande Copy i Paste. Pomoću njih možete da duplirate nešto, prebacite se na mesto gde želite da stavite kopiju i postavite je tu. To je ono što često radimo u programima za obradu teksta. Baveći se Visual Basicom verovatno vam je palo na pamet da to možete i kod njega da koristite. Zašto da pravite šest komandnih dugmadi, kada možete da napravite jedno, da ga kopirate i postavljate na obrazac na više mesta. Za sada, pravićemo samo jednu kopiju svake kontrole koja nam treba i prilagođavati je našim potrebama. Definisanje svojstava kontrole Za definisanje svojstava kontrole koristi se prozor Properties. Da vas podsetim: da biste promenili izabranu kontrolu u prozoru Properties, možete koristiti ili listu kontrola sa vrha prozora ili mišem pritisnuti na željenu kontrolu. Kod svojstava kontrola projekta uvek ćemo izlistavati kontrole sa njihovim inicijalnim nazivima (onim koje dodeljuje VB kada se kontrola postavi na obrazac). Igra obrazac: Naziv svojstva Vrednost svojstva Name (Naziv) frmFormIgra Caption (Potpis) Igra Command1 komandno dugme: Naziv svojstva Vrednost svojstva Name cmdSmanji Caption Smanji obrazac Command2 komandno dugme: Naziv svojstva Vrednost svojstva Name cmdPovecaj Caption Povecaj obrazac Command3 komandno dugme: Naziv svojstva Vrednost svojstva Name cmdSkloni Caption

Skloni dugmad Command4 komandno dugme: Naziv svojstva Vrednost svojstva Name cmdCrveno Caption Crveni obrazac Command5 komandno dugme: Naziv svojstva Vrednost svojstva Name cmdPlavo Caption Plavi obrazac Command6 komandno dugme: Naziv svojstva Vrednost svojstva Name cmdPrikaži Caption Prikaži dugmad Visible False Ukoliko želite možete promeniti i druga svojstva, na primer, svojstvo Font komandnih dugmadi. Kada završite sa definisanjem svojstava, vaš obrazac će izgledati slično obrascu prikazanom na sledećoj slici.

Sada imamo šest komandnih dugmadi, od kojih dva menjaju veličinu obrasca, dva menjaju boju obrasca, jedno uklanja dugmad sa obrasca, a jedno vraća dugmad na obrazac. Uočite da komandno dugme Prikazi dugmad ima dodeljenu vrednost False svojstvu Visible. Mi ne želimo u prvom trenutku da ovo dugme bude na obrascu, pošto su dugmad već na obrascu. Kada uklonimo dugmad sa obrasca (promenom njihovog svojstva Visible) pritiskom mišem na dugme Skloni dugmad, ujedno ćemo izazvati da se pojavi dugme Prikazi dugmad. Ima smisla, zar ne? Ali, zašto se dugme Prikazi dugmad pojavilo ako njegovo svojstvo Visible ima vrednost False? Da vas podsetim, svojstvo Visible koje ima dodeljenu vrednost False biće vidljivo samo u režimu Run. Pisanje procedura događaja Imamo šest komandnih dugmadi na obrascu. Potrebno je da napišemo kôd za proceduru događaja Click za svako od ovih dugmadi. Takođe, napisaćemo proceduru događaja Click za obrazac, a kasnije ću objasniti zašto to radimo. Imamo dugme na obrascu koje smanjuje obrazac. Šta ako ga suviše smanjimo, tada ne možemo da pritisnemo na dugme da bismo ga vratili na prethodnu veličinu. Ovo možemo izbeći tako što ćemo dozvoliti pritisak mišem na obrazac koji takođe izaziva povećanje obrasca. Ovo „razmišljanje unapred ” predstavlja jedan od koncepata dizajniranja projekta o kome smo ranije govorili.

Za svaku proceduru događaja koristićemo prozor Code. Izaberimo kontrolu u listi objekata, a zatim događaj u listi procedura. Pritisnimo mišem na oblast između linije zaglavlja i podnožja obrasca i upišimo kôd. Ovo je lako. Ali, da ponovim, prilikom pisanja morate biti veoma precizni, zato pišite tačno kako je u ovoj lekciji navedeno. Prvo ćemo ispisati proceduru cmdSmanji_Click. U ovoj proceduri smanjujemo visinu i širinu obrasca za po 100 twipsa.

Pre nego što pogledamo druge procedure događaja, pogledajmo detaljnije ovu, jer ona koristi neke ideje koje do sada nismo detaljno objasnili. Ovo je procedura događaja koja se izvršava kada pritisnete mišem na dugme Smanji obrazac. Trebalo bi da lako prepoznate komentare u proceduri. Naredbe koje nisu komentari, menjaju visinu i širinu obrasca. Pogledajmo sada naredbu koja menja visinu: frmFormIgra.Height = frmFormIgra.Height - 100 Podsetite se kako operator dodeljivanja funkcioniše. Prvo se izračunava desna strana. Prema tome, od tekuće visine se oduzima vrednost 100. Izračunata vrednost s dodeljuje levoj strani izraza, frmFormIgra.Height. Rezultat je zamena svojstva Height svojstvom Height umanjenim za 100 twipsa. Posle ovog programskog reda, svojstvo Height ima umanjenu vrednost za 100 i obrazac će imati na ekranu manju visinu. Takođe, ovaj izraz pokazuje zašto operator dodeljivanja zovemo baš tako, a ne znak jednakosti. Svako može da vidi da leva strana ovog izraza ne može biti jednaka desnoj strani izraza. Bez obzira šta je frmFormFun, desna strana će uvek biti za 100 manja od leve strane. Mada ovo nije jednakost, često ćete od programera čuti da čitaju ovaj iskaz kao „frmFormIgra.Height jednako frmFormIgra.Height minus 100”, iako znaju da to nije tačno. Podsetite se kako iskazi dodeljivanja funkcionišu pre nego što počnete da pišete svoje programe. Sada, pogledajmo druge procedure događaja. Procedura cmdPovecaj_Click povećava visinu i širinu obrasca za po 100 twipsa.

Procedura događaja cmdCrveno_Click menja boju pozadine obrasca u crvenu.

Procedura događaja cmdPlavo_Click menja boju pozadine obrasca u plavu.

Procedura događaja cmdSkloni_Click koristi se da sakrije (postavlja svojstvo Visible na False) svu komandnu dugmad izuzev cmdPrikazi, koje je vidljivo (svojstvo Visible ima vrednost True).

Procedura događaja cmdPrikazi_Click radi obrnutu stvar.

Na kraju, procedura događaja Form_Click takođe se koristi za povećanje obrasca, stoga ima isti kôd kao procedura cmdPovecaj_Click.

Proverite da li ste sve procedure korektno upisali. Kada izaberete kontrolu Form, učitaće se procedura koja je prikazana. Izaberite sa liste procedura događaj Click. Podsetite se ranije opisanih tehnika za snimanje projekta i snimite projekat na disk. Trabalo bi da lako možete da vidite šta se dešava kod svake od ovih procedura. Obratite posebnu pažnju na to kako se svojstvo Visible koristi kod dugmadi cmdSkloni i cmdPrikazi. Takođe, uočite da je većina procedura događaja veoma slična po kodiranju. Na primer, događaj Form_Click identičan je sa događajem cmdPovecaj_Click. Ovo je čest slučaj u VB projektima. Za razliku od smeštanja kontrola, preporučujemo da prilikom pisanja koda koristite tzv. editorske komande Copy i Paste. Da biste iskopirali nešto, označite mišem željeni tekst, kao što to radite u programu za obradu teksta. Zatim u glavnom meniju VB-a izaberite Edit/Copy. Premestite pokazivač miša gde želite da stavite ono što ste kopirali. Možete čak da se premestite u drugu proceduru događaja. Izaberite Edit/Paste i kopirani kôd će se pojaviti na željenom mestu. Možda će biti potrebno da malo prepravite kôd, ali u svakom slučaju ovom tehnikom se prilično štedi na vremenu. Za sada toliko. Ukoliko u meniju Tools izaberete Options, a u okviru za dijalog izaberete karticu Editor, videćete da postoji opcija Auto List Members. Ukoliko je ta opcija uključena dok pišete Basic kôd u prozoru Code, u određenim tačkama pojavljivaće se mali okviri i oni će vam davati informaciju koja bi trebalo logički da kompletira iskaz na

kom radite. Možete izabrati taj ponuđeni dodatak, umesto da ga upisujete. Izvršavanje projekta Pokrenite projekat. Pritisnite dugme Start na liniji alatki. Ako se projekat ne izvršava kako treba, jedina preporuka je da zaustavite izvršavanje, proverite kôd i ponovo pokrenete izvršavanje. Probajte svu komandnu dugmad. Povećajte obrazac, smanjite obrazac, promenite boju, sakrijte dugmad, vratite dugmad na obrazac.

Proverite da li ste isprobali svako dugme i da li ono radi onako kako se očekuje. Takođe, proverite da li se obrazac korektno ponaša kada pritisnete mišem na njega. Ovo sve izgleda prosto i možda čak nepotrebno, ali kada su u pitanju veliki projekti temeljno testiranje projekta je veoma važna stvar. Zato je bitno da za svaku proceduru proverite da li radi onako kako ste zamislili. Ukoliko ste nešto promenili prilikom testiranja, snimite ponovo projekat. Pripremio Dragan Marković Otkrivanje i uklanjanje grešaka u VB programima

Visual Basic za decu (6)

Bez obzira koliko dobro ste planirali program i koliko ste pažljivi pri implementiranju svojih ideja koje se odnose na kontrole i procedure događaja, uvek ćete praviti greške. Greške, ili ono što programeri nazivaju bagovi, kvare vaš program. Kao programer, potrebno je da imate strategiju za pronalaženje i uklanjanje tih bagova. Proces eliminisanja bagova u programu u programerskim krugovima naziva se debagovanje. Nažalost, ne postoji mnogo moćnih, brzih pravila za pronalaženje bagova u programima. Svaki programer ima svoje tehnike, tako da ćete i vi razviti svoje. Ovde ćemo navesti samo neke opšte strategije. Greške (bagovi) u programima mogu se podeliti u tri grupe:

• • •

Sintaksne greške Izvršne (engl. run-time) greške i Logičke greške.

Sintaksne greške se javljaju kada napravite pogrešno podešavanje svojstva u režimu Design ili kada pišete Basicov kôd. Nešto je pogrešno napisano ili stavljeno tamo gde ne treba. Vaš program neće raditi ako postoji bilo kakva sintaksna greška. Izvršne greške javljaju se kada pokušavate da izvršavate program. One će iznenada zaustaviti izvršavanje programa pošto se nešto desilo izvan njegove kontrole. Logičke greške se najteže pronalaze. Vaš program će raditi, ali će rezultati koje daje biti pogrešni.

Pogledajmo sada svaki tip greške i navedimo moguće metode za debagovanje. Sintaksne greške Sintaksne greške se najlakše otkrivaju i uklanjaju. Sam VB program pomaže u pronalaženju sintaksnih grešaka. Sintaksne greške će se najverovatnije pojaviti kod podešavanja svojstava kontrola ili pisanja Basic koda za procedure događaja. Pokrenite novi projekat u VB-u. Pređite u prozor Project i pokušajte da definišete za svojstvo Left vrednost Junk. Šta se dešava? Na ekranu se pojavljuje mali prozor kao što je prikazano na sledećoj slici.

Pritisnite taster F1 za neposrednu pomoć i dobićete objašnjenje problema. Da vas podsetim, vrednost svojstva mora biti odgovarajućeg tipa. Dodeljivanjem svojstvu vrednosti neodgovarajućeg tipa stvara se sintaksna greška. Međutim, kao što vidite, VB ne dopušta da pravite takve greške. Pritisnite dugme OK i vrednost za svojtsvo Left će se vratiti na onu vrednost koja je bila pre nego što se pokušali da napravite izmenu. Šta se dešava ukoliko napravite sintaksnu grešku dok pišete kôd. Pokušajmo to da uradimo. Otvorite prozor Code za proceduru Form_Load. Ispod zaglavlja upišite sledeći red programskog koda: Form1.BackColor 0 vbRed i pritisnite taster Enter. U naredbi dodeljivanja, umesto znaka = napisali smo 0. Šta će se dešavati? Pojaviće se prozor prikazan na sledećoj slici.

Pritisnite taster F1 i dobićete pomoć. VB je prepoznao da je nešto pogrešno u napisanoj naredbi. Trebalo bi da možete da vidite šta je to. Prema tome, ukoliko napravite sintaksnu grešku, VB će obično znati da ste uradili nešto pogrešno i uveriće vas u to argumentovano. Sistem za neposrednu pomoć je dobar resurs za debagovanje sintaksnih grešaka. Uočite da su sintaksne greške uglavnom rezultat pogrešnog kucanja, zato potrudite se da poboljšate svoju daktilografsku veštinu. Izvršne greške Posle otkrivanja i eliminisanja sintaksnih grešaka stanje programa je takvo da imate korektno podešena svojstva kontrola i ispravno napisane procedure događaja. Sada možete ponovo da pokrenete program. Međutim, često se dešava da će se i posle toga izvršavanje programa zaustaviti i on će vam saopštiti da je pronašao grešku - ovog puta radi se o izvršnoj grešci. Treba da shvatite zašto se program zaustavio i da otklonite problem. Ponovo, VB i njegov sistem neposredne pomoći će vam uglavnom dati dovoljno informacija da uklonite izvršne greške.

Pogledajmo neke primere. Probajmo sa prethodnim primerom, ali ovog puta ćemo promeniti kôd u proceduri Form_Load u sledeći oblik: Form1.BackColor vbRed Zaboravili smo da upišemo znak = u ovoj naredbi dodeljivanja. Interesantno je da će VB dozvoliti da napišete ovakav netačan programski red. Naime, VB ne može da pronađe sve sintaksne greške u režimu Design. Pokrenite izvršavanje programa. Pošto pritisnete dugme Start na paleti alatki, na ekranu će se pojaviti prozor prikazan na sledećoj slici.

Pored toga, reč BackColor će biti označena žutom bojom u prozoru Code. VB vam time saopštava da nešto nije u redu kod definisanja konkretnog svojstva. Pritisnite taster F1 ukoliko vam je potrebna dodatna pomoć. VB obično dosta dobro ukazuje na greške. Ispravimo grešku tako što ćemo upisati znak = na odgovarajuće mesto, ali zato izbrišimo slovo k u reči BackColor tako da naredba ima sledeći oblik: Form1.BacColor = vbRed Pokrenimo ponovo izvršavanje programa. Na ekranu će se pojaviti prozor prikazan na sledećoj slici.

Takođe, reč BacColor će biti označena žutom bojom u prozoru Code. Pritisnite taster F1 ukoliko vam je potrebna dodatna pomoć. VB ćevam reći da ne može da pronađe to svojstvo za navedenu kontrolu. Sami morate da uočite pogrešno napisanu reč i da je ispravite. Ispravili smo ovu grešku kod naziva svojstva, ali sada napišimo For1 umesto Form1 za naziv obrasca, tj.: For1.BackColor = vbRed Pokrenimo projekat. Na ekranu će se pojaviti prozor, ali sada sa novom porukom.

Ova poruka nije baš od velike pomoći, kao što su bile prethodne. Pritisnite taster F1 i sistem pomoći će vam objasniti tip greške, ali neće pokazati gde je ona. Ključna poruka je Object required. Ovo se obično javlja kada je pogrešno napisano ime kontrole u Basci kodu. VB je pokušao da dodeli svojstvo nečemu koristeći "notaciju sa tačkom", tj.: NazivKontrole.NazivSvojsta = Vrednost Međutim, nije mogao da pronađe kontrolu sa navedenim nazivom (u ovom slučaju For1). Kako mi da znamo gde je greška? Znak možete dobiti ukoliko pritisnete mišem na dugme Debug u ovom prozoru. VB će označiti red programskog koda u kome se zaustavio. Pogledajte sadržaj prozora i videćete uokviren red programskog koda koji nije ispravan. Sami treba da uočite da je naziv obrasca pogrešno napisan, VB ne može to da uradi umesto vas. Kada ste pritisnuli dugme Debug, VB je prešao u svoj drugi mogući režim rada, u Break (prekidni) režim (do sada ste upoznali režime Design i Run). Da biste se iz režima Break vratili u režim Design u kome možete da ispravite program, potrebno je da zaustavite program. Ovde smo naveli samo tri uobičajene izvršne greške. Postoji i druge, a vi ćete imati prilike da se upoznate sa njima tokom pisanja svojih programa. Napomena: VB neće odjednom pronaći sve izvršne greške. On će se zaustaviti kod prve. Kada je ispravite, to ne znači da ih nema više. Prema tome, izvršne greške ispravljate kednu, po jednu. Logičke greške Logičke greške se najteže pronalaze i uklanjaju. Ova vrsta grešaka ne zaustavlja izvršavanje programa, ali je uzrok pojave pogrešnih rezultata koje daje vaš program. Jedina stvar koju možete da uradite u ovom slučaju, ukoliko sumnjate da postoje logičke greške je da "zaronite" u program (prvenstveno procedure događaja) i proverite da li je kôd napisan kako ste želeli. Pronalažete logičkih grešaka zahteva strpljenje a ne veliko znanje. Ne postoje opšta pravila za pronalaženje logičkih grešaka. Svaki programer ima svoj način koji koristi za pronalaženje ovih grešaka. VB sa svojim debagerom može vam pomoći u nekim situacijama da pronađete logičke greške. Koristeći debager možete odštampati svojstva i njihove vrednosti, zaustaviti izvršavanje programa u bilo kom programskom redu i kada želite, kao i izvršavati program red, po red. Korišćenje debagera je nešto složenije i neće biti objašnjavano u ovom kursu koji je namenjen početnicima.

Visual Basic za decu (7)
Kontrola Label Kontrola Label je kontrola koja prikazuje informaciju koju korisnik ne može direktno da prepravlja. Često se koristi za dodeljivanje naslova (labele) drugim kontrolama. Takođe, može da se koristi za prikaz rezultata rada nekih računarovih operacija. Kontrola Label se izabira iz kutije za alatke. Njen izgled je prikazan na sledećoj slici.

Izgled u kutiji za alat Izgled na obrascu Svojstva Neka od važnih svojstava ove kontrole su: Svojstvo Opis Name Naziv koji se koristi za identifikaciju labele. Prefiks lbl se koristi kod naziva labela. Caption Tekst koji se pojavljuje na labeli. Font Definiše stil, veličinu i vrstu teksta svojstva Caption. Alignment Definiše da li se tekst koji se pojavljuje na labeli poravnava po levoj margini, desnoj margini ili je centriran. BackColor Definiše boju pozadine labele. ForeColor Definiše boju teksta labele. BorderStyle Određuje tip bordure labele. Left Odstojanje od leve ivice obrasca do leve ivice labele. Top Odstojanje od gornje ivice obrasca do gornje ivice labele. Width Širina labele u twipsima. Height Visina labele u twipsima. Visible Određuje da li se labela pojavljuje na obrascu (u režimu Run). Primer Pokrenite Visual Basic i započnite novi projekat. Stavite labelu na obrazac. Za vežbu, promenite veličinu labele i pomerajte je po obrascu. Definišite vrednost za svojstvo Caption. Menjajte vrednosti svojstva Font. Takođe, eksperimentišite sa različitim vrednostima svojstva Alignment. Uočite da svojtsvo Alignment centrira labelu samo horizontalno; nema vertikalnog poravnavanja. Isprobajte kakve su mogućnosti kod svojstva BorderStyle. Uočite da inicijalna vrednost (0 – None) utiče da se labela uklapa u

obrazac, dok druga vrednost (1 – Fixed Single) daje labeli trodimenzionalni izgled. Promenite svojstva BackColor i ForeColor. Možda ćete pronaći kombinacije boja koje nisu dobre za prikazivanje naslova. Koristite kombinaciju koja će obezbediti da korisnik vidi ono što je prikazano. Najviše korišćeno svojstvo je Caption. Ono sadrži informaciju koja se prikazuje na kontroli Label. Postoje dve stvari o kojima treba da vodite računa. Prvo, proverite da li je vaša labela dovoljno velika da može da prikaže natpis koji želite da prikažete. Drugo, obratite pažnju da je Caption svojstvo tipa niske znakova (string). Prema tome, možete mu dodeliti samo vrednost tipa niske znakova. Kada podešavate svojstvo Caption u režimu Run, informacija koju dodeljujete mora biti pod navodnicima. Na primer, ukoliko imate kontrolu Label nazvanu lblPrimer i želite da dodelite njenom svojtsvu Caption vrednost Moja labela, treba da napišete sledeći kôd: LblPrimer.Caption = ``Moja labela” Ne morate da vodite računa o navodnicima kada radite u režimu Design. Visual Basic tada zna da se radi o vrednosti tipa niske znakova. Događaji Kod kontrole ovog tipa važan je samo jedan događaj: Događaj Opis Click Događaj koji se izvršava kada korisnik mišem pritisne na labelu. Kontrola Text Box Ovaj tip kontrole se koristi za prikazivanje informacija koje su upisane u režimu Design, informacija koje upisuje korisnik u režimu Run ili dodeljenih u okviru procedura događaja. Posmatrajte polje za tekst kao labelu čiji sadržaj korisnik može da promeni. Kontrola Text Box se izabira iz Visual Basicove kutije za alatke. Njen izgled prikazan je na sledećoj slici.

Izgled u kutiji za alat Izgled na obrascu Svojstva Neka od važnih svojstava ove kontrole su:

Svojstvo Opis Name Naziv koji se koristi za identifikaciju polja za tekst. Prefiks txt se koristi kod naziva polja za tekst. Text Tekst (niska znakova) koja se pojavljuje u polju za tekst. Font Definiše stil, veličinu i vrstu teksta. Alignment Definiše da li se tekst koji se pojavljuje u polju za tekst poravnava po levoj margini, desnoj margini ili je centriran (važi samo kada je svojstvu MultiLine dodeljena vrednost True). MultiLine Definiše da li polje za tekst prikazuje jedan ili više redova. ScrollBars Definiše tip prikazane trake za pomeranje sadržaja. MaxLength Maksimalna dužina prikazanog teksta. Ukoliko je 0, dužina je neograničena. BackColor Definiše boju pozadine polja za tekst. ForeColor Definiše boju teksta. BorderStyle Definiše tip bordure polja za tekst. Left Odstojanje od leve ivice obrasca do leve ivice polja za tekst. Top Odstojanje od gornje ivice obrasca do gornje ivice polja za tekst. Width Širina polja u twipsima. Height Visina polj u twipsima. Locked Ukoliko je dodeljena vrednost True, korisnik ne može da promeni sadržaj polja za tekst (samo za režim Run). Visible Definiše da li se polje za tekst pojavljuje na obrascu (samo u režimu Run). Primer Započnite novi VB projekat. Stavite kontrolu tipa Text Box na obrazac. Za vežbu, promenite veličinu ove kontrole i pomerajte je po obrascu. Definišite vrednost za svojstvo Text. Menjajte vrednosti svojstva Font. Takođe, eksperimentišite sa različitim vrednostima svojstva Alignment. Uočite da ne možete tekst da centrirate ili poravnate po desnoj strani ukoliko svojstvu MultiLine nije dodeljena vrednost True. Isprobajte kakve su mogućnosti kod svojstva BorderStyle. Labela koristi vrednost None kao inicijalnu

vrednost, dok ova kontrola koristi Fixed Single. Promenite svojstva BackColor i ForeColor. Dodelite svojstvu MultiLine vrednost True i eksperimentišite sa raznim vrednostima svojstva ScrollBars. Sigurno ćete primetiti da je ova kontrola veoma fleksibilna što se tiče ponašanja na obrascu. Svojstvo Text kontrole tipa Text Box prihvata vrednosti tipa niske znakova, kao što je to bio slučaj kod svojstva Caption kontrole Label. Prema tome, kada podešavate svojstvo Text u režimu Run, morate upisati vrednost pod navodnicima da bi dodeljivanje bilo korektno. Ne morate da vodite računa o navodnicima kada radite u režimu Design. Visual Basic tada zna da se radi o vrednosti tipa niske znakova. Događaji Najvažnije svojstvo kontrole Text Box je svojstvo Text. Kao programer, potrebno je da znate kada je ovo svojstvo promenjeno da bi omogućili korišćenje nove vrednosti. Postoje dva događaja pomoću kojih ovo možete ostvariti: Događaj Opis Change Događaj koji se izvršava kadgod se promeni Text. LostFocus Događaj koji se izvršava kada korisnik napušta polje za tekst i izaziva događaj na drugoj kontroli. Događaj Change se izvršava relativno često, tj. svaki put kada korisnik pritisne taster dok upisuje informaciju u polje za tekst, poziva se procedura događaja Change. Pogledajte svojstvo Text u ovoj proceduri događaja i videćete njegovu tekuću vrednost. Događaj LostFocus je mnogo korisniji događaj za razmatranje teksta. Ako se sećate, prilikom postavljanja kontrola na obrazac u režimu Design, možete pritiskom miša aktivirati jednu kontrolu. Sličan koncept važi kada se radi sa aplikacijom u režimu Run. Korisnik u jednom trenutku može komunicirati samo sa jednom kontrolom. Za kontrolu sa kojom korisnik komunicira kaže se da je u žiži (fokusu). Dok korisnik upisuje tekst u polje za tekst, ono je u žiži. Događaj LostFocus se izvršava kada druga kontrola dolazi u žižu. U tom trenutku znamo da je korisnik završio upisivanje u polje za tekst i da je promenjeno svojtsvo Text. Zato je ova procedura događaja pravo mesto za nalaženje vrednosti svojstva Text. Pripremio Dragan Marković

Visual Basic za decu
Pripremio Dragan Marković Promenljive Svi računarski programi rade sa informacijama neke vrste. Brojevi, tekst, boje i slike su tipične vrste informacija sa kojima rade. Računarskim programima je potreban prostor da smeste te informacije dok sa njima rade. U prethodnim lekcijama smo videli jednu vrstu smeštaja koju koriste VB projekti - svojstva kontrole. Svojstva kontrole sadrže (pamte) informacije kao što su veličina kontrole, izgled kontrole, položaj na obrascu i boje.

Međutim, svojstva kontrole nisu dovoljna za smeštaj svih informacija koje mogu zatrebati programu. Šta da se radi ako je nama potrebno da znamo koliko treba da platimo za devet banana kad svaka košta šest dinara. Nama je potrebno da imamo mesto gde ćemo da stavimo broj banana, cenu svake banane i rezultat množenja ova dva broja. Da bi u VB projektima smestili informacije koje nisu svojstva kontrole koristimo promenljive. Naziv promenljive dobile su po tome što smeštena informacija može da se menja ili varira za vreme izvršavanja programa. Promenljive su osnovni metod premeštanja informacija u VB projektima. Zbog toga moraju se poštovati neka pravila u radu sa promenljivama u VB projektima. Ta pravila su veoma slična sa onima koja važe za svojstva kontrole. Nazivi promenljive Svaka promenljiva koju koristimo u projektu mora imati naziv. Pravila za dodeljivanje naziva promenljivama su:

• • • •

Naziv ne može biti duži od 40 znakova. Za naziv se mogu koristiti slova, brojevi i podvlake (_). Prvi znak u nazivu mora biti slovo. Ne mogu se koristiti rezervisane reči Visual Basica (na primer, ne možete imati promenljivu sa nazivom Form ili Beep).

Najvažnije pravilo je da koristite nazive promenljivih tako da oni nešto znače. Naziv treba da bude takav da možete lako da identifikujete smeštenu informaciju. Za naš primer sa bananama dobri nazivi bi bili: Veličina Naziv promenljive Cena pojedinačne banane BananaCena Broj kupljenih banana Banane Cena svih banana ZbirnaCenaBanana Vrste promenljive Potrebno je da znamo vrstu informacije koja se smešta u svaku promenljivu. Vrste koje se koriste za svojstva mogu se koristiti i kod promenljivih: integer, long integer, Boolean i string. Takođe, postoje i druge vrste informacije možete pronaći u Helpu. Ovde ćemo razmotriti jednu vrstu koju ćemo koristiti kod promenljivih - vrstu single. Do sada, svi projekti sa kojima smo radili koristili su celobrojne (integer) vrednosti. Međutim, znamo da matematika obuhvata i decimalne brojeve. Vrsta single je upravo to - broj koji ima decimalnu tačku. U računarskom žargonu to se naziva broj sa pokretnim zarezom. Primeri brojeva vrste single su: 2,00 -1,8 3,14159

Promenljive se mogu pojaviti u izrazima dodeljivanja: NazivPromenljive = NovaVrednost Samo jedna promenljiva može biti na levoj strani operatora dodeljivanja, dok na desnoj strani može biti bilo koji legalan BASIC izraz koji koristi proizvoljan broj promenljivih. Da vas podsetim, NovaVrednost se prvo izračunava, a zatim se dodeljuje promenljivoj NazivPromenljive. Ono o čemu ovde treba da vodimo računa je da NovaVrednost bude iste tipa kao NazivPromenljive. Drugačije rečeno, promenljivoj moramo dodeliti vrednost odgovarajućeg tipa. O sličnoj stvari sam govorio kada sam objašnjavao svojstva kontrole. Deklarisanje promenljivih Kada smo dodelili naziv promenljivoj i odredili koje vrste (tipa) treba da bude, moramo preneti ove informacije VB projektu. Potrebno je da deklarišemo naše promenljive. Iskaz koji se koristi za deklarisanje promenljive NazivPromenljive kao tipa Type ima sledeći oblik: Dim NazivPromenljive As Type Potreban nam je iskaz za deklarisanje za svaku promenljivu u projektu. Izgleda kao da ima mnogo posla kod deklarisanja promenljivih, ali taj posao se isplati. Korektna deklaracija promenljive olakšava programiranje, svodi na minimum moguće greške i olakšava lakše menjanje programa ukoliko bude potrebno.

Prema tome, postavlja se pitanje gde da stavimo ove deklaracije promenljivih. Pokrenimo novi VB projekat i otvorimo prozor Code. Pritisnimo mišem ma listu objekata i videćemo izlistane dve stavke: (General) i Form. Izaberite (General). Prozor Code će imati izgled prikazan na sledećoj slici.

Prikazana oblast prozora Code naziva se oblast opštih deklaracija. To je mesto gde stavljate iskaze deklaracije promenljivih. Bilo koja promenljiva deklarisan u opštim deklaracijama može se koristiti (može se pristupiti ili promeniti vrednost) u bilo kojoj od procedura događaja obrasca. Oblast opštih deklaracija može na vrhu imati reči Option Explicit. To je red sa BASIC-ovim kodom koji saopštava VB-u da ćemo deklarisati svaku promenljivu koju ćemo koristiti. A sada jedna mala tajna, nije potrebno da se deklariše svaka promenljiva koju želimo da koristimo, ali je to veoma korisno. Ukoliko reči Option Explicit nema u oblasti opštih deklaracija treba da uradite sledeće: U meniju Tools izaberite stavku Options. Izaberite karticu Editor i potvrdite opciju Require Variable Declaration. Od ovog trenutka kod svakog projekta koji budemo radili moraće sve varijable da budu deklarisane. (Opcija će biti aktivna od sledećeg pokretanja projekta.) Vremenom, sami ćete se uveriti koliko to pomaže u svakodnevnom programiranju. Pokušajte da upišete neke deklaracije promenljivih u prozoru Code. Ovde su prikazani neki primeri (uočite da sam dodao red sa rečima Option Explicit).

U sledećem broju biće reči o aritmetičkim operatorima. Pripremio Dragan Marković Aritmetički operatori

Visual Basic za decu (10)

Ono u čemu su računarski programi dobri je aritmetičko izračunavanje. Oni mogu veoma brzo da sabiraju, oduzimaju, množe i dele brojeve. U BASIC-u postoji sedam aritmetičkih operatora. Sabiranje (engl. addtition) se obavlja korišćenjem znaka +, a oduzimanje (engl. subtraction) se obavlja korišćenjem znaka -. Evo nekoliko primera: Operacija Primer Rezultat Sabiranje 7+2 9 Sabiranje

3+8 11 Oduzimanje 6-4 2 Oduzimaje 11 - 7 4 Množenje (engl. multiplication) se obavlja korišćenjem znaka *, a deljenje korišćenjem znaka /. Evo nekoliko primera: Operacija Primer Rezultat Množenje 8*4 32 Množenje 2 * 12 24 Deljenje 12 / 2 6 Deljenje 42 / 6 7 Siguran sam da ste i ranije znali kako ove operacije funkcionišu. Međutim, postoje tri u BASIC-u tri aritmetičke operacije sa kojima se do sada možda niste sreli. Jedan od tih operatora je operator stepenovanja (engl. exponentiation), koji se predstavlja znakom ^ (dobija se istovremenim pritiskom tastera Shift i 6). Stepenovanje se koristi kada želite da pomnožite broj samim sobom više puta. Verovatno ste ranije "kvadrirali" brojeve, tj. množili ih samim sobom, što je takođe primer stepenovanja. Ukoliko imate neke celobrojne promenljive A i B, tada izraz A^B znači da treba A pomnožiti samim sobom B puta. Evo nekoliko primera: Primer Rezultat 5^2 25 2^4 16 3^3 27 Preostali aritmetički operatori se odnose na deljenje celobrojnih brojeva. Operator celobrojnog deljenja (engl. integer division) se predstavlja znakom \. On radi kao i operator normalnog deljenja, samo što rezultat operacije može biti celobrojna vrednost, tj. ostatak se ignoriše. Nasuprot tome, operator modula (engl. modulus) koji je u BASIC-u predstavljen ključnom reči Mod, deli dva cela broja, ignoriše celobrojnu vrednost operacije deljenja i kao rezultat daje ostatak! Možda vam to sada nije jasno, ali ovaj operator se mnogo koristi u računarskom programiranju. Evo nekoliko primera: Operacija Primer Rezultat deljenja Rezultatoperacije Celobrojno deljenje 7\2 3 ostatak 1 3 Celobrojno deljenje 23 \ 10 2 ostatak 3 2 Celobrojno deljenje 18 \ 3 6 ostatak 0 3

Modulo deljenje 7 Mod 4 1 ostatak 3 3 Modulo deljenje 14 Mod 3 4 ostatak 2 2 Modulo deljenje 25 Mod 5 5 ostatak 0 0 Dobro proučite te primere kako biste razumeli kako funkcioniše celobrojno deljenje u BASIC-u. Šta se dešava ukoliko naredba dodeljivanja sadrži više od jednog aritmetičkog operatota? Da li to stvara neke razlike? Pogledajmo sledeći primer: 7+3*4 Koji je rezultat? Sve zavisi kako računamo? Ukoliko obavljamo izračunavanja sa leva na desno, tj. prvo saberemo 7 i 3, a zatim pomnožimo sa 4, rezultat je 40. Ukoliko pomnožimo 3 i 4, a zatim dodamo 7, rezultat je 19. Šta sad? Da bi izbegao moguću konfuziju, BASIC uzima u obzir pravila prioriteta operatora. Ovo znači da postoji određeni redosled obavljanja aritmetičkih operacija. Taj redosled je sledeći: 1. 2. 3. 4. 5. Stepenovanje (^) Množenje (*) i deljenje (/) Celobrojno deljenje (\) Modulo deljenje (Mod) Sabiranje (+) i deljenje (-)

Prema tome, u naredbi dodeljivanja, prvo se urade sva stepenovanja, zatim množenja i deljenja, zatim celobrojna deljenja, pa modulo deljenja i na kraju, sabiranja i oduzimanja. U prethodnom primeru, na osnovu pravila jasno je da prvo treba uraditi množenje, a potom sabiranje, tako da će BASIC kao rezultat dati 19. Ukoliko su dva operatora istog prioriteta, na primer množenje i deljenje, operacije se u naredbi dodeljivanja rade sa leva na desno. Na primer: 24 / 2 * 3 Prvo se radi deljenje (24 / 2) koje daje rezultat 12, zatim se radi množenje (12 * 3), tako da je konačni rezultat 36. Da li može i šta se dešava ukoliko možemo množenje da uradimo pre deljenja? Može da se radi množenje pre deljenja ukoliko koristimo BASIC-ovo grupisanje operatora pomoću zagrada. Korišćenjem zagrada u naredbi dodeljivanja, prinuđujemo operacije u zagradama da se prve izvrše. Prema tome, ako prepišemo prethodni primer na sledeći način: 23 / (2 * 3) prvo će se obaviti množenje (2 * 3) i dati rezultat 6, a zatim deljenje (24 / 6), tako da je krajnji rezultat 4. U izrazima se može koristiti neograničen broj zagrada, ali one uvak moraju biti u paru, tj. svaka leva zagrada mora imati svoju desnu zagradu. Ukoliko je u izrazu neusklađen broj zagrada, Visual Basic će javiti sintaksnu grešku. Ukoliko u izrazu ugnježđujete zagrade, tj. jedan par se nalazi unutar drugog, izračunavanje će početi od para koji je sasvim unutar i dalje će se odvijati ka spoljnim krajevima izraza. Na primer, razmotrimo sledeći izraz: ((2 + 4) * 6) + 7 Prvo se radi sabiranje 2 i 4, što daje 6 koje se množi sa 6 i kao rezultat daje 36. Ovaj rezultat se potom sabira sa 7 i na kraju dobijamo rezultat 43. Takođe, možete koristiti zagrade čak i ako ne želite da menjate prioritet kod izračunavanja. Često, zagrade se koriste da bi izraz izgledao razgovetnije. Uvek proveravajte kako ste napisali aritmetičke izraze kako bi dobili odgovarajuće rezultate. Funkcije Val i Str Uobičajeni zadatak u VB projektu je da prihvatite korisnikov unos brojeva, obavite neke aritmetičke operacije na tim brojevima i prikažete razultat tih operacija. Kako se to radi? Sa dosadašnjim znanje VB-a, verovatno bi mogli da koristite kontrole tipa Text da bi omogućili korisniku da upiše

ulazne brojeve. Zatim bi mogli da koristite aritmetičke operatore da urade izračunavanja i kontrole Label da prikažete rezultate izračunavanja. I to bi bilo sve što treba da uradite. Međutim, postoje dva problema: 1. 2. Aritmetički operatori mogu da rade samo sa brojevima, ali vrednost koju obezbeđuje kontrola Text je string (niska znakova). Ne možete da sabirate i množite stringove! Rezultat aritmetičke operacije je broj. Međutim, svojstvo Caption kontrole Label (gde želite da prikažete rezultate) je string tipa. Ne možete da stavite numerički podatak u string veličinu!

Potrebno vam je rešenje za ova dva problema. Rešenje se nalazi u BASIC-ovim ugrađenim funkcijama. Potreban nam je način za pretvaranje stringova u brojeve i obrnuto, brojeva u stringove. Ukoliko to imamo na raspolaganju, tada možemo da prihvatimo tekst iz tekstualnog polja, pretvorimo ga u broj, obavimo izračunavanja i pretvorimo dobijeni numerički rezultat u string koji može da koristi svojstvo Caption kontrole Label. Ovo je uobičajen postupak u BASIC-u i on ima veliki skup funkcija koje pomažu u obavljanju takvih zadataka. Ovde ćemo ukratko razmotriti funkcije Val i Str. Prvo, definišimo šta je funkcija. BASIC-ova funkcija je ugrađena procedura koja na osnovu informacije koju smo joj dali izračunava neku željenu vrednost. Format za korišćenje funkcije je sledeći: FunkcijaVrednost = FunkcijaNaziv(ArgumentLista) FunkcijaNaziv je naziv funkcije, a ArgumentLista je lista vrednosti (razdvojenih zarezima) koje su date funkciji tako da može da obavi svoj posao. Kod ove naredbe dodeljivanja, FunkcijaNaziv koristi vrednosti u ArgumentLista da izračuna rezultat i dodeli ga promenljivoj kojoj smo dali naziv FunkcijaVrednost. Moramo osigurati da promenljiva FunkcijaVrednost ima isti tip kao vrednost koju izračunava FunkcijaNaziv. Kako mi znamo koje BASIC funkcije postoje, koji tip informacija obezbeđuju i koji tip argumenata im je potreban? Aktivirajte pretraživanje za termin Functions u VB Helpu. Dobićete mnoštvo informacija, a ovde ćemo razmotriti samo neke. Funkcija Val će pretvoriti promenljivu tipa string (ili svojstvo kontrole) u numeričku vrednost. Format za korišćenje ove funkcije je sledeći: VašBroj = Val (VašString) Funkcija Val prihvata promenljivu VašString (to se naziva argument funkcije), pretvara je u numeričku vrednost i dodeljuje je promenljivoj VašBroj. Ne možemo potom VašBroj koristiti ni u jednom aritmetičkom izrazu. Da vas podsetim, string se mora nalaziti pod navodnicima. Evo primera korišćenja funkcije Val: VašBroj = Val ("23") Po ovoj naredbi dodeljivanja, promenljiva VašBroj ima numeričku vrednost 23. Funkcija Str će pretvoriti numeričku promenljivu (ili svojstvo kontrole) u string. Format za korišćenje ove funkcije je sledeći: VašString = Str(VašBroj) Funkcija Str prihvata VašBroj kao argument, pretvara ga u vrednost tipa string i dodeljuje je promenljivoj sa nazivom VašString. Evo jednog primera: VašString = Str(23) Promenljiva VašString ima sada string vrednost "23". Potrudite se da što bolje savladate rad sa ovim funkcijama, pošto ćete ih često koristiti u VB-u. Konkatenacija stringova Sem pretvaranja, da li još nešto možemo da uradimo sa stringovima? Ne možemo da ih množimo, ali možemo da uradimo nešto što je slično sabiranju. Često u VB projektima želite da uzmete string promenljivu sa jednog mesta i stavite je "tik uz" drugi string. Ovo se u VB-u naziva konkatenacija stringova (engl. string concatenation). Operator konkatenacije se predstavlja znakom & i lako se koristi. Evo primera: NoviString = "Visual " & "Basic" Posle ove nardbe dodeljivanja, string promenljiva NoviString će imati vrednost "Visual Basic". U literaturi ćete naići i da se znak plus (+) koristi kao operator konkatenacije. Ovde ćemo za to koristiti samo znak & kako biste lakše razlikovali taj operator od aritmetičkog operatora sabiranja. String promenljive čine veliki deo VB-a. Ukoliko želite da postanete dobar VB programer, moraćete dobro da

savladate rad sa stringovima. Sada ste spremni da počnete prvi svoj ozbiljniji projekat.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->