Elementarni Visual Basic

  • Upload
    zozzon

  • View
    236

  • Download
    0

Embed Size (px)

Citation preview

  • 8/3/2019 Elementarni Visual Basic

    1/55

    1 / 1

    iPC INOVACIJSKO-PODUZETNIKI CENTAR, Verdieva 11 / I 51000 RijekaTel / Fax: 051 227-568, e-mail:[email protected], www.inovatori.hrvatska.com

    Bela Nemet, dipl.ing.

    ELEMENTARNI VISUAL BASIC

    Doputeno je tiskanje ili kopiranje kompletnog djela bez izmjena i uklanjanja naznake autorstva iizdavaa kao i distribucija bez naplate. Nije doputena izmjena ili koritenje, tiskanje, objava ili

    disponiranje djela ili njegovih dijelova uz naplatu ili u komercijalne svrhe bez ugovora s autorom.

    ELEMENTARNI VISUAL BASIC

    Rijeka, rujan 2006.g. korigirano 2009.g.

    Prilagoeno za dvostrani ispis

    Imenovanje-Nekomercijalno-Bez_prerada_3,0_Hr

  • 8/3/2019 Elementarni Visual Basic

    2/55

    2 / 2

    PREDGOVOR DRUGOM IZDANJU

    Ako spadate u korisnike raunala koji su zbog potreba posla ili afiniteta tijekom vremena uznezaobilazni WORD i EXCEL savladali i ACCESS, a snalazite se donekle i u izradi ili odravanjubarem jednostavnijih web-stranica, vjerojatno ste poeljeli da Vae statino web-sjedite budekomunikativnije. Osnove neophodne za izradu jednostavnih web stranica poetnici mogu nai nanaem web-sjeditiwww.inovatori.hrvatska.com (HTML alabakter za jednostavne web-stranice),

    pa se osnovi HTML-a ovdje nee objanjavati .

    Moda elite ee i intenzivnije dopunjavati i mijenjati Vae ponude, novosti ili obavijesti, modaelite Vaim posjetiteljima dati priliku da putem Vae web-stranice pune ili auriraju neku Vaubazu podataka, ili biste htjeli da Vai posjetitelji imaju uvijek uvid u najsvjeije stanje njimanamijenjene baze podataka koju redovito odravate ili ee aurirate. Ako ste orijentirani naWindowse, jo Vam je nedavno za to trebao ASP Active server pages. a korisnicima Linux-a

    za tu namjenuvie je odgovarao PHP. Danas se meutim ASP smatra zastarjelim, pa je pametnijeenergiju utroiti u (djelomino) savladavanje ASP.NET-a. No, kako to ne ide bez Visual Basic-a,

    moramo se pozabaviti i sa nasljednikom Visual Basica 6, a besplatna verzija takvog nasljednika jeVisual Basic 2008 Express Edition. Ako netko eli investirati u profesionalniju verziju, moekupiti noviju verziju - Visual Basic 10.

    Veliki broj razliitih baza podataka, aplikacija za njihovo kreiranje i upravljanje s njima obuhvaaogromnu bazu znanja koju nitko ne moe savladati u nekom razumnom roku, a kamo li "nabrzaka". No, problem izrade aplikaciju u uvjetima tako arolikog instrumentarija pokuao je rijeitiMicrosoft, putem Net Framework-a, stvorenog u elji da omogui koritenje razliitih baza i

    produkata prilikom kreiranja novih projekata. Stoga uz VB 2008 Express trebate instalirati i NetFramework, pa i neke druge komponente koje e Vam biti ponuene tijekom instalacije.

    Materijal u nastavku nastao je manjom preradom starijeg "alabaktera" za poetnike, pisanog za

    Visual Basic 6. Iako je u meuvremenu taj zastario, veina sadraja primjenjiva je i u novijimverzijama VB-a, pa tako i u besplatnoj verziji VB2008 EXPESS EDITION. S obzirom da u ovojverziji i poznavatelje estice doekuje potpuno izmijenjeno, tzv.IDEsuelje (integrateddevelopment environment - integrirano razvojno okruenje) uz daleko prikladnije i lakerukovanje, opis suelja estice zamijenjen opisom kreiranja aplikacije u novom suelju.

    Time prikaz postaje jednako koristan potpunim poetnicima, kao i poznavateljima estice. Ipak,opis suelja estice dodan je kao poseban dodatak na kraju napisa, za sluaj da netko ipak elikoristiti staru verziju (i ako ne znam zato bi to netko elio).

    Opis novog suelja zorno ilustrira i lakou rada u novijoj verzji, iako i dalje ostaje injenica da jekreiranje imalo ozbiljnije baze podataka ozbiljan zadatak i za profesionalce. No, ovo je namijenjeno

    korisnicima koji imaju skromnije planove, ograniene na jednostavnije, a opet suvremenije bazepodataka. s mogunou prikljuenja na Internet.

    Preostali dio uputa za sada nije mijenjan, no uz neto snalaljivosti i prebiranja po VB2008 ExpressEdition-ovom sustavu pomoi i uputa (u okviru "Getting Started", uvodnog panela koji sadri ivideo-tutoriale), korisnici s dovoljno entuzijazma lake e savladati prve korake, a dalje se morajusnalaziti kao i svi koji nisu imali ni ovaj alabakter.

    Bude li vrijeme doputalo, prikaz e se postepeno nadograivati s vie opisa nove verzije.

    Autor

  • 8/3/2019 Elementarni Visual Basic

    3/55

    3 / 3

    DIGRESIJA

    elei iriti tehnoloku i poslovnu pismenost, pisanja ovog saetka smo se uhvatili kao neprofesionalni korisnici,a ne kao ekspertni informatiari, pa nam trebate oprostiti eventualne nedostatke, pa moda i greke. Zato smo sekao autsajderi prihvatili te zadae ? Pa zato jer nam se ini da saete, praktino iskoristive, razumljivo pisane ibesplatne literature te vrste na domaem jeziku gotovo i nema.Zato, jer veina naih knjiga, prirunika i uputa za koritenje softvera boluje od nerazumljivosti, jer sadre hrpedetalja bez preglednog i saetog objanjenja cjelovitog koncepta (a esto i namjene) softvera, pa se od stabala nevidi uma.

    Kad je rije o Visual basic-u 6, odnosno o Microsoftovom MSDN sustavu pomoi i uputa koga on koristi, tustvarno nema mjesta prigovoru o nedovoljnom opsegu uputa, jer MSDN je ogroman. No tu se uz engleski jezikjavlja drugi problem: obini smrtnik sigurno nee utroiti nekoliko mjeseci (ili godina ?) za studiranje ovogglomaznog HELP sistema, ne bi li izvukao odgovor na ponekad sasvim jednostavno pitanje. Te su uputepoetniku praktiki sasvim beskorisne. Svaki odgovor na pitanje koje postavite, otvara najmanje pet novih pitanjabez kojih ne razumijete odgovor. Za razliku od toga, VB2008 Express Edition ima sasvim prikladan i razumljiv

    sustav pomoi, ak sa video tutorijalom, istina na engleskom jeziku.

    Kad je rije o domaim uputama, naalost mnogi nai autori ne govore hrvatski, nego ga izmiljaju, pa je esto ikorisnicima koji ne govore engleski, pametnije da se dre izvornika nego da meditiraju o novohrvatskilokaliziranim terminima ili prijevodima naredbi, a upute da i ne spominjemo. S jedne strane svi nastoje izmislitinovu rije ak i za ve uvrijeene pojmove, pa tako ono to je za jednog autora "klizna traka", za drugog je"pominik", a za treega "kliznik". Mjesto "hardver" za koga ve i mala djeca znaju to znai, moramo govoriti"ovrsje" s pet suglasnika zajedno, ali zato u udbeniku zadravamo "Good-bye, cruel world", kao da se ne moerei "zbogom okrutni svijete", tako da zbunjenom poetniku jo vie zakompliciramo ivot neprevedenim

    primjedbama i objanjenjima u ispisu kda, koje ne utjeu na program. A kd je poetniku i bez te engleske"beletristike" dovoljan bauk.

    S obzirom da je za izvrenje pojedinih sloenijih ili manje uestalih radnji, verzija Visual Basica VBA (VisualBasic for Applications) ugraena i u druge najee koritene softverske alate (npr. u Microsoft-ov WORD,

    EXCEL, ACCESS, ali i druge), prije ili kasnije ambiciozniji laici (tj. neinformatiari) suoit e se s potrebompoznavanja barem elementarnog koritenja Visual Basic-a.

    To su razlozi, to sam se, kao poetnik u Visual basic-u upustio u njegovo objanjavanje. Ima to i svoje dobrestrane! Iz svjeeg vlastitog iskustva znam, to mi je pojelo dane razjanjavanja onoga to je su autori propustiliobjasniti u dvije. tri reenice, priajui istovremeno nairoko o trivijalnim, samo po sebi razumljivim detaljimatipa "kliknite lijevom tipkom mia na OK".

    Kad budete pisali upute za koritenje Vaih aplikacija, imajte na umu, da ih itaju ljudi koji nemaju Vaeraunalno znanje, ni ugraen novohrvatsko-hrvatski rjenik raunalnih pojmova u glavi.

    Domai ekspertni autori softverskih prirunika (gdje su ?) i uputa mi mogu zamjeriti to se kao autsajderuputam u ovo, ali tek nakon to napiu (a ne djelomice prevedu) po jedan stvarno dobar besplatan prirunik.

    Razumije se da prikaz od pedesetak stranica ne moe biti jednako detaljan kao knjiga od 900 stranica.Prvenstvena je namjena ovog prikaza da objasni vanije pojmove i generalnu koncepciju onog dijela Visualbasica, koji se bavi stvaranjem samostalnih .EXE aplikacija, to e Vam olakati koritenje izvornih uputa idetaljnijih prirunika koji obrauju razne sustave za rad s bazama podataka.

    S obzirom na sve to je reeno, jasno Vam je da Vas ovaj napis treba uvesti samo u osnove Visual Basica, a tkoeli u tome briljirati, morat e se dohvatiti hrpe debljih knjiga. No iza ovog poetnikog tiva, lake e ihsavladati.Ako se sudbina sloi, s vremenom e ovaj prikaz moda biti doraen i osuvremenjen, stoga su Vae primjedbe izamjerke dobrodole, kako na ovaj, tako i na ostale na naem web-sjeditu objavljene lanke. Posebno molimiskusne hakere da me iskritiziraju, pa emo tako pomoi onima koji stiu iza nas, da zajednicu "ovisnika treevrste", usmjerimo na korisne zanimacije.

    No, 'ajmo mi na ljaku !

  • 8/3/2019 Elementarni Visual Basic

    4/55

    4 / 4

    TO SADRE OVE UPUTE ?

    Nemojmo se zavaravati, rad s bazama podataka ne spada u trivijalne raunalne vjetine, aposebno to nisu aplikacije koje obrauju baze podataka disponirane na udaljenim lokacijama. Nemoemo stoga obeati da ete nakon itanja ovih uputa odmah biti u stanju kreirati sofisticiranuEXE aplikaciju, koja e besprijekorno razmjenjivati podatke i multimedijalne sadraje puteminterneta, odnosno putem Vaih web-stranica No, i najdui put poinje s prvim korakom, pa i ovaj

    prikaz treba shvatiti kao prvi korak u razumijevanju opirnije i detaljnije literature ove vrste..

    Objasnit emo kratko to je i emu slui Visual Basic, te koje su njegove vanije sastavnice.Prikazat emo kako izgleda njegovo suelje ("upravljaki okvir") koje koristimo za izradu aplikacija,te kako izgledaju i kako se izrauju obrasci ekranski "formulari" koje koristimo za unos i itanje

    podataka iz ciljane baze podataka, koje elemente sadri, to su "kontrole" i kako se one veu napolja izvornih tabela obraivane baze podataka.

    Da bismo naime pristupili nekoj bazi podataka, Visual Basic moramo na nju povezati. Nauit emokako se to radi uz pomo odgovarajue elije koju zovemo "navigacijska kontrola". Usput, pokazatemo kako u tako povezanu bazu podataka unositi ili iz nje iitavati podatke uz pomo obrazaca.Pri tome se detaljno objanjava kako se vezati na postojee MS ACCESS baze podataka kao i na

    EXCEL-ove tabele, koje najee rabe korisnici koji se ne slue nekim DataBase programom.

    Objasnit e se pojam relacijskih baza podataka, te vrste skupova podataka koje izvlaimo izizvornih tabela (modele pristupa podacima) i njihove karakteristike, kao i pojam tzv. "objekata"koji se pri tome koriste. Objasnit emo da se programiranje svodi na definiranje dogaaja (koji sunad objektima mogui tijekom obrade) i definiranje potprograma tzv. "procedura", kojimaaplikacija treba odgovoriti na te dogaaje. Prikazat e se suelje za pisanje procedura i nainnjihovog kreiranja, te osnove pisanja kda kojim se definiraju procedure.U kratkim crtama osvrnut emo se na obradu podataka ukljuivo manipuliranje sa znakovnimvarijablama, te prikazati vrste i nain koritenja logikih odluka, koje su "skretniari" tijeka obradesvake raunalne aplikacije.Nauit emo i kako se uz pomo podatkovnog okruenja, tzv. "Data Environment"-a ( ukljuenog u

    Visual Basic 6 i novije) kreiraju izvjetaji koje moemo pregledavati na ekranu ili otisnuti na papir.Zatim emo upoznati Visdata program (koji se isporuuje u sklopu Visual Basic-a 6 i novijih ) za

    pristup podacima, kao efikasno sredstvo za stvaranje i auriranje baza podataka, te osnovnenaredbe SQL univerzalnog jezika za pristp podacima, kojim emo koristei Visdata biti u stanjuitati, aurirati i stvarati tabele i baze podataka.

    Tijek upoznavanja Visual Basica popraen je i jednostavnijim primjerom zbog zornijeg prikazaopih pravila i sintaksi, koji korisniku treba posluiti kao putokaz pri izradi vlastite aplikacije.

    Upute se (izuzev u opisu suelja) oslanjaju na verziju Visual Basic-a 6, kao prvu verziju koja "zna"koristiti prikazani Microsoft-ov "Data Reporter " za izadu izvjetaja, te "Visdata" program putemkoga se Visual Basic koristi SQL-om. VB6 je takoer verzija kompatibilna sa EXCEL-om 9.0 i sa

    ACCESS-om 7.0, budui da se jo mnogi korisnici slue verzijama MS OFFICE-a u kojima su teverzije ACCESSa i EXCELa ugraene ili je u njih mogua konverzija. Iako danas postoji i verzijaVB 2008, pa i Visual Basic-a 2010, objanjenja u nastavku vae i za korisnike tih novijih verzija.

    Nakon upoznavanja elementarnog Visual Basic-a putem ovih uputa, korisnici e lake savladati idruge baze podataka ili podvrste SQL-a, od kojih su neke posebno prikladne za poetnike. Takva je

    primjerice SQLite Expert personal (ima i besplatnu verziju), iji je najvei nedostatak to uuputama ne objanjava brojne bitne pojmove, od kojih su mnogi objanjeni u ovom "alabakteru".

    Na kraju dodana objanjenja vezana uz viekorisniki rad i razne modele za pristup udaljenimpodacima vie su pojmovnik nego uputa za konkretnu uporabu. Meutim, praktini pristuppodacima, detaljno je objanjen u poglavlju o Visdata programu i Data Environment Manageru, koji

    se isporuuju u sklopu Visual Basic-a i dostatan je za kreiranje i rad s jednostavnijim bazamapodataka, te za preuzimanje i koritenje podataka iz postojeih tabela ACCESS-a, EXCEL-a i dr.to e snalaljivijim korisnicima omoguiti da npr. svoje postojee aplikacije "prebace" u VisualBasic i kompajliraju, tj. prevedu u EXE oblik, koji se onda moe koristiti na svakom raunalu bez

    posebnih programa za baze podataka.

  • 8/3/2019 Elementarni Visual Basic

    5/55

    5 / 5

    TO JE VISUAL BASIC ?

    Ako Vas zanima Visual basic (piimo ga skraeno VB), onda znate emu slui, pa skratimo to najednu reenicu. VB je jedan od najpopularnijih generatora aplikacija, koje trebamo za stvaranje,obradu i auriranje podataka, organiziranih u jednu ili vie meuzavisnih tabela, koje zbogmeuzavisnosti podataka u njima zovemo relacijskim bazama podataka.

    Primjer: Kadrovska evidencija proizvodnog poduzea sadravat e: 1. adresar zaposlenika s njihovim osobnim podacima,

    kvalifikacijama i podacima o stau i dr, 2. popis platnih razreda ili kategorija zaposlenika sa iznosima ili bodovanjem plaa,3. popis pogona, ureda, uprave i predstavnitava tvrtke, 4. popis potanskih brojeva potrebnih za adresiranje i dr. a te sutabele izrazito meusobno zavisne (potanski broj zavisi o mjestu prebivalita iz adresara zaposlenika itd.). Uviate, da je za

    preporuku prije utravanja u Visual basic razmisliti o tome koji Vam podaci i tabele trebaju i kako ih je najbolje organiziratida postignete Va jasno definiran cilj.Pomou Visual basica dakle za razliite specifine potrebe izraujemo raunalne programe, kojislue za stvaranje i auriranje relacijskih baza podataka i rukovanje (kae se i "upravljanje") snjima. Za razliku od MS ACCESSA koji ima slinu namjenu, dovreni projekti Visual basica saekstenzijom .VBP se na zahtjev kompajliraju, tj. VB ih automatski prevodi u datoteke .EXE tipa,koje se mogu izvoditi na svakom raunalu, bez nekog posebnog programa za rad s bazama

    podataka.VB aplikacija se pri izradi i pri koritenju mora na neki nain vezati na bazu podataka kojomupravlja. Prilikom izrade aplikacije, VB moe i sam kreirati bazu podataka uz pomo u VB6

    ugraenog Visual Data Manager-a, ili koristiti postojee baze podataka podranih vrsta (EXCEL-ove .XLS datoteke, ACCESS-ove .MDB datoteke, dBase, Paradox, FoxPro, a u novijim verzijama idruge). Koristimo li postojee baze podataka novijih verzija, one se moraju (u nazad) konvertiratina verzije koje instalirana verzija VB-a podrava, u protivnom e pokuaj spajanja VB-a na bazurezultirati grekom: "Unrecogniced database format". Uitajmo kopiju postojee baze podatakau izvornom programu i spremimo sa Save As, ali u odgovarajuem starijem formatu koga na VB

    podrava, pa emo VB vezati na tu, konvertiranu verziju, a izvornik emo naravno sauvati uneizmijenjenom obliku. Slino tome, uz sam VB6, na raunalo trebamo instalirati ipripadajuuverziju MSDN Library-a, jer bez toga nee funkcionirati VB-ov sustav pomoi i uputa (instaliranima pola GB!). Korisnici VB2008 Express Edition-a, trebaju instalirati NET FRAMEWORK 3, kojiomoguuje koritenje razliitih produkata i baza podataka za izradu aplikacija u VB-u 2008.

    Ako Visual basic 6 ili MSDN skidate sa Interneta, vjerovatno e stii u dvije arhive (za dva CD-a). Komanda "Open(oznaeni) folder" iz izbornika programa za preuzimanje, svaku e prikazati kao skup npr. RAR arhiva. Oznaite ih sve inaredbom "Extract files" ekstraktirajte svaki od dva skupa posebno. Rezultat e biti dvije image datoteka s nastavkom .ISO,koje na uobiajeni nainprite svaku na svoj CD (programom NERO ili IMGBURN). Slijedi uobiajena instalacije sa ta dvaCD-a. (opisan je postupak za stariju verziju VB 6).

    Visual Basic omoguuje izradu nekoliko tipova programa, odnosno programskih sastavnica:

    Standard EXE Samostalni programi s nastavkom .EXE ActiveX DLL potprogrami koji se koriste kao sastavni dijelovi samostalnih programa ActiveX Exe EXE programi u funkciji OLE posluitelja za razmjenu informacija ActiveX Control upotrebljivo u drugim programima, sadri suelje i potprograme, a ekstenzija

    (nastavak imena) mu je OCX ActiveX Document DLL s ekstenzijom DLL za pomo pri pokretanju programa na Internetu ActiveX Document EXE za prikaz obrazaca Visual Basic-a na Internet-pretraivau (Browseru) ADDIN dodatni (add-in) programi za rad s korisnikim sueljem Visual Basic-a Visual Basic Applocation Wizard vodi za kreiranje kostura samostalnog EXE programa

    Nas zanima izrada samostalnog programa s nastavkom EXE, dakle tip Standard EXE.

    Visual Basic primjenjuje tzv. "objektno programiranje ", tj. koristi tzv. objekte, (elementepoput okviria za upis podataka ili teksta, okvira za umetanje slika, ekranske dugmadi, elija kojeotvaraju menu-izbornike i dr.), koje programer na prikladan nain organizira i razmjeta na osnovevrste sastavnica Visual Basic-a (poput drugih "generatora aplikacija" kao to su Access, Delphi i dr.)

    Najvanije sastavnice VB-a su: Korisnika sueljaza komuniciranje korisnika s raunalom, tj. upravljanje obradom Obrazacili "ekranski formular" aplikacije (engleski Form) za unos i pregled podataka izvjetajpripremljen za ekranski prikaz rezultata ili ispis na papir (engleskiReport) Baze podataka uz to sadre iTabele (Table) u pravilu vezane sloenim meuzavisnostima.

  • 8/3/2019 Elementarni Visual Basic

    6/55

    6 / 6

    ESTO KORITENI POJMOVI

    Da bi tekst u nastavku svima bio razumljiv, na poetku emo saeto objasniti esto koritenepojmove. Mnogi su poznavateljima ACCESS-a poznati od prije, ali ipak ih proitajte. Uz nae,naznaeni su i engleski pojmovi, a poneki engleski pojam naveden je samo u izvornom obliku.

    Dizajn-mod (Design time) vrijeme kad je Visual Basic (VB) u reimu kreiranja objekata i pisanja

    kda. Program tada nije u funkciji.

    Radni reim (Run time) vrijeme kad je VB u radnom reimu, kad su kontrole i kdovi ufunkciji. Ono nastupa aktiviranjem Run > Startnaredbi izbornika.

    Relacijska baza podataka skup podataka koji su na izvjestan nain meusobno zavisni,najee organiziranih u nekoliko tabela. Takav skup gradi se odslijedeih elemenata:

    Polja s podacima (Fields) U tabelama, polja su nazivi kolona. Svakom polju u tabeli pripada iKontrole (Control) odgovarajuaelija (tj. jedna od kontrola) za upis ili prikaz te

    vrste podataka u obrascu. Kontrola sadri najmanji element baze,

    odnosno samo jedan podatak (npr. prezime, iznos rauna i sl), apolje skup istovrsnih podataka iz svih zapisa (Detaljnije str 7-8)

    Zapisi(Records ) U tabelarnom obliku to su redovi tabele. Zapis je skup podataka kojise odnose na jedan subjekt (osobu, tvrtku, proizvod itd.) U jednom

    zapisu sva polja tabele javljaju se samo jednom.

    Tabele s podacima (Table) Podaci se upisuju u tabele, u kojima redovi sadre zapise, a koloneskup podataka koje pripadaju istom polju, odnosno skup istovrsnih

    podataka iz svih zapisa. Baza podataka moe sadravati nekoliko iliak mnogo tabela. U pravilu, one su na neki nain meuovisne, patakvu bazu podataka nazivamo relacijskom.

    Kljuevi (Key) su polja koja jednoznano identificiraju zapise u tabelama. U svakojtabeli moe se definirati samo jedanprimarni klju, tj. samo

    Primarni klju(Primary key) jedno polje se moe proglasiti primarnim kljuem. Meutim, u(jedinstveni identifikator) cilju definiranja veze s drugim tabelama, svaka tabela moe

    sadravati i vie tuih ili "stranih kljueva" (foreign key).Strani klju (Foreign key) Tabela ne smije sadravati dva ili vie zapisa s istim primarnim

    kljuem, odnosnoprimarni klju(dakle i zapis s tim kljuem) usvakoj tabelimora biti jedinstven, odnosno unikatan. Za razlikuod toga,strani (ili sekundarni) kljuevi ne smiju biti unikatni(ista osoba moe primjerice kupiti nekoliko puta artikle u kakvojtrgovini, pa se u popisu rauna sekundarni klju osobe (npr.ID_osobe) javlja mnogo puta).Povezivanje zapisa iz raznih tabela uz pomo kljueva se ostvarujetako, to se tui klju u glavnoj tabeli povezuje na primarni kljudruge tabele, pa se na glavnu tabelu veu samo oni zapisi iz drugetabele iji primarni kljuevi imaju jednaku vrijednost kaoodgovarajui tui klju u glavnoj tabeli.

    U veim bazama podataka nisu rijetkost osobe s istimprezimenom i imenom, ili naselja istog imena i sl. pa takva polja nijedobro koristiti za identifikaciju zapisa. Zbog toga ih neemo koristiti

    za primarni klju, nego emo tu ast prepustiti jedinstvenomidentifikatoru, koji uobiajeno poinje sa ID (npr. ID_osobe).Najee je to automatski dodijeljen brojani podatak (u VB-u tiptakvog polja je COUNTER sAutoIncrFieldkarakteristikom, dok su u

    ACCESS-ovim tabelama to polja tipaAUTONUMBER ).To znai da polje sadri jednostavno redni broj, koga VB sam automatski dodjeljuje prilikom upisa

    prvog znaka u novi zapis. Vrijednost polja tipa Counter ne smije se mijenjatijer pokuajizmjene moe uzrokovati gubitak zapisa, a svakako e proizvesti greku.

  • 8/3/2019 Elementarni Visual Basic

    7/55

    7 / 7

    Inae, pitanje je koliko je dobro stavljati dva podatka u isto polje (npr.prezime i ime), pa e mnogi programeri to izbjegavati zbog problemasortiranja, mogunosti razliitog unosa od strane raznih korisnika itd.

    Qualifier (pointer) strukturni elementi baze podataka koji se koriste za usmjeravanje vezaod jednih prema drugim, na izvjestan nain vezanim tabelama baze

    podataka. Za ustrojstvo baze podataka vano je razluiti nekoliko vrsti

    ovisnosti meu tabelama:

    Jedan prema jedan takav se odnos uspostavlja izmeu jednog retka glavne tabele i jednog(One to One) povezanog zapisa u nekoj drugoj tabeli. Primjerice klju ID_osobe u

    zdravstvenom kartonu osoba, vezuje se za primarni klju u adresarupacijenata. Dakle jedna vrijednost kljua u zdravstvenoj evidenciji,vee se samo za jednu (i to identinu) vrijednost istovrsnog kljua udrugoj tabeli. Zdravstvena situacija iz jednog kartona, ne moe sevezati na nekoliko razliitih osoba, a takoer jednoj osobi pripada samo

    jedan zdravstveni karton, tj. kljuevi ovih tabela odnose se kao jedanprema jedan. Podaci iz tako vezanih tabela, u naelu bi se moglismjestiti unutar iste tabele, no esto postoje praktini razlozi za

    njihovo razvajanje u dvije ili vie tabela.Jedan prema mnogima To je odnos pri kome jedan zapis iz jedne tabele moe biti "sparen"(One to many) sa vie zapisa u drugoj tabeli, ali ne i obratno. Primjerice jedan grad iz

    tabele potanskih brojeva nai e se u adresama mnogih poduzea upopisu obrtnika, ali jedan obrtnik moe imati sjedite samo u jednomgradu. Strana "vie" oznaava se sa .

    Mnogi prema mnogima Primjer: U katalogu internetske prodaje, jedna trgovina moe(many to many) nuditi veliki broj proizvoda iz popisa proizvoda. Ali isto tako, jedan

    proizvod moe biti isporuen iz velikog broja trgovina. U naelu, bilokoji redak jedne tabele moe se vezati na bilo koji redak druge.

    Referencijalni integritet Ugradnjom tuih kljueva u tabelu, odnos meu tabelama postajesloeniji. Naime svaki pokuaj upisa vrijednosti tueg kljua koji nemaidentinog para u primarnom kljuu druge tabele rezultira grekom. Dotakvih greaka moe doi posebno naknadnim prepravljanjem,ispravcima ili brisanjima u tabelama, pa takvi nepaljivi postupci moguuzrokovati blokiranje baze podataka koja je do tada ispravno radila.Primjer je takvih nezgoda naknadno brisanje dvostrukog unosa

    primjerice iste osobe. Brisanjem dupliciranog unosa u glavnoj tabeli,ostaju bez para strani kljuevi u vezanim tabelama, ime je naruenreferencijalni integritet baze podataka pa se ona moe zablokirati uziskazivanje greke. Otklanjanje takvih greaka moe biti vrlo teko.

    MODELI PRISTUPA PODACIMA

    DAO 3.51 object Libraryje Microsoft-ov defaultni (pretpostavljeni) model za pristup podacimaza povezivanje unosa sa obrascima u Windows dijalozima, optimiziranza pristup podacima preko lokalne mree. U cilju npr. kreiranja VBDataset-objekata, novom projektu treba dodati DAO 3.51 objectLibrary opcijama izbornika:Project > References > kvaica na DAO 3.51 object LibraryVB moe koristiti i neke druge objektne module (RDO za RDBMS bazeili ADO za pristup odacima preko intranet i Internet veza).

    MSDN Library U cilju omoguenja komuniciranja Visual basica sa drugim produktima i

    razliitim bazama podataka, te osiguranja sustava pomoi i uputa uz toteba instalirati iMSDN Library for Visual Studio odgovarajueverzije, tj. opsenu kolekciju uputa za programerske postupke i izvormnogobrojnih podataka, pomonih programa i datoteka, bez koji senapredniji programeri ne uputaju u razvoj sloenijih aplikacija.

  • 8/3/2019 Elementarni Visual Basic

    8/55

    8 / 8

    Record-orijentirani sistemi baza koriste model pristupa podacima po redovima. Obrada serealizira unutar petlje koja se ponavlja sve dok nije obraen zadnjiredak, a sadri: isitavanje podataka iz aktivnog retka, raunsku ililogiku ili drugu obradu ciljanog podatka, te zapisivanje obraenogretka. Ako nije dosegnut kraj datoteke, program prelazi na slijedeiredak i ponavlja subrutinu. Takav pristup podacima imaju tradicionalne

    vrste baza podataka kao dBase, Paradox i sl.

    Dataset-orijentirani sistemi baza imaju napredniji model pristupa. Koriste indekse koji pomauodravanju integriteta baze podataka, ubrzavaju lociranje zapisa utabelama, pa i procese, te omoguuju pristup podacima po eljenomredosljedu. Operacije se ne izvode nad redovima, nego se obraujuodabrani setovi podataka, najee naredbama SQL jezika poput:

    UPDATEImeTabeleSETmatematski ili logiki izrazWHEREImebaze.imePolja= 'XXXX'

    UPDATE selektira set podataka za obradu slino kljuu, a zatim slijediobrada svih ciljanih podataka iz seta temeljem jedne SET naredbe.Ovaj model primjenjuju SQL baze, Microsoft ACCESS i drugesuvremenije baze podataka, pa i Visual basic.

    Ograniite set podataka Brzina izvrenja dataset-orijentiranih baza naglo pada s opsegompodataka odabranih za obradu, pa je vano dobro selektirati samo onugrupu zapisa koja treba doivjeti promjenu. Takoer, u dataset-orjeniranim bazama treba izbjegavati record-orijentirane procedure,

    jer su (pogotovo Dynaset i Snapshot) data-objekti prilagoeni za radsa setovima podataka, a ne s pojedinanim zapisima.

    Objekti recordset-podataka Razlikujemo tri tipa objekata recordset-podataka:

    Dynaset tip Table tip i Snapshot tip

    Dynaset objekti Dynaset recordset je virtualna tabela privremenih kljueva u glavnojmemoriji raunala, tj. RAM-u, koja ukazuje na dio ili kompletan set

    zapisa iz stvarne ili vie stvarnih tabela. Premjetajui se po virtualnojDynaset-tabeli, VB poziva samo onaj zapis iz stvarne tabele na kogaukazuje trenutni klju. Na taj nain tedi se memorijski prostor iubrzava obrada.Dynaset moe korespondirati s podacima iz vie tabela. To je

    pretpostavljeni (defaultni) tip objekta recordset-baza. Najprikladnijije za auriranje podataka, uz najmanje memorijske zahtjeve.Jedino Dynaset omoguuje auriranje baza povezanih ODBC vezama.Takoer jedino Dynaset omoguuje kreiranje clona ili sekundarnogDynaseta primjerice za preureivanje zapisa za prikaz na ekranu.

    Dynaset osigurava dinamikipristup dijelu ili svim tabelamarecordset-baze podataka. To znai, da e u sluaju promjene podatakau jednoj ili vie stvarnih tabela, i u dynaset tabeli promjena bitiaurirana, bilo pomakom na navigacijskoj tipki ili uporabom Refreshnaredbe. Pomak navigacijskom tipkom aurira samo trenutni

    zapis.

    Pri istovremenoj viekorisnikoj obradi istog podatka, mogue sugreke, pa e VB odbiti spremanje promjene zapisa kojega jedrugi korisnik ve promijenio tijekom istovremenog pristupaistom zapisu. To je mogue i ako isti korisnik ponovo ispravlja svojnepohranjeni ispravak (dobiva zabranu promjene vlastitih podataka).

  • 8/3/2019 Elementarni Visual Basic

    9/55

    9 / 9

    Primjenom opcija FilteriSort, Dynaset se moe koristiti za ureenjepodataka na monitoru, a uporabom Findmetode mogue jepronalaenje ciljanog zapisa provjerom pojedinanih zapisa u skupu, alinije mogua tzv. Seek pretraga. Bookmarkpamti poziciju zapisa s koje

    je pretraivanje krenulo i omoguuje da se korisnik iza pretrage vrati naprijanji zapis.

    Nain kreiranja i inicijaliziranja recordset-objekata, koritenjebookmarka i dr. bit e objanjeni nakon upoznavanja naina kreiranjanovog Visual Basic projekta i njegovog povezivanja sa ciljanom bazom

    podataka.

    Table objekti VB tabelarni tip Recordset objekta direktno otvara stvarne tabele baze suvidom u trenutno stanje zapisa. Ako koji korisnik u viekorisnikomsustavu izvri neku promjenu izmijeni ili brie zapis i sl, svi korisnicikoji su istovremeno prikljueni na bazu putem Table tipa objekta, vidjete izvrenu promjenu. Prednost je ovog tipa objekta pred Dynaset-om imogunost tzv. Seek pretraivanja, te mogunost definiranja indeksa.Takoer, ovaj tip Recordset-objekta odlikuje se najveom brzinom

    obrade i prikladan je za brzo pretraivanje velikih tabela.S druge strane, Table objekt se ne moe inicijalizirati Select naredbom,ni kombinirati vie tabela zbog jedinstvenog prikaza baze podataka.Nije mogue ni koritenje Bookmark-a, Filtera, ni sortiranja, niti

    pristupanje ODBC izvorima podataka putem Table tipa Recordset-objekta.

    Snapshot objekti Snapshot Recordset-objektje u sutinistatina kopija izvornih podatakanakorisnikovom raunalu. Gotovo su identini Dynasetu, uz dvije bitnerazlike:

    itavu tabelu skladite u memoriji raunala, a ako je nedovoljna i nalokalnom disku (to kod vrlo velikih tabela moe potpuno popunitimemoriju i lokalni disk raunala).

    To su statini, read-only objekti, dakle ne mogu se aurirati. Drugimrijeima nakon kreiranja snapshot-a naknadne izmjene tabela nee seodraziti u postojeem snapshot-u, dakle trebat e kreirati novi.

    Snapshot je prikladan za male setove statinih podataka kojima seesto pristupa. Ako nisu glomazni, dobri su za prikaz raunskihizvjetaja i grafikona. Read-only karakteristika moe biti i prednost,kad se elimo osigurati protiv naknadne promjene podataka u kakvomizvjetaju.

    Data Control Database objekti omoguuju izlistavanje informacija o svim tabelama u bazipodataka, svim indeksima i svim poljima u svakoj tabeli, kao iinformacije o tipovima polja i parametrima indeksa.

    Microsoft jet engine je naziv koji se koristi za raunalo koje zahtijeva podatke uviekorisnikom sustavu.

    SueljeVisual basic je je tzv. "objektno orijentirani" produkt, to znai dase rad u njemu odvija putem ekranskih okvira sa ucrtanim objektima tzv. "kontrolama" - to zajedno zovemosueljem.Izrada aplikacija u takvim produktima znatno je pojednostavljena, jerse suelje slae slaganjem unaprijed pripremljenih objekata po

    pravokutnoj podlozi suelja, koju moemo proizvoljno dimenzionirati,bojiti, opremiti slikovnom podlogom i dr. Ne moramo se optereivatinainom na koji funkcioniraju ovi objekti, na nama je samo da ihinventivno odaberemo i rasporedimo, te definiramo kako e onireagirati u pojedinim situacijama, tj. kad nastupe planirani dogaaji.

    Suelja i obrasci jednakosu graeni, samo sueljaslue za upravljanje saaplikacijama, dok s"obinim" obrascimaunosimo ili pregledavamoodatke iz baze podataka.

  • 8/3/2019 Elementarni Visual Basic

    10/55

    10 / 10

    POLJA I KONTROLE

    Tipovi polja u VB-u Visual basicraspoznaje slijedee tipova polja:

    VARIANT u VB-upretpostavljeni oblik podatka koji moe prihvatiti razliite vrste podatakaBINARY za podatke u binarnom obliku do 255 bajtovaBOOLEAN pamti samo 0 ili 1 - obino pamti stanje radio-gumba, okviria s kvaicom i sl..

    Oprez ! Polje prihvaa svaki broj razliit od 0 se, ali zapisuje mu se vrijednost 1.BYTE za heksadecimalni broj od 0 do 255. Vei ili negativni brojevi uzrokuju greku.COUNTER automatski read-only broja, esto koriten za pamenje primarnog kljua. Ne

    moe se iskljuiti, obustaviti ili restartati njegovo brojanje, niti je doputeno dakorisnik mijenja automatski generiranu vrijednost COUNTER polja.

    CURRENCY za zapisivanje iznosa u nekoj valuti (14 mjesta lijevo i 4 desno od zareza bez $)DATETIME za datume (lijevo od zareza) i vrijeme kroz dan (desno od zareza)DOUBLE za decimalne brojeve dvostruke preciznosti (tj. s vrlo velikim brojem decimala)GUID za "Globally Unique Identifiers" identifikator AktiveX i daljinskih SQL procedura

    INTEGER za cjelobrojne (pozitivne ili negativne) brojeveLONG cijeli pozitivni i negativni brojevi s velikim brojem cifara (tj. vrlo mali ili veliki)LONGBINARY za OLE objekte (tj. za razmjenu razliitih objekata meu bazama podataka).

    Dvoklik na polje LONGBINARY tipa s upisanim podatkom, automatski pozivaaplikaciju koja e prikazati upisani podatak (npr. aktivirat e foto-preglednikkorisnika i prikazati fotografiju, pri emu polje ustvari uva adresu fotografije).

    MEMO dugaki tekstovi (i do 1,2 GB). Polje se automatski produuje prema tekstu.SINGLE "obini" decimalni brojevi (za razliku od onih s dvostrukom preciznou)TEXTiliSTRINGza tekstualne (od 1 do 255 znakova) ili brojane upise

    Uz to VB prepoznaje i radi i s nekim drugim tipovima podataka koji potjeu iz drugih aplikacija.

    KONTROLE (Control) su objekti razmjeteni na sueljima i obrascima (ustvari i suelja suobrasci, samo slue za upravljanje i podeavanje programa). Kontrole trebamo zaunos podataka u bazu podataka ili prikazivanje podataka iz baze, ili za pokretanje

    pojedinih programskih procedura. Vrste kontrola vidi na str. 11.

    Izbor tipova podataka za kontrole koje VB nudi u suelju za kreiranje obrazaca,neto se razlikuje od gore navedenih tipova polja i sadri one za koje se moedefinirati neki specifini format (npr. oblik pisanja 20.11.09 za datum). To su:

    General (openito oblikovanje podataka) kad se ne zahtijeva posebno formatiranjeNumber za pozitivne i negativne decimalne brojeve sa zadanim brojem decimalaDate za datume u raznim oblicima pisanja (oblici se biraju iz ugraenog popisa)Time za vrijeme u raznim oblicima pisanja (oblici se biraju iz ugraenog popisa)Percentage za procentualne vrjednosti sa zadanim brojem decimalaScientific za brojeve eksponencijalnog oblika x,xxxE+yy sa zadanim brojem decmala

    (vrijednost broja dobiva se pomakom zareza za +yy mjesta u desno ili yy lijevo)Boolean za radio-gumbe (TRUE/FALSE/NULL VALUE)Checkbox za okvirie za kvaicePicture omoguuje upisivanje slika u tabelu ili prikaz upisane slike iz tabele (polje sadri

    adresu slike). Slika dakako mora biti dostupna, tj. postojati na dostupnoj lokaciji.Custom za tekstove s posebnim oblicima upisa (npr. telefonski brojevi: xxx_XXX_XXXX)

    Navigacijska kontrola (Data control) neki doslovno prevode kao Kontrola (baze) podatakaje osobita vrsta kontrole, koja u dizajn-modu (Design time) slui zavezivanje Visual basica odnosno aplikacije na ciljanu tabelu odabrane baze

    podataka, a u radnom reimu (Run time) je koristimo za premjetaj obrades jednog zapisa tabele na drugi.Svakom obrascu pripada jedna navigacijska kontrola. Obrazac moe imativie od jedne navigacijske kontrole, samo ako je u njega ugraen drugiobrazac (subform) sa svojom navigacijskom kontrolom. Unutar kontroleupisano je ime obrasca (iz svojstva Caption) kome kontrola pripada.

    Vanije vrste kontrola s ikonama i imenima prikazuje tabela u nastavku.

  • 8/3/2019 Elementarni Visual Basic

    11/55

    11 / 11

    Suelje i obrasci u objektno orijentiranim aplikacijama mogu koristiti slijedee vrste objekata:PREGLED VANIJIH OBJEKATA

    Sim-bol objekt engleski namjena

    navigacijskakontrola

    Datacontrol

    vee aplikaciju na ciljanu tabelu i bira zapis iz tabele

    tekstni okvir Text Box (elije) za unos / prikaz tekstualnih ili brojanihpodataka

    abc natpis Label tekst koga korisnik gotove aplikacije ne moe mijenjati

    gumb ButtonEkranska tipka za pokretanje pojedinih radnji ili

    procedura

    slika Picture Slike koje korisnik ne moe mijenjati

    okvir Frame Okviri za uklapanje slikovnih sadraja koj unosi korisnik

    Izborna lista Menu list Izborna lista za odabir opcija (otvara se klikom na eliju)

    Kombo-elija Combo Box Kombinirani okvir- elija koja otvara izbornu listu saPotvrdniokviri

    chekbox Okviri za kvaicu kojom se prihvaa ponuena opcija

    Radio-gumbOptionbutton

    Krui za izbor samo jedne od ponuenih opcija iz grupe

    okvir radio-gumba

    Frame okvir za grupiranje radio-gumba

    lik shape Geometrijski oblici (elipsa, pravokutnik, trokut i dr.)

    crta line linija

    Vertikalnikliza Verticalscrollbar Za vertikalno premjetanje sadraja unutar okviraHorizontalnikliza

    Horizontalscrollbar

    Za horizontalno premjetanje sadraja unutar okvira

    izbornik menu Izbornik izbor menu-naredbi s rijeima ili ikonama

    pretraiva explorerPriruni pretraiva diska za izbor diskovnog pogona,mapa (direktorija foldera) i datoteka

    Internetpretraiva

    webBrowser (u VB2008) Internet - pretraiva

    Brojani podaci se upisuju u tekstualne okvire uz podeavanje svojstva DataFormatna jedan od

    tipova brojanih podataka sa prethodne stranice. Ako korisnik ne definira tip, VB koristi VARIANT.Razmjena podataka izmeu tabela i obrazaca mogua je samo u tekstualnom obliku.Dodatnim postupcima u obrasce i suelja mogue je uklopiti i druge objekte (npr.kalendar,grafikone, tekst-editore i dr.)

    KOMBO ELIJE su elije koje klikom nauz eliju otvaraju ugraenu izbornu listu

    Slubena imena su definirana kao rezervirane slubene rijei Visual Basica, koje korisnik ne moekoristiti za proizvoljna imenovanja drugih objekata. Koriste se unutar kda za opis dogaaja i

    procedura.

    DOGAAJI I PROCEDURE

    Visual Basic je softverski alat kojim je mogue programirati, tj, propisati ponaanje procesaraunalne obrade uz pomo programskih procedura (subrutina), kojima sistem odgovara na

    pojedine dogaaje, mogue pri obradi ili komuniciranju korisnika s raunalom.

  • 8/3/2019 Elementarni Visual Basic

    12/55

    12 / 12

    DOGAAJI

    No, to su uope dogaaji ? Moemo rei da dogaajem smatramo svaku promjenu stanjaobjekata ili upravljakog ureaja kojim se na njih utjee (tipke tipkovnice ili mia i sl.) Slijedeatabela daje pregled moguih dogaaja i nihova slubena imena.

    DOGAAJ: NASUPA:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    Activate kad se aktivira prozor (obrasca i sl.)Change pri svakoj promjeni sadraja: kombiniranog okvira

    izbora particije ili pogonaizbora direktorija (mape, foldera)kliznih trakanatpisaokvira za slike ili tekst i dr.

    Clik prilikom klika miemDblClik prilikom dvoklika miemDeactivate kad se prozor (npr. obrasca) deaktiviraDragDrop pritisnuta mija tipka s kursorom nad objektom

    DragOver pri pomicanju mia iznad objektaDropDown pri otvaranju popisa s izbornim stavkamaGetFocus pri aktiviranju objekta miem ili TAB tipkom (objekt mijenja boju)KeyDown kad se stisne tipka na tipkovniciKeyPress kad se pritisne i pusti tipka ili kombinacija tipki s CTRL ili ALT tipkamaKeyUp pri otputanju tipkeLostFocus pri gubitku fokusa objekta (premjetajem na drugi objekt)MouseDown pritisnuta tipka miaMouseMove pri pomicanju miaMouseUp pri otputanju mije tipke

    Na slijedee etiri stranice nalazi se "umetak" opis naina otvaranja novog projekta u Visual-Basic 2008 Express Edition-u, besplatnoj verziji novije (i prikladnije) izvedbe Visual Basic-a.

    Budui da se novo suelje dosta razlikuje od suelja danas ve zastarjelog VB-6 za koji je pisanostatak sadraja, ovo je prva prilagodba sadraja savremenijim verzijama. Ostatak sadrajanajveim dijelom ostaje aktualan i u novijim verzijama, pa za sada nije mijenjan. Izgled sueljaVB-6 dodan je ipak na posljednjoj stranici za one koji ostaju vjerni estici.

    Iako poetnicima to ne znai puno, informativno navodimo samo neke od daljnjih noviteta koje uvodi Visual Basic 2008:

    LINQ Language-Integrated Query (Jezino-integrirani upit)

    je novi skup za proirenje mogunosti stvaranja upita (Query) u Visual Basicu 2008. Moe se koristiti sa Net.Framework

    kolekcijom, SQL bazama podataka, ADO.NET data-setovima i XML dokumentima

    O/R designer (Object Relational Designer)

    pomae projektantima u kreiranju i editiranjuLINO to SQL klasa koje veu aplikaciju na bazu podataka. Ove klase posredujuizmeu objekata dostupnih baza podataka i upita u kdu korisnika. Izuzetno, ne podravaju SQL Server Compact 3,5 bazepodataka, koje treba rjeavati uz pomo SQL Server Express-a (vidi: How to: Install Sample Databases).

    Microsoft SQL Server Compact 3.5

    je kompaktna baza podataka koja omoguuje koritenje lokalnih podataka u aplikacijama kreiranih uz pomo Visual BasicExpress-a.

    Jezine pogodnosti

    odnose se na nekoliko novih mogunosti u Visual Basicu 2008, koje pojednostavljuju pisanje kda (npr. kreiranje objekatanepoznatog tipa (Anonymus Types), deklariranje varijabli bez navoenja tipa podatka, kreiranje instanci anonimnog tipa,mogunost specificiranja klauzula poput Select, From, Order By i Where direktno u kdu umjesto koritenja SQL-a i drugo)

    Detaljnije: What's New in Visual Basic Express .

    Dopusti li vrijeme, daljnje prilagodbe uputa novijim verzijama VB-a uvrstit e se naknadno.

  • 8/3/2019 Elementarni Visual Basic

    13/55

    13 / 13

    SUELJE VB2008 EXPRESS EDITION-a (IDE)

    Razvijanje Visual Basic projekta odvijat e se u suelju (IDE - integrated development environment-integrirano razvojno okruenje)na slici. Vladate li engleskim jezikom, na raspolaganju su Vamupute i objanjenja, pa i video tutoriali u okviru "Getting Started".

    Visual Basic, pa i verzija VB2008 je objektno orijentiran produkt, to znai da se obrasci (Form)kreiraju postavom gotovih objekata na radnu povrinu. Pojedine objekte nazivamo i kontrolama(control), budui da na neki nain upravljaju obradom. Pod "objektima" podrazumijevamo elije zaunos tekstualnih i brojanih podataka (Textbox), izborne elemente, te razliitu dugmadza

    pokretanje pojedinih potprograma (procedura) pisanih u Visual Basickdu, odnosno programskomili nekom skriptnom jeziku (skripta je takoer neke vrste programske rutine).Dugme koje treba svaki obrazac je dugme SUBMIT, kojim se zavrava unos i inicira dostava

    podataka iz obrasca na obradu ili unosi u bazu podataka vezanu na aplikaciju. Vana je i tzv."navigacijska kontrola", tj objekt koji osim izbora zapisa koji e se prikazati na obrascu slui i

    povezivanju aplikacije sa bazom podataka i tabelama koju aplikacija opsluuje.

    Izborni elementi su tzv. "radio-gumbi" ( option-button)za izborsamo jedne od ponuenih

    opcija, "potvrdni okvirii" ( check-box) za izbor jedne ili vie opcija od ponuenog izbora,"kombinirani okviri" ( combo-box) za izbor iz liste opcija i izbornici (menu)organizirani kao tzv. "padajui menu-i" ili izborne trake (toolbar) s naredbama ili ikonama kao navrhu slikom prikazanog suelja. Suelje (interface) je zajedniki naziv za sve navedeno,organizirano u upravljaki panel za kreiranje ili upravljanje sa nekom aplikacijom (programom).

    Posljednji projekti koje smo obraivali

    ajvanije grupe panela pomoi i uputa

    U ovom prostoru VB obavjetava onovitetima iz podruja programiranja iVisual Basic-a

    Radni prozor Visual Basica poziva se opcijama glavnogmenua FILE > NEW PROJECTza kreiranje noveaplikacije, ili FILE > OPEN PROJEKTza otvaranjeostojeeg projekta ili aplikacije.

  • 8/3/2019 Elementarni Visual Basic

    14/55

    14 / 14

    Otvaranje Visual Basic projekta

    Nakon podizanja Visual Basic Express-a i prikaza gornjeg suelja, novi projekt otvaramo kaomjesto smjetaja i organiziranja elemenata budueg programa kako slijedi:

    File > New Project otvara se dijaloki okvir New Project

    Kreirat emo web-pretraiva, odnosno korisnikosuelje korisniku vidljiv panel s kontrolama zaupravljanje web-preglednikom.

    biramo Windows Form s Application > OK. Otvara se podloga budueg obrasca Form1.

    U okvir Solutin Explorer automatski se dodaju svisastavni dijelovi aktivnog projekta, pa e se takododati i novi obrazac s imenom Form1.VB e takoer automatski pretpostaviti ime noveaplikacije "WindowsApplication1".

    Prigodom zatvaranja VB suelja, VB nudimogunost spremanja projekta na disk podproizvoljnim imenom s nastavkom .

    No ime projekta moe se promijeniti i tijekomrada u IDE suelju promjenom parametra Textuokviru Svojstava (Propertis). Svojstva e seodnositi na onaj objekt koji je na obrascu Formoznaen. Za promjenu imena projekta treba bitioznaen vanjski rub obrasca, kao na slici lijevo.

    Obrazac emo kreirati prijenosom objekata izokvira s objektima (Toolbox) na obrazac uz

    pomo mia.

    Ako okvir Toolbox nije prisutan na suelju,naredbe View > Toolboxprikazat e ga slijeve strane suelja. Na isti nain aktiviramo iokvire Solution Explorer i Propertis, ako njihnema na suelju.

  • 8/3/2019 Elementarni Visual Basic

    15/55

    15 / 15

    Da kreiramo web-pretraiva, uz sampretraiva, koji je ve unaprijed pripremljen uToolbox-u verzije VB2008, trebat e nam jotekstualna elija za upis ciljane web-adrese idugme za aktiviranje uitavanja odabranog web-sadraja.

    Zadnja dva objekta smjestit emo u okviri zagrupiranje objekata koji u Toolboxu eka podimenom Panel. Prevucimo ga sa pritisnutomlijevom tipkom mia sa Toolbox-a na vrhobrasca. Na isti nain kreirajmo Textbox iButton (dugme). Miem prikladnodimenzioniramo i premjetamo objekte. Pri tomeVB2008 pomae u poravnanju objekata.

    Preostaje postava samog web-pretraivaa napodlogu obrasca. On je na toolbox-u smjeten

    pod imenom WebbrowserSada malo ureivanja:Oznaimo okviri (Panel) i u svojstvimakliknemo na strelicu Vuz opciju Dock, pa na

    prikazanoj sliici IDE suelja odaberemo gornjupoziciju za Panel s objektima. Potraimo visinu(Hight), u Propertisu, i promijenimo je na 50

    piksela.Zatim oznaimo pretraiva i na isti nain gasmjestimo u sredinji prostor suelja, koga e

    pretraiva popuniti do rubova.

    Ako oznaimo itav obrazac, moemo ga malo ipoveati, pa bi trebao izgledati kao na slici.

    Klikom na Dugme Button1 elimo aktiviratiuitavanje ciljanog web-sadraja, pa za taj objekttreba kreirati odgovarajuu proceduru(programsku rutinu).

    Panel za kreiranje procedure dobit emodvoklikom na ciljani objekt (u naem sluaju nadugme). Prikazat e se okvir za kreiranje

    procedura, sa ve ispisanom prvom i zadnjomnaredbom i kursorom izmeu njih.

    Upiimo naredbeni redak:

    WebBrowser1.Navigate(TextBox1.Text)

    WebBrowser1 je ime objekta (pretraivaa),Navigate je naziv procedure za pretragu, a u

    zagradi je naziv elije u koju e se upisati topretraiva treba uitati.

    Prije toga Dugmetu Button1 ipak dodijelimoprikladniji natpis (npr. OTVORI) i to tako da toupiemo u eliju Textu svojstvima dugmeta.

  • 8/3/2019 Elementarni Visual Basic

    16/55

    16 / 16

    To bi bilo sve ! Na pretraiva je kreiran, treba gasamo provjeriti, i to opcijama

    Debug > Start Debugging iz glavnog menua.

    Internet konekcija dakako treba biti uspostavljena,ako elimo na mreu.

    Gornja naredba prikazat e na obrazac u radnom(Runtime) modu, pa u tekstualnu eliju moemoupisati proizvoljnu web-adresu, npr:

    www.inovatori.hrvatska.com

    I vidi vraga u gajbi, naa prva VB aplikacija,ljaka, tj. trebala bi posluno uitati ciljanu web-

    stranicu pa moemo nastaviti sa "surfanjem".Ako ne bi bilo tako, VB e na dnu panela ispisatiu emu je greka.

    Prilikom izlaska iz Visual Basica, VB nam dajepriliku da kreiranu aplikaciju spremimo i pritome proizvoljno imenujemo i projekt i obrazac.Imenu projekta se automatski dodaje ekstenzija

    Na isti nain, moemo kreirati i daleko sloenijeobrasce, koristei se znanjima iz ostatka uputa.

    Ako nam neto zapne, na usluzi nam je HELP-sustav Visual Basic 2008 Express Edition-a koga

    pozivano iz Help-menua naredbomHow du I

    Ako te naredbe nema na suelju, treba dozvatinaredbenu traku uputstava komandama

    View > Toolbars > HELP

    Upute se uzimaju sa Interneta, pa nisu dostupnebez Internet konekcije. Lijevi dio okvira nudi nam

    sadraje iz MSDN sustava pomoi.

    Prilikom ponovnog uitavanja postojeeg projekta, doekat e nas uvodni panel (Start Page) saprve slike, pa jezicima na vrhu sredinjeg prostora moemo birati obrazac ili kodni okvir projektau dizajn modu. Radno stanje opet aktiviramo menu komandama Debug > Start debugging.

    Ostatak uputa preuzet je iz prijanjih uputa za Visual Basic 6, no veina materijala ostaje aktualnai u novijim verzijama, pa i u besplatnom VISUAL BASIC 2008 EXPRESS EDITION-u. S obzirom da

    je ova verzija i izvorno opremljene i razumljivijim (dodue engleskim) uputama, nadamo se da e

    materijal u cjelini biti od pomoi kako potpunim poetnicima, tako i podsjetnik povrnijimpoznavateljima Visual Basica 6.

    Ako vrijeme dopusti, s vremenom e se upute dopuniti s vie aktualnog sadraja.

  • 8/3/2019 Elementarni Visual Basic

    17/55

    17 / 17

    PROZOR CODE

    Dvoklik na ciljani objekt na obrascu ili tipka F7, otvara Code prozorza pisanje procedura kojeutjeu na funkciniranje obrasca. Sve procedure istog obrasca bit e sadrane na istom Code

    prozoru. Uitavanjem obrasca upravlja procedura na koju se kursor automatski postavlja kadprozor Code otvorimo dvoklikom na prazan dio obrasca ili klikom na ime obrasca u emi projekta.Pri prvom otvaranju automatski se otvara "prazna" procedura Private Sub Form_Load() s ve

    unesenom prvom i zadnjom komandnom linijom, kao na slici. Bez upisa izmeu tih linija,procedura samo otvara obrazac. No, moda emo htjeti da se pri otvaranju izvre i neke drugenaredbe. U tom sluaju, za njih treba napisati odgovarajue kodne linije ili dodatne procedure.

    Pri vrhu radnog prostora sulijeva i desna kombo elija

    Lijeva kombo-elija sadri upisGeneral(koga koristimo kada

    elimo pisati tzv. "opeprocedure", koje nisu vezane zaneki konkretni objekt) i imena

    objekata (obrazaca i objekatana njima). Kodni prozor obrascaprikazat e se ako je u lijevojeliji odabran Form. Ostaleopcije sadrepopis objeklatana obrascu, pa se za svakiobjekt moe otvoriti Code

    prozor.

    Desna elija sadri upisDeclarations koji u pravilu ideuz General u lijevoj eliji iLoad

    koji ide uzForm u lijevoj eliji.Ostale opcije su ustvaripopisprocedura. Njihovim izborom,kursor se premjeta naodabranu proceduru Code

    prozora aktivnog obrasca.Sadraj ovih elija VB prilagoava aktivnom obrascu i postupku (vidi upute u nastavku).Uz ova dva najvanija prozora, u Visual basicu srest emo i nekoliko drugih dijalokih okvira.

    Dok je samo slaganje objekata na obrazac djeja igra, pa ne zahtijeva objanjenja, upis najvanijihsvojstava ipak treba objasniti, pa je to tema slijedeeg poglavlja. Obrazac naime nije dovoljnoinventivno i estetski oblikovati. Putem obrasca Visual basic moemo povezati sa bazom podatakakoju elimo obraivati, i koja, pretpostavljamo, ve postoji u ACCES-u ili EXCEL-u, barem kao

    prazna tabela (dakle koja ima barem zaglavlje sa nazivima polja). Kasnije emo nauiti i kako samVisual basic moe kreirati tabelu koristei ugraeni modul Visual data manager(u doslovnom

    prijevodu: vizualni upravitelj podataka). Evo ultra saetog prikaza postupka kreiranja MDB baze:Add-ins > Visual Data Manager> File > New > Microsoft Access > Version 7.0 MDB > u

    dijaloki okvir utipkaj ime budue baze podataka > Save sprema bazu. Otvara se prozor Database.Desni klik na ikonu Properties otvara pop-up izbornik > biraj New Table > Add Field > u "Name"upii ime prvog polja > Type > biraj tip polja > isto ponovi za ostala polja > Build The Table.

    VEZANJE VISUAL BASIC PROGRAMA NA ODABRANU BAZU PODATAKA

    Da bi Visual basic mogao unositi ili uzimati podatke iz ciljane tabele odabrane baze podataka,

    moramo mu saopiti koja nas baza i tabela zanima. Povezivanje Visual basica na ciljanu tabeluostvaruje se putem kontrole koja e kasnije sluiti za tzv. "navigaciju", tj. za izbor zapisa (dakleretka tabele) koga elimo obraivati. U tom cilju potrebno je: 1. kreirati kontrolu za navigaciju i 2.u svojstvima (propertis) te kontrole definirati ciljanu tabelu odabrane baze podataka. Postupak (prikreiranju nove aplikacije) za to je slijedei:

  • 8/3/2019 Elementarni Visual Basic

    18/55

    18 / 18

    Otvori Visual basic(New Project - Standard EXE defaultno se otvara prazan obrazac Form1)

    Dodavanje kontrole za navigaciju (neki je prevode sa Data controlkao "kontrola podataka").

    Dvoklik na u Toolbox grupi ikona - ubacuje Kontrolu navigacije u centar praznogobrasca. Ako nije ve aktivna, klik na nju e je oznaiti i aktivirati teotvoriti svojstva baze (Data propertis) u Propertis- tabeli desno.

    Ova kontrola u dizajn modu slui za povezivanje s ciljanom bazompodataka, a u Run-time reimu za izbor i obradu aktivnog zapisa.

    DatabaseName > klik na otvara interni pretraiva diska u kome odabiremo ciljanu bazu(vezanje na ciljanu bazu) podataka, koja se upisuje u DatabaseName, ime je izvreno

    povezivanje Visual basic programa sa tom bazom. Ako baza nije ufolderu aplikacije, unijet e se i kompletan put do baze.

    RecordSource > klik na otvara popis tabela odabrane baze podataka. Biraj tabelu. Ona se(izbor ciljane tabele) (sa putom) unosi u svojstvo RecordSource i time vee VB s tabelom.

    Preporua se definirati i svojstva tabele Caption i Name, zbog bolje itljivosti programskog kda:

    Caption upisana vrijednost (npr "Osobe") se kao ime baze prikazuje se ukontroli navigacije, koju miem irimo toliko da tekst bude vidljiv.

    Name upisano ime (npr. "datOsobe") upisano u svojstavo Name slui samoprogrameru za lake povezivanje podataka s obrascem. Ispred ovogimena dodaje se troslovni prefiks (za podatak: dat) sukladno popisustandardnih prefiksa.

    SPREMANJE PROJEKTA

    Kad je projekt definiran, tj. Visual Basic povezan sa bazom , moemo ga spremiti na disk.

    File > Save iliF5 VB e zatraiti ime za kreirani obrazac defaultnog nastavka .FRM iime za novi projekt, defaultnog nastavka .VBP. Komanda otvaraugraeni explorer za spremanje projekta u eljeni folder proizvoljnogdiska. Namjeravati li intentzivnije raditi na projektu, korisno je izvuiikonu za uitavanje projekta na desktop.

    DODAVANJE OSTALIH KONTROLA

    Bound input control - VEZIVANJE PODATAKA (dodavanje ulaznih kontrola vezanih na bazu).Kontrole se dodaju dvoklikom na odabrani tip kontrola na lijevom rubu okvira (u tom sluaju seodlau jedna preko druge na u sredinu obrasca) ili klikom na ikonu kontrole i crtanjem na obrascuuz pomo mia. Ubaene kontrole miem se proizvoljno razmjetaju i dimenzioniraju.

    TEKSTUALNI OKVIRI(Text box) iLABELE

    Ove kontrole prihvaaju tekstualne, ali i brojane upise. Pamtimo: vrijednosti kontrola se mogurazmjenjivati izmeu baze podataka i obrasca samo ako je svojstvo DataFormat prazno !U tom sluaju VB pretpostavlja VARIANT tip podatka. Ako smo sluajno odabrali bilo koji predloeniformat iz tabele koju otvara svojstvo DataFormat, VB nee dozvoliti vezanje kontrole na bazu

    podataka. U takvom sluaju odaberimo formatGENERAL, a VB e prilikom izbora baze ispraznitisvojstvo DataFormat. Svaku kontrolu odreuje:

    Name (naziv objekta) kod Text box-a unosimo bezprefiksa, a kodLabela (natpis kontrole) naziv dobivastandani prefiks lbl. Text box nema svojstva Caption.Upis u svojstvo labele Caption bit e vidljiv na obrascu.

    tekst iz Captiona labele

  • 8/3/2019 Elementarni Visual Basic

    19/55

    19 / 19

    Pretpostavljeno, kontrole su poravnate sa rasterom (Grid) obrasca. Ako elimo preciznijepozicionirati i dimenzionirati kontrole, rastera se moemo osloboditi komandama izbornika:Tools > Options > General > skidamo kvaisu sa Align Controls to Grid. No u tom sluaju

    precizno poravnavanje kontrola moe nas dosta nagnjaviti. Postupak kreiranja kontrola je slijedei:

    Ubaci kontrole i labele kontrole na obrazacte poziconiraj i dimenzioniraj kontrole definirajName za kontrole, te Name i Caption za labele definirajDataSource (izvor podatka) u svojstvima kontrole izborom sa liste Time se

    kontrola povezuje na odabrani izvor podataka, tj. na odabranu tabelu(ovo nije mogue ako obrazac nije povezan na bazu podataka putemnavigacijske kontrole). Ako se podaci uzimaju samo iz jedne tabele,DataSource e biti isti za sve kontrole obrasca.

    definiraj DataField (Polje izvora) u svojsktvima kontrole izborom sa liste. Kontrola se timevezuje na ciljano polje odabrane tabele koja je upisana podDataSource.. DataField se ne moe definirati prije definiranjaDataSource.

    Za sve kontrole u jednom obrascu, DataSource je istiako jeista tabela izvor svih podataka.

    Niz kontrola kopiranjem umjesto unosom kontrola, smanjuje se opseg posla pri(Control Array) kreiranju obrazaca i resursi koje VB troi. Kopirane kontrole e sve

    imati isto Name, pa emo im definirati razliita svojstva index.

    POTVRDNI OKVIRII (Check Box)

    rukuju se jednako kao labele, s tim to u svojstvu Name ime kontroledobiva prefiks chk. I ovdje vai, da nee uspjeti vezanje kontrole na

    polje tabele u svojstvu DataSource, ako DataFormat nije prazno.Pretpostavljenu Vrijednost (u svojstvu Value) ove kontrole moemonamjestiti kao:

    0 tj. neoznaeno (unchecked)1 tj. oznaeno kvaicom (checked) ili2 neaktivno, odnosno zasjenjeno (grayed)

    Te e vrijednosti biti upisane i u odabranu tabelu, prilikom koritenjaobrasca vezanog na bazu podataka.

    RADIO GUMBI (Radio button) iako spadaju u kontrole, bez procedure ne slue niemu, pa ebiti objanjeni u poglavlju o procedurama.

  • 8/3/2019 Elementarni Visual Basic

    20/55

    20 / 20

    Vrati

    NEKOLIKO ESTO KORITENIH DUGMETA Dodaj i pozicioniraj dugme na Obrascu (za sadaprocedureprihvatite kako je predloeno).

    U kdovima, crveno su pisane slubene rijei Visual basic-a, a plavo imena koja daje korisnik.

    Dugme (u engleskom je uobiajeno ADD) prazni obrazac za novi zapis.AddiliNew U svojstva dugmeta i proceduru koju dugme pokree, treba upisati:

    Naziv: cmdDodaj (cmd je slubeni prefiks za dugme (Command button) Caption: &Dodaj (D e biti "vrua tipka" jer je ispred njega &).

    Dvoklik na novo dugme otvara njegov Code prozor. Upii kd:

    Private Sub cmdDodaj_Click() je automatski upisana poetna linija kdafrmImeObrasca.Recordset.AddNew ' dodaj novi zapis u tabeluEnd Sub je automatski upisana zavrna linija kda.

    Iza znaka ' je objanjenje naredbe koje ne utjee na program

    "Vrua tipka" e biti podcrtana. Dranje tipke ALT i pritisak na vruu tipku pokree proceduru.

    Dugme BRI (u engleskom je uobiajeno DELETE) brie aktivni zapis iz tabele.

    Naziv: cmdBrsi (ne koristite hrvatska slova za nazive objekata) Caption: &BRII (B e biti "vrua tipka" jer je ispred njega &).

    Dvoklik na novo dugme otvara njegov Code prozor. Upii kd:

    Private SubcmdBrisi_Click()frmImeObrasca.Recordset.Delete ' brii aktivni zapis iz tabeleEnd Sub

    Dugme (u engleskom je uobiajeno UPDATE) osvjeava podatke u tabeli,Update (eventualno OK ) odnosno prepisuje podatke iz kontrola u tabelu.

    Ako elimo spremiti aktivni zapis iz kontrola obrasca bez premjetajana novi zapis, tj. bez koritenja navigacijske kontrole, morat emokreirati jo jedno dugme, koje moemo nazvati "Prihvati". Za njegaemo koristiti slijedea svojstva kd:

    Naziv: cmdPrihvati Caption: &Prihvati

    Dvoklik na novo dugme otvara njegov Code prozor. Upii kd:

    Private SubcmdPrihvati_Click()frmImeObrasca.UpdateRecord ' spremi zapis u tabelu (tj.prepii podatke iz kontrola u tabl.)End Sub

    Dugme (u engleskom je uobiajeno RESTORE) prijepis iz tabela u kontroleRestore

    Pretpostavimo da smo zapoeli ispravak nekog zapisa, ali u pola poslashvatimo da je bolje da ga ostavimo onakvoga kakav je bio. Ako sesamo maknemo na drugi zapis, izmjene e biti zapamene, a toneemo. Zato nam treba dugme koje e vratiti zapis koji je jo upisanu tabeli. Za takvo dugme, svojstva i kd e biti slijedei:

    Naziv: cmd&Vrati Caption: &Vrati

    Dvoklik na novo dugme otvara njegov Code prozor. Upii kd:

    Private SubcmdVrati_Click()frmImeObrasca.UpdateControls ' vrati (kontrole na) ranije vrijednosti (prepis iz tabele u kontrole)End Sub

    Dodaj

    Brii

    Prihvati

  • 8/3/2019 Elementarni Visual Basic

    21/55

    21 / 21

    Dugme IZLAZ (u engleskom je uobiajeno EXIT) uklanja obrazac sa ekranaExit

    Nakon uklanjanja obrasca, VB ostaje "prazan" ako je bio aktivan samoovaj obrazac, pa ostaje samo izlaz iz programa na uobiajen nain (saili bez spremanja eventualnih izmjena obrasca. Evo i kda za ovodugme:

    Naziv: cmdIzlaz Caption: &Izlaz

    Dvoklik na novo dugme otvara njegov Code prozor. Upii kd:

    Private SubcmdIzlaz_Click()Unload Me ' Ukloni obrazac (bez upisa vrijednosti iz kontrola u tabelu ako nije aktiviran UpdateEnd Sub

    UMETANJE SLIKAKoristei ikonu u obrazac postavljamo okvir za sliku, a zatim usvojstvu Picture odabiremo ciljanu sliku sa diska internim

    pretraivaem koji se aktivira klikom na uz svojstvo Picture.

    KREIRANJE IZBORNIKA

    Glavni izbornik svake aplikacije oblikovan je kao niz naredbi nanizan na traci pri vrhu obrasca. Klikna odabranu naredbu moe proizvesti izvrenje ciljane procedure, ili otvoriti tzv. "padajuiizbornik" s vertikalnim nizom komandi. Pojedine komande mogu otvarati slijedei nivo podmenua.U visual basic-u po potrebi svaki obrazac moe imati vlastiti izbornik.Izbornik se moe kreirati i uz pomo arobnjaka VB Application Vizard, koji e kreirati nekistandardni menu, koga onda moemo prilagoavati naim potrebama. Postupak za kreiranjeizbornika "pjeice" je slijedei:

    Klik na ikonu Visual basic-ovog izbornika otvara dijalog u kome treba: upisati natpis (Caption) tj. tekst koji e se pojaviti na traci izbornika, po potrebi sa znakom &

    koji definira "vruu tipku" za aktiviranje komande u kombinaciji s tipkom ALT upisati naziv (Name) menu-a (mjesto razmaka mora se koristiti podvlaka _ ) s prefiksom mnu. OK zatvara dijalog. Traka izbornika s kreiranim naredbama nai e se na vrhu obrasca

    Naknadno proirenje izbornika mogue je dodavanjem novih naredbi opcijomINSERT. Takoer, opcija DELETE brisat e oznaenu naredbu sa trake.Takoer, mogue je naknadno pomicanje elemenata izbornika sa .

    Kreiranje podmenu-a

    Klik na ciljanu naredbu oznaava je klik na INSERT naredbu Visual basic-ovog izbornika unos komande u Caption unos imena komande u Name (preporua se oblik mnuNaredbaPodnaredba) klik na pozicionira podmenu desno pomaknuto u odnosu na naredbu iz trake izbornika.

    Kvaica na checkedu dijalogu za kreiranje izbornika postavlja kvaicu uz menu-naredbu, koju popotrebi uklanjamo kdnom linijom : mnuImenaredbe.Checked = False. Kad u Run-time modukorisnik klikne na komandu, pored nje e se pojaviti (ili ukloniti) kvaica. Opcijama dijaloga mogue

    je i deaktiviranje (zamagljivanje) naredbe, umetanje razdjelne linije ili pridruivanje kratice.

    Pop-up izbornici iskau ni otkuda kad kliknemo desnom tipkom mia na neku kontrolu ili

    naredbu. To se postie pretvorbom "obinog" izbornika u Pop-up menu,umetanjem slijedee dodatne procedure u kdni prozor obrasca u komeelimo imati iskaui menu. S otvorenim Code prozorom obrasca kreiramododatnu proceduru (npr. MouseUp).

    Izlaz

  • 8/3/2019 Elementarni Visual Basic

    22/55

    22 / 22

    Kd u nastavku, pretvorit e izbornik mnuIzvorni u Pop-up izbornik naziva MouseUp na mjestukursora:

    Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X Single, Y As Single) If Button = 2 Then 'ako jedesna tipka mia je pritisnuta onda . . .PopupMenu mnuIzvorni 'prikai menu mnuIzvorniEnd If ' kraj odluke

    End Sub ' kraj procedure

    Na kraj tree naredbe (masno tiskane) moe se dodati zarez i instrukcija za poravnanje:

    0 za lijevo poravnanje (koje je pretpostavljeno i bez ovih instrukcija)4 centrirano8 desno poravnanje

    Parametri X i Y deklarirani u prvoj liniji procedure su koordinate lijevog gornjeg ugla Pop-upizbornika koje moemo zadati ako elimo da se Pop-up menu pojavi na nekom definiranommjestu neovisno o poziciji kursora. X i Y (u pikselima) se dodaju na kraj tree linije, odvojeno

    zarezima (npr: PoppMenu mnuIzvorni, 40, 200 ).

    Prikazana je samo jedna od moguih verzija kda za ovu namjenu.PORUKA (Message) Prikaz poruke ostvaruje se upisom slijedee linije u Form_Load()

    proceduru obrasca:

    MsgBox "tekst poruke", xx pri emu je xx neobavezna vrijednost (16, 32, 48 ili64) koja definira vrstu ikone koja e se pojaviti uz poruku.

    Ako ne elimo ikonu, ipak upisujemo zarez i prazninu (blank).Poruku zatvara klik na dugme OK. .

    TAB INDEKS KARAKTERISTIKA

    Tab indeks je svojstvo koje definira redoslijed aktiviranja pojedinih kontrola u obrascu kad se kroznjega kreemo tipkom TAB. Ako iz nekog razloga (npr. zbog proizvoljnog redoslijeda definiranjakontrola) taj redoslijed ne odgovara naim zahtjevima, treba kliknuti na zadnju kontrolu i njenosvojstvo TabIndex u Properties-u postaviti na 0. Zatim redom od nazad prema prvoj kontroli sveTab indekse postavite na 0. Kad se prva kontrola postavi na tu najniu vrijednost, sve ostale

    poprimaju rastue vrijednosti, pa e redoslijed kretanja tipkom Tab biti u skladu s naim eljama.

    Na kraju, u sluaju unosa pogrenog tipa podatka (npr. teksta u eliju za brojani podatak) VB eobavijestiti o greki, budui da Microsoft Jet Engine automatski verificira sve unose.

    SPREMANJE OBRASCA I POKRETANJE APLIKACIJE

    Spremi obrazacsa File > Save. VB e zatraiti ime za novi obrazac i ime za projekt (ako se prviputa spremaju). Obrazac dobiva nastavak.FRM, a projekt .VBA.

    Pokreni Run > Startiz glavnog izbornika ili stisniF5. Obrazac iz dizajn-moda (Design-time)prelazi u radni (Run-time) reim, u kome objekti poprimaju namijenjenu funkciju,tj. aplikacija e proraditi.

    Sad moemo unositi podatke u kontrole obrasca. Pomak strelicama navigacijskekontrole na slijedei zapis automatski pamti uneseno. U naem sluaju i dugmeDODAJili ALT+D prazni obrazac za novi upis.Strelicama kontrole navigatora prelazimo s aktivnog retka baze podataka naslijedei ili prethodni, odnosno prvi ili zadnji. Svaki uitani zapis moemo mijenjatiili ispravljati.Sva navedena dugmeta (koja smo kreirali) takoer poprimaju funkciju, pa tako

    dugmetom VRATI (Restore) ponitavamo unose u kontrole, ako ne elimo da buduzapamene pri prelasku na slijedei zapis strelicama navigacijske kontrole.

    Ovime smo uglavnom obuhvatili Visual basic okruenje za kreiranje suelja ili obrazaca. Vrijeme jeda neto kaemo o procedurama i kodiranju.

  • 8/3/2019 Elementarni Visual Basic

    23/55

    23 / 23

    PROCEDURE

    Kako je ve spomenuto, proceduru (ili subrutinu) definira kd pisan u programskom jeziku Basic,kojim se raunalu nalae kako e reagirati na pojedine dogaaje koje je inicirala prethodna obradaili korisnik. Visual Basic stoga sadri listu dogaaja i pamti listu procedura, a programerov je

    zadatak da definira koje e procedure uslijediti kao odgovor na pojedine dogaaje u pojedinimfazama raunalne obrade.

    Ako Visual Basic ili korisnik raspolau gotovim procedurama za pojedine subrutine, koristit emo njih.Ako procedura koja nam treba ne postoji, morat emo je kreirati pisanjem kd-a.

    Za pisanje procedura koristimo nekoliko prozora, od kojih je osnovno suelje za pisanje koda prozor Code. Otvara ga dvoklik na objekt, tipka F7ili komande izbornika View > Code.Podsjetimo se kako prozor Code izgleda:

    Lijeva kombo-elija uvaizbornu listu objekata adesnapopis procedura. Ispod

    njih se ispisuje kd.

    Prilikom otvaranja prazneprocedure, automatski seodabire objektForm (obrazac)s ve unesenim poetnim i

    zavrnim retkom procedureLoad, iz desne kombo elije.To je procedura za uitavanjeobrasca. Prozor Code prihvaa isve druge procedure obrasca.Redovi i ispisi procedura, mogu

    se po potrebi kopirati sa copy-paste iz jedne procedure udrugu ili jednog projekta udrugi, uz prilagodbu imenaobjekata.

    OPREZ !Promijenimo li ime nekogobjekta, moramo aurirati

    sve njegove procedure.

    VBA verzija Visual Basic for Applications esto se koristi u sklopu OFFICE-ovih alata (EXCEL,ACCES) za izvoenje onih procedura koje nisu sadrane u arsenalu osnovnog programa, pa nasuelju takvog Visual-Basic-Editora pomoni alati mogu biti drugaije organizirani, ali sadre isteelemente.

    Visual Basic for Applications se poziva se iz Excelovog (iliAccessovog) izbornika sa: Alati > Makronaredba > VisualBasic Editor, a u nekim situacijama zna se i sam se uitati

    zbog rjeavanja greaka u programu.

    Budui da je broj moguih procedura vrlo velik, za njihov izbori sparivanje s dogaajima na koje e odgovarati, koristi se

    poseban pretraiva procedura Object Browserkogaaktiviramo menu - ocijom View > Object BrowserVisualBasic-ovog glavnog izbornika. No, o tome kasnije.

    izborna lista objekata opis procedura

  • 8/3/2019 Elementarni Visual Basic

    24/55

    24 / 24

    VB razlikuje tri vrste prosedura s gledita obuhvata primjene:

    Private sub je procedura koja je primjenjiva samo unutar objekta u kome je kreirana. Public sub su tzv. ope procedure, koje se mogu koristiti (2) u vie objekata istog

    obrasca, ili (3) ak u svim Visual basic aplikacijama (to su moduli).

    ope procedure su procedure tipa Public koje mogu koristiti sve procedure one aplikacije u

    iz.FRMdatoteka kome je procedura kreirana. Nakon kreiranja, VB ih sprema u datoteku sekstenzijom .FRMkoju automatski kreira prilikom spremanjaprojekta. VB eod korisnika zatraiti unoenje imena nove FRM datoteke. FRM proceduru po

    potrebi poziva lokalna procedura Private sub tipa.

    ope procedure su procedure, koje mogu koristiti svi projekti, odnosno sve aplikacije. Dio suiz.BASdatoteke tzv. programskih modula, tj. datoteka s nastavkom .BAS, koju VB automatski(Modula ) kreira prilikom spremanja aplikacije. Zatrait e od korisnika ime nove .BAS

    datoteke. I tu proceduru po potrebi pozivaju lokalne Private procedure.

    RADIO GUMBI I PRIMJER NJIHOVE UPORABE KORITENJEM JEDNOSTAVNIH PROCEDURA

    Tzv. radio gumbinamijenjeni su izboru samo jedne od ponuenih opcija. U principu, ne moese odabrati vie od jedne opcije u grupi radio gumba. Ako na istom obrascu treba formirati vie od jedne grupe radio gumba, svaka grupa se mora uokviriti okvirom iz kolekcije kontrola.

    Iako radio-gumbi spadaju u objekte, a ne u procedure, oni bez procedura nemaju praktinuvrijednost. Klikom na njih korisnik mijenja njihovo svojstvo "Value" (vrijednost) izFalse (la, tj.nezakliknuto) u True (istina, tj. zakliknuto). Stanje True ili False koristi se za iniciranje procedurekoja treba uslijediti u sluaju klika na pojedinu opciju grupe radio-gumba. Prvu i zadnju liniju

    procedure svakog objekta, pa i radio-gumba VB automatski kreira ako dvokliknemo na odabraniobjekt, odnosno u naem sluaju na odabrani radio gumb.

    Primjer uporabe radio gumba, ali i jednostavnih procedura, dobro ilustrira programi iji kdslijedi u nastavku. Da bi ga primijenili, pokrenimo Visual basic, kliknimo na prvi redak u emi

    projekta, te u propertis tabeli svojstvo Name promijenimo uZdravo. Time smo imenovaliaplikaciju. Klik na automatski predloen obrazac otvara svostva obrasca, pa za Name stavimofrmZdravo, a upis "Zdravo" u svojstvu Caption, ispisat e "Zdravo" na okviru obrasca. Time smoimenovali obrazac (u ovom sluaju je ime aplikacije i ime obrasca isto). Ako spremimo projekt,ubudue emo ga na disku nai pod imenomZdravo.vbp. Moemo ga spremiti u neku mapu ublizini Visual Basic programa.Uz navedeno, trebat e nam i tri sliice u .gif formatu, smjetene negdje na disku (najbolje u istojmapi sa Zdravo.vbp) Trebaju nam slijedee slike veliine cca 1 x 1 cm:

    Siva podloga u veliine smajlia jednake boje kao pozadina obrasca (nazovimo jesivo.gif) nasmijeeni smajli nazovimosmajli.gif i tuni smajli nazovima Tuzan.gif (ne koristite hrvatske znakove u imenima objekata)

    Sada otvorimo ponovo Zdravo.vbp i u formular umetnimo tri radio-gumba. Svojstvo Caption bit eupisano pored radio gumba umjesto "option button 1" itd. Postavmio na obrazac i jednu labelu, idva tekstualna okvira. Labelu smjestimo u sredinu, ali je oblikujmo kao eliju koristei svojstva zarub okviraApperance (1 3D) i boju pozadine BackColor(odaberimo Window Background).

    Jo nam treba dugme EXIT, pa ucrtajmo i njega. Klik naeljeni objekt i svojstva objekata postavimo kako slijedi:

    objekt: Name: Caption Value

    prvi radio gumb optStart Idemo !drugi radio gumb optSmjesko Zdravo!trei radio gumb optTuzan mrc !

    prvi text box txtIdemo Truesrednju labelu lblZdravodonji text box txtTuzandugme cmdExit E&XIT(vrua tipka e biti X jer je ispred njega znak &)

  • 8/3/2019 Elementarni Visual Basic

    25/55

    25 / 25

    Slijedi umetanje triju okvira za slike i izbor slika sa diska putem svojstvapictureKada ste kreirali slike, moete poklopiti sve tri na isto mjesto. Rezultat bi trebao biti kao na slici.Upis True u svojstvu Value prvog radio gumba, stavlja ga u zakliknuto stanje pri uitanju obrasca.

    Preostaje pisanje kda. Iako kodiranje jo nismo usvojili, slijedei ispis kda sa objanjenjima,dovoljno je jednostavan da poslui ne samo za dovrenje zapoete aplikacije, nego i kao ilustracija

    za slijedee poglavlje o procedurama i kodiranju. Dvoklik na prazan dio obrasca otvorit e prozorCode sa zapoetom procedurom Private Sub Form_Load(), a to je procedura koja e se izvritiprilikom uitavanja prvog (u naem sluaju jedinog) obrasca, dakle i aplikacije. U tom kodnomprozoru e biti sadrane sve procedure koje se odnose na ovaj obrazac i njegove objekte.Da bi zapoeli procedure pojedinih objekata, treba samo dvokliknuti na odabrabi objekt. Izmeu

    prve i zadnje linije "praznih" procedura, upiite nie navedene naredbe tako da itav kd izgledakako slijedi:

    ' UITAVANJE OBRASCA - usput se izvravaju slijedee naredbe.Private Sub Form_Load()imgTuzan.Visible = False ' sakriva sliku "tuzan"imgSmjesko.Visible = False ' sakriva sliku smjeka

    txtIdemo.Text = "Text box moe ispravljat !"' postavlja tekst u prvi tekstualni okvirLblZdravo = ""' prazni labelu "Zdravo"txtTuzan.Text = ""' pazni tekstualni okvir "Tuzan"End Sub' Klik na prvu opciju "Idemo" (naziva "optStart") inicira slijedee naredbe:'Private Sub optStart_Click()imgSivo.Visible = True ' postavlja sliku "Sivo" (tj. na boju pozadine)imgTuzan.Visible = False ' akriva sliku "Tuzan"imgSmjesko.Visible = False ' sakriva sliku "Smjesko"LblZdravo = ""' prazni labelu "Zdravo" (srednju eliju)txtIdemo.Text = "Idemo ispoetka ?"' postavlja natpis u prvu eliju (tipa text box)

    txtTuzan.Text = ""' prazni zadnji tekstualni okvir (uz "mrc !")End Sub' Klik na drugu opciju "Zdravo" (naziva "optSmjesko") inicira slijedee naredbe:'Private Sub optSmjesko_Click()imgTuzan.Visible = False ' sakriva sliku "Tuzan"imgSmjesko.Visible = True ' postavlja sliku "Smjesko"imgSivo.Visible = False ' sakriva sliku "Sivo"LblZdravo = "Haj kvadro!"' upisuje labelu (oblikovali smo je kao eliju)txtIdemo.Text = ""' sakriva tekst u prvoj eliji (text box nazivatxtTuzan.Text = ""' sakriva tekst u treoj eliji, zakljuanoj za korisnikaEnd Sub

    ' Klik na treu opciju "mrc !" (naziva "optTuzan") inicira slijedee naredbe.' Iz dosadanjih opisa trebali biste znati to radi koja od slijedeih naredbi.'Private Sub optTuzan_Click()imgTuzan.Visible = TrueimgSmjesko.Visible = FalseimgSivo.Visible = FalseLblZdravo = ""txtIdemo.Text = ""txtTuzan.Text = "Zato me ostavlja ?"End Sub

    Tekst iza znaka ' (gore bljee ispisan) VB shvaa kao primjedbe i objanjenja koja ne utjeu naizvravanje programa.

    Spremimo sada aplikaciju i pokrenimo iz izbornika komandama Run > Startili jednostavnijeklikom na ikonu na vrhu panela.Klikom na pojedine radio gumbe, dobit emo zanimljive efekte. Obrazac zatvara klik na EXIT.

  • 8/3/2019 Elementarni Visual Basic

    26/55

    26 / 26

    Iskoristili smo priliku za dodatno objanjenje postupanja sa tekstualnim upisima. Kontroletekstualnih okvira slue za unos i korekciju teksta zbog unoenja podataka u bazu podataka kojuobrazac opsluuje. Unos se moe izvriti runo, tj. direktnim upisom u kontrole, ali moe se unositii "programski", tj. putem kda, kao to je sluaj u ovom primjeru. Obrazac se takoer koristi i za

    prikaz podataka iz postojeeg zapisa.

    Ako elimo sprijeiti korisnika da mijenja programski unesen tekst, to se moe postii na dva

    naina:

    podatak se u obrascu moe prikazati pomou labele umjesto pomou tekst box-a (kao to jeuinjeno u drugoj eliji naeg primjera) ili

    text box-u se izborom opcije True u svojstvu Locked(zakljuano) pretvara u read-onlykontrolu, tj. takvu koju se moe samo itati, ali ne i ispravljati.

    U oba sluaja putem kda upisan ili iz tabele isitan podatak korisnik ne moe mijenjati.

    KREIRANJE PROCEDURA

    LOKALNE PROCEDURE tipa Private sub kreiraju se za postojei imenovani objekt kako slijedi:

    Kreiranje (tj. imenovanje) obrasca popraeno je automatskim kreiranjem procedure Private SubForm_Load, koja postaje vidljiva dvoklikom na prazan dio obrasca. VB e samupisati Form i Load u lijevu i desnu kombo-eliju prozora Code, te poetnu i

    zavrnu liniju procedure, koja se izvrava prilikom otvaranja obrasca.

    Private Sub Form_Load() dok ovdje nije nita upisano, procedura samo uitava obrazac

    End Sub

    elimo li definirati jo neku dodatnu proceduru koja se treba izvriti prilikom uitanja obrasca, a nena pri aktiviranju kontrola,s otvorenim Codeprozorom aktivnog obrasca izglavnog izbornika biramo:

    Toos > Add Procedure U dijalokom okviru Add Procedure koji e se otvoriti, ve je odabranradio-gumb Sub (kreiramo subrutinu a ne primjerice funkciju) iPrivate (jerkreiramo lokalnu proceduru). U tekstualnu kontrolu treba upisati naziv budue

    procedure. Na dnu prozora Code, VB e ovoriti novu proceduru s poetnom izavrnom naredbom kada kliknemo na OK.

    Private Sub ImeProcedure()

    End Sub

    Primjeujemo da ona inicijalno nije vezana za neki dogaaj (nema Click() ilineki drugi dogaaj u prvoj naredbi), jer se ona izvrava prilikom otvaranjaobrasca, tj. unutar osnovne procedure obrasca Form_Load. U tom cilju, njezinoime ili naredba Call Imeprocedure se upisuje u obliku linije unutar Form_Load

    procedure, na mjestu koje kronoloki definira trenutak njenog aktiviranja. Akoje tako ne upiemo, ona ostaje neaktivna.

    Preostaje sluaj, kad se procedura treba odnositi na neku kontrolu obrasca, ane na sam obrazac. Taj je sluaj najjednostavniji:

    dvoklik na objekt u koji se procedura eli ugraditi, otvara Code prozor aktivnog obrasca,kome objekt pripada. VB u lijevu kombo-eliju automatski upisuje ime oznaenog objekta(tj. "Name" odabrane kontrole), a u desnu eliju pretpostavljeni dogaaj Click kojim se

    procedura aktivira. Istovremeno, u Code-prozoru aktivnog obrasca otvara proceduruodabranog objekta s poetnom i zavrnom linijom:

  • 8/3/2019 Elementarni Visual Basic

    27/55

    27 / 27

    Private Sub ImeObjekta_Click() dok ovdje nije nita upisano, procedura ne radi nita

    End Sub

    U ovom sluaju, prva linija zavrava dogaajem koji aktivira proceduru.Izmeu zagrada mogu, ali ne moraju biti sadrani parametri potrebni zaizvrenje.

    Vidimo da je VB proceduri automatski nadjenuo ime Imeobjekta, pri emu eime objekta iz svojstva objekta Name imati i troslovniprefiks koji oznaavavrstu objekta (osim ako je objekt tipa Text-box).

    to emo upisati u naredbene linije, predmet je razmatranja u slijeempoglavlju, a jednostavne primjere smo vidjeli u opisu kreiranja dugmadi iradio-gumba.

    Call imeprocedure Za sada pamtimo, da meu linije procedure treba upisati imena onih FRM iliBAS procedura koje elimo da VB izvri prilikom aktiviranja objekta (npr. kadkliknemo na objekt). Upisom imena procedure unutar kda, pozivamo ih,odnosno zahtijevamo njihovo izvrenje. Proceduru poziva i naredba Call

    ImeProcedure.FRM PROCEDURE Ako kreiramo opu proceduru koja se moe spremiti u FRM datoteku, tu

    proceduru mogu pozivati sve Private procedure iz iste FRM datoteke, a to suprocedure jednog obrasca. Postupak:

    klik na ciljani obrazac u Project-exploreru - obrazac ostaje oznaen (ako postoji FRM otvori Code-prozora tipkom F7 datoteka, moemo birati i FRM datoteku).

    (ili dvoklik na otvoreni obrazac) otvara se Code-prozor Form_Load tog obrasca. U lijevoj kombo-eliji biramo General kursor se postavlja iznad Private Sub Form_Load() iz izbornika Tools > Add Procedure otvara se dijaloki okvir Add Procedure u Name upii ime budue procedure Sub iPublic e ve biti izabrani to definira vrstu procedure kao opu subrutinu

    OK VB u desnu kombo eliju i njen popis upisujeImeprocedure a u kodnoj listi otvara novu

    proceduru. :Private Sub Imeprocedure()

    End Sub

    Save As Prilikom srpemanja aplikacije VB automatski kreira novu .FRM datoteku sunesenim upravo kreiranim kdom i trai upis imena FRM datoteke. Ako onave postoji, nova FRM procedura bit e dodana na postojei ispis kda.

    FRM Ope procedure ne pokreu dogaaji, nego se one pozivaju naredbom Call Imeprocedure ilijednostavnim upisom Naziva u nekoj Private proceduri iz iste FRM datotekeu kojoj je spremljena FRM opa procedura.

    BAS PROCEDURE kreiramo kada proceduru elimo koristiti u bilo kojoj Visual Basic aplikaciji.i Module Skuptakvih procedura upisuje se u tzv. modul, - datoteku s nastavkom BAS

    Proceduru moe pozvati naredba Call ImeProcedure ili upisImeProcedure ukodnu liniju bilo koje lokalne (tj. Private) procedure bilo koje Visual basicaplikacije, pod uvjetom da je procedura prisutna u bilo kom modulu (tj .BASdatoteci) raunala.

    Project > Add module iz glavnog izbornika otvara dijaloki okvir Add Module Klik na ikonu Module i dugme Open otvara dijaloki okvir Imeprojekta-Modul1 iz izbornika Tools > Add Procedure otvara se dijaloki okvir Add Procedure u Name upii ime budue procedure privremeni naziv Modul1 se mijenja u upisani. Klik na Sub iPublic- - - - - - - - - - definira vrstu procedure kao opu subrutinu. OK VB u desnu kombo eliju i njen popis upisuje

  • 8/3/2019 Elementarni Visual Basic

    28/55

    28 / 28

    ImeModula. Istovremeno u Project-Explorerupisuje novi folder "Modules" sa novimmodulom Modul1.BAS, u ijoj kodnoj listiotvara novu proceduru :

    Public Sub Modul1()

    End Sub

    Spremi aplikaciju sa File > Save Datoteka .BAS automatski se sprema prilikomspremanja aplikacije. Treba je samo imenovati

    Ako .Bas datoteka ve postoji, postupak je:

    biraj modul(iz Projekt Explorera) u koji eli spremiti novu opu proceduru klik na ikonu View Code otvara okvir za pisanje kda odabranog modula iz izbornika Tools > Add Procedure otvara se dijaloki okvir Add Procedure u Name upii ime budue procedure Klik na Sub iPublic- - - - - - - - - - definira vrstu procedure kao opu subrutinu. OK VB u desnu kombo eliju i njen popis upisuje

    ImeModula i otvara prvu i zadnju kodnu liniju

    Sada znamo napraviti obrazac, povezati ga s ciljanom bazom podataka i eljenom tabelom, apoznamo i sve vrste procedura, te naine na koji ih moemo zapoeti. No, s izuzetkom nekoliko jednostavih procedura koje smo pokazali, ne znamo to treba upisati izmeu poetne i zavrnenaredbe procedura. Ipak, znamo da e se unutar aktivne procedure izvriti i ope procedure ijeime upiemo kao jednu od linija aktivne procedure. Za neke jednostavne radnje (npr. upistekstualnih podataka u bazu podataka ili prikaz redaka baze podataka u obrascu) nam procedure ine trebaju. No ako se osim pukog spremanja i itanja podataka iz baze zahtjeva i najjednostavnijaobrada tih podataka, moramo primijeniti postojee, ili znati napisati vlastite kdove u procedurama

    PISANJE KD-a

    Raunalnom obradom upravlja niz instrukcija koje ine program. Dananji programi su interaktivni,tj. za vrijeme obrade korisnik komunicira s raunalom putem korisnikog suelja, mia i tipkovnice.Iole sloeniji programi razbijaju se na manje jednostavnije potprograme, koje u Visual Basic-u

    zovemo procedurama.

    Procedura je slijed instrukcija programskih naredbi nanizanih u redove (tzv. "linije") izmeupoetnog i zavrnog retka procedure, koje Visual Basic prilikom imenovanja nove procedureispisuje automatski. Takav ispis potprograma naziva se kd. Prazan kd ima slijedei izgled:

    Private Sub.ImeProcedure_Dogaaj()Ovdje se ubacuju naredbeni redovi (linije) redoslijedom izvoenja obrade

    End SubCrveno e biti tiskane slubene rijei Visual basica, a plavo nazivi koje daje korisnik.

    Svaki se naredbeni redak sastoji od slubene rijei Visual Basic-a za pojedine radnje i imenaelemenata (procedure, objekata i dogaaja, eventualno i obrazaca i dr.) s kojima se radnja izvodi.Tako i prvi redak kd-a sadri slubenu rije "Private Sub" koja raunalu kazuje da je rije o

    proceduri (potprogramu ilisubrutini) koja je izvediva samo s naznaenim objektom (otuda prefiksPrivate), a izvriti se treba ako nastupi naznaeni dogaaj. Unutar zagrada na kraju retka mogu,ali ne moraju biti sadrani neki parametri potrebni za izvrenje obrade.

    Ostali naredbeni redovi izmeu prvog i zadnjeg, naelno sadre slubenu rije za eljenu radnju:

    Unload Me prekini izvoenje svih naredbi, tj. zaustavi proceduru (stariji oblik je End)ili izraz oblika jednakosti:

    ImeObjekta.Karakteristika = Vrijednost na primjer:

  • 8/3/2019 Elementarni Visual Basic

    29/55

    29 / 29

    imgSmile.Visible = False tj. Slika Smajlia.je vidljiva = la (sakriva sliku "Smile") ilitxtArtikal = "krumpir" naredba ispisuje tekst Krumpir u eliji koja se zove Artikal

    Pamtimo: tekstove desno od jednakosti (osim slubenih rijei) stavljati meu navodnike !

    Naredbe ovog oblika mogu biti koritene i za oblikovanje ili promjenu obrazaca, suelja, ili na njimaprisutnih objekata. U tom cilju potrebno je kodnom linijom promijeniti svojstava objekata, koja

    inae definiramo u tablicama svojstava u dizajn-modu (tako smo postupali u primjeru Zdravo.vbp)

    Primjeujemo da se ime objekta sastoji od objekt-prefiksa (img, odnosno txt itd.) isamogproizvoljnog imena. U Visual Basic-u su propisani slijedei prefiksi za razne vrste objekata:

    Prefiksi imena objekata u Visual Basic-uObjekt prefiks Ojekt prefiks

    podatak (data) dat abc fiksni tekst (labela) lbl

    izbornik datoteka fil tekstni okvir txt

    izbornik direktorija dir komandno dugme cmd

    izbornik pogona drv okviri za kvaicu chkcrta lin krui za izbor opcije opt

    lik (krug, kvadrat itd) shp kombo okvir cbo

    vodoravni kliza hsb okvir za listu lst

    vertikalni kliza vsb slika (image) img

    okvir (frame) fra

    Primjerice naziv cmdIzlaz dat emo komandnom dugmetu za uklanjanje obrasca sa ekrana.Sve elemente (obrasce, objekte, fontove i dr.) koji se koriste u objektno orjentiranim programimakarakteriziraju razna svojstva. Promjenom svojstava, mijenja se poloaj, veliina, oblik ili drugekarakteristike (boja, veliina, debljina crte ili znakova i dr.) objekata, pa se i izgled suelja iliobrazaca moe mijenjati i naredbenim linijama Visual Basic-a, ako je to potrebno, tj. ako izmjenetrebaju uslijediti automatski, kao rezultat tijeka obrade .

    Zamagljeno i nevidljivo

    Objekti, naredbene ikonice na izbornicima i dr. mogu se deaktivirati ako elimo privremenosprijeiti njihovu uporabu, ili ih sakriti. Tome slue slijedee dvije naredbe:

    cmdDalje.Enabled = False dugme DALJE (npr. za nastavak obrade).Ukljueno = Ladrugim rijeima: sprijeen je nastavak programa (npr. dok

    se ne obavi neka radnja koja je uvjet za nastavak). Dugmee na suelju ili obrascu biti zamagljeno i nee reagirati.

    cmdDalje.Visible = False Isto dugme, u ovom sluaju bit e sakriveno, tj. nee se nividjeti dok ne promijenimo svojstvo vidljivosti na TRUE

    cmdDalje.Visible = True dugme DALJE.Vidljivo = istina (tj. dugme je vidljivo)

    Pretpostavljam da ste shvatili filozofiju. Tijekom procedure, mijenjat ete svojstva tim naredbamaprema potrebi.

    Koristite iskaua objanjenja (Tooltips) uz objekte ija funkcija nije potpuno jasna sama po sebi.

    ToolTipText bit e vidljiv kada kursor zadrimo na objektu s Tooltip-om na due od sekunde.Objanjenja se umeu dvokli