visual basic deo 3

28

Upload: igor-bosiljcic-msc

Post on 24-May-2015

1.454 views

Category:

Documents


10 download

TRANSCRIPT

Page 1: Visual basic   deo 3
Page 2: Visual basic   deo 3

U V O D

VisualBasic Visual- način na koji se formira GUIBasic - programski jezik BASIC

(Beginners All–Purpose Symbolic Instruction Code)

FORTRAN (1954.)COBOL (1960.)BASIC (1965.)Pascal (1972)C (1972.)

VisualBasic se pojavio 1987 kao VB4DOS.Kod nas se pojavio kasnije - od verzije 3.0 za Windows 3.xx

Page 3: Visual basic   deo 3

Komentari

Komentari u programu se pišu iza znaka '

' U ovom slucaju se ignorise cela linija.

Print "VB je lak." ' Ovo je komantar u liniji koda.

Page 4: Visual basic   deo 3

Lomljenje jedne linije u više linija

Data1.RecordSource = _“SELECT * FROM Titles, Publishers” _& “WHERE Publishers.PubId = Titles.PubID” _& “AND Publishers.State = ‘CA’”

Spajanje naredbi u jednoj liniji

Text1.Text = “Pozdrav” : Crveno = 255 : Text1.BackColor = _Crveno

Page 5: Visual basic   deo 3

Brojni sistemi

Dekadno Oktalno Heksadecimalno9 &O11 &H915 &O17 &HF16 &O20 &H1020 &O24 &H14255 &O377 &HFF

Nazivi varijabli

Moraju počinjati slovom. Ne mogu da sadrže tačku ili oznaku tipa podatka (posebni znakovi za određivanje tipa podatka). Ne smeju biti duži od 255 znakova. Imena kontrola, formi, klasa i modula ne smeju biti duža od 40 znakova. Ne smeju biti ista kao i ograničene ključne reči.

Page 6: Visual basic   deo 3

Tipovi podataka u Visual Basic-uTip podatka Čuva

Zauzimanje memorije

Opseg

Integer Celebrojeve 2 bajta -32.768 do 32.767

Long Celebrojeve 4 bajta -2.147.483.648 do 2.147.483.647

Single Decimalnebrojeve 4 bajta -3,402823E38 do -1,401298E-45 za negativne vrednosti;

1,401298E-45 do 3,402823E38 za pozitivne vrednosti

Double Decimalnebrojeve 8 bajtova

-1,79769313486232E308 do -4,94065645841247E-324 za negativne vr.;

4,94065645841247E-324 do 1,79769313486232E308 za pozitivne vr.

CurrencyBrojeve sa 15 cifara levo i 4

desno od decim. zareza

8 bajtova od -922.337.203.685.477,5808 do 922.337.203.685.477,5807

Byte Celebrojeve 1 bajt Od 0 do 255

Boolean Logičke vrednosti 2 bajta True (Tačno) ili False (Netačno)

DecimalCele i

decimalnebrojeve

14 bajtova

+/-79.228.162.514.264.337.593.543.950.335 za cele brojeve (bez decimalnog zareza);

+/-7,9228162514264337593543950335 za decimalne brojeve (28 decimalnih mesta);

najmanji broj različit od nule je +/-0.0000000000000000000000000001

Page 7: Visual basic   deo 3

Tipovi podataka u Visual Basic-u (2)

Tip podatka ČuvaZauzimanje

memorijeOpseg

DateInformacijeo datumu i vremenu

8 bajtova od 01. Januara 100. godine do 31. Decembra 9999. godine

ObjectPrimerak klase;

OLE objekte

4 bajta Bilo koja referenca na klasu ili Object

String(fiksne dužine)

Tekstualne(kvali-tativne)

informacije

1 bajt za svaki znak tj. dužina

stringaod 1 do približno 65.400

String(promenljive dužine)

Tekstualne(kvali-tativne)

informacije

10 bajtova + dužina stringa

od 1 do približno 2 milijarde

Variant(sa brojevima)

Bilo koji od prethodnih

tipova16 bajtova svaka numerička vrednost do opsega definisanog za Double tip

podataka

Variant(sa tekstualnim znacima

– karakterima)

Bilo koji od prethodnih

tipova

22 bajta + dužina stringa

isti opseg kao što je definisan za String promenljive dužine

Type(korisnički

definisan tip podatka)

Korisnik određuje

kombinaciju tipova

Broj bajtova zavisi od

korišćenih tipova

opseg svakog elementa je isti kao opseg odgovarajućeg tipa podatka

Page 8: Visual basic   deo 3

Prefiksi za imenovanje podataka u Visual Basic-u

Tip podatka Prefiks Primer

Integer n nBrojDiplomiranih

Long l lJMBG

Single f fProsekOcena

Double d dDeterminanta

Currency c cPlata

Boolean b bUpisSemestra

String s sPrezime

Page 9: Visual basic   deo 3

Znaci za deklarisanje promenljivih u Visual Basic-u

Tip podatka Sufiks Primer Ekvivalent

Integer % Dim Eksperiment% Dim Eksperiment As Integer

Long & Dim Stanovnik& Dim Stanovnik As Long

Single ! Dim Kolicnik! Dim Kolicnik As Single

Double # Dim VelikiBroj# Dim VelikiBroj As Double

Currency @ Dim Cena@ Dim Cena As Currency

String $ Dim Ime$ Dim Ime As String

Page 10: Visual basic   deo 3

Konvencije o imenovanju objekata u Visual Basic-uObjekat Prefiks Primer

Kombinovani okvir (Combo box) cbo cboOdsek

Polje za potvrdu (Check box) chk chkUpisao

Komndno dugme (Command button) cmd cmdKraj

Standardni dijalog (Common dialog) dlg dlgOtvoriDatoteku

Podaci (baza podataka) (Data) dat datStudenti

Kombinovani okvir vezan za podatke (Data-bound combo box) dbc dbcSmer

Lista vezana za podatke (Data-bound list box) dbl dblIspit

Lista direktorijuma (Directory list box) dir dirIzvor

Lista diskova (Drive list box) drv drvIzvor

Lista fajlova (File list box) fil filCilj

Okvir (Frame) fra fraIzborOpreme

Obrazac (Form) frm frmKalkulator

Page 11: Visual basic   deo 3

Konvencije o imenovanju objekata u Visual Basic-u (2)

Objekat Prefiks PrimerHorizontalna traka za pomeranje sadržaja

(Horizontal scroll bar) hsb hsbJacina

Slika (Image) img imgKocka

Labela (Label) lbl lblKancelarijskaOprema

Linija (Line) lin linPrecrtano

Lista (List box) lst lstProizvodi

Meni (Menu) mnu mnuPomoc

Objekt za povezivanje i ugrađivanje (OLE) ole oleExcelTabela1

Opciono dugme (Option button) opt optSamofinansirajuci

Polje za sliku (Picture box) pic picAvion

Geometrijski oblici (Shape) shp shpZaobljeniKvadrat

Polje za tekst (Text box) txt txtKorisnickoIme

Časovnik - tajmer (Timer) tmr tmrVremeDoLansiranja

Vertikalna traka za pomeranje sadržaja (Vertical scroll bar) vsb vsbIntenzitet

Page 12: Visual basic   deo 3

Tipovi datoteka u Visual Basic-u

Oznaka tipa Naziv Sadržaj

.VBP.MAK

Datoteka projekta

Sadrži putanju (disk i katalog lokacije) i nazive svih datoteka (.FRM, .BAS, …) koje sačinjavaju jedan program tj. projekat u

Visual Basic-u.

.VPGDatoteka grupe projekata

Slično datoteci projekta, ova datoteka sadrži sve potrebne informacije o lokacijama svih projekata koji čine jedinstvenu celinu – grupu

projekata.

.VBW

Datoteka projekta radnog okruženja

Sadrži informacije koje Visual Basic koristi za izvršavanje programa.

.FRMDatoteka modula obrasca

Sadrži opis obrasca (prozora), svih kontrolnih objekata obrasca (komandnih dumadi, opcionih dugmadi, natpisa, okvira za tekst i tako

dalje), kao i programskog koda koji je u vezi sa ovim kontrolnim objektima.

.BASDatoteka

standardnog modula

Sadrži programski kod opštih procedura koji mogu da dele svi moduli u projektu. Datoteke standardnog modula ponekada se nazivaju

datotekama modula koda.

.OCX

.VBX

Datoteka korisničkog kontrolnog

objekta

Sadrži jedan ili više korisničkih kontrolnih objekata – Active X – prethodno napisanih programa koji proširuju mogućnosti Visual

Basic-a (animirana dugmad, 3D kontrolni objekti, ...). Ove datoteke se obično smeštaju u podkatalog WINDOWS\SYSTEM, tako da

mnogi različiti projekti mogu da ih koriste.

.CLSDatoteka

modula klaseSadrži definiciju klase – objekta.

Page 13: Visual basic   deo 3

KontrolaKontrola je alatka pomoću koje se stvaraju objekti na Visual Basic-ovom obrascu. Kontrole se uzimaju pomoću miša iz palete alatki i koriste se za crtanje objekata. Jednostrukim klikom na levi taster miša uzima se kontrola iz palete alatki. U prozoru obrasca pokazivač je tada krstić kada, držeći levi taster miša pritisnut, crtamo objekat kao pravougaonik kome definišemo dijagonalne uglove. Formiranom objektu, možemo, dodatno podešavati položaj i veličinu kao svim objektima u Windows-ima, pomoću ručica (handler). Dvostrukim klikom levog tastera miša, dok je pokazivač na željenoj kontroli, moguće je automatski formirati objekat standardnih dimenzija na sredini obrasca.

ObjekatObjekat je element korisničkog interfejsa koji je pomoću kontrole iz palete alatki napravljen na Visual Basic-ovom obrascu. Objekte možemo da pomeramo, menjamo im dimenzije i podešavamo pomoću svojstava. Objekti imaju takozvanu ugrađenu funkcionalnost, odnosno, ''znaju'' kako da rade i da sami reaguju na određene situacije. Na primer Kombinovani okvir – ComboBox ''zna'' kako da se na klik otvori, pomera pri izboru, i nakon izbora prikaže izabrano i zatvori. Pomoću procedura vezanih za događaje, Visual Basic objekte programiramo za razne situacije u programu. U Visual Basic-u, i sam obrazac je objekat.

Page 14: Visual basic   deo 3

Procedura događajaProcedura događaja je deo programskog koda koji se izvršava kada se u programu nešto dešava sa objektom. Na primer, kada se klikne na komandno dugme ''Kraj'', izvršava se procedura događaja cmdKraj_Click. Procedura događaja, korišćenjem programskih naredbi, obavlja određene zadatke u programu (obično ispituju i podešavaju svojstva).

Programska naredbaProgramska naredba je ključna reč u programskom kodu koja u programu obavlja neki posao. Visual Basic–ove programske naredbe omogućavaju obavljanje praktično svih poslova, počev od stvaranja prostora za čuvanje podataka, preko unošenja podataka i izračunavanja, pa sve do izdavanja rezultata.

Page 15: Visual basic   deo 3

SvojstvoSvojstvo je vrednost ili karakteristika Visual Basic-ovog objekta. Svojstva se mogu podešavati u toku pripreme programa (Design Mod), pomoću prozora svojstava (Property Window), ili u toku izvršavanja programa (Run Time Mod), pomoću naredbi programskog koda. Format za podešavanje vrednosti svojstva pomoću programskog koda je:

Objekat.Svojstvo = Vrednost

MetodaMetoda je posebna naredba koja izvršava akciju ili uslugu za određeni objekat u programu. Format za upotrebu metode u programskom kodu je:

Objekat.Metoda Vrednost

Page 16: Visual basic   deo 3

Razvojno okruženje Visual BASIC-a

Page 17: Visual basic   deo 3

Operatori u Visual Basic-u

Operator Operacija Primer Rezultat

+ Sabiranje 6 + 4 10

- Oduzimanje 6 – 4 2

* Množenje 6 * 4 24

/ Deljenje 6 / 4 1,5

\ Deljenje celih brojeva 6 \ 4 1

Mod Ostatak deljenja 6 Mod 4 2

^ Stepenovanje 6 ^ 4 1296

& Sastavljanje stringova “Opera” & “tor” “Operator”

Page 18: Visual basic   deo 3

Visual Basic-ove matematičke funkcije

Funkcija Namena

Abs(n) Daje apsolutnu vrednost broja n.

Atn(n) Daje arkus tangens u radijanima za n.

Cos(n) Daje kosinus ugla n. Ugao n je u radijanima.

Exp(n) Daje konstantu prirodnih algoritama e, stepenovanu sa n.

Rnd(n) Stvara slučajan broj između 0 i 1.

Sgn(n) Daje -1 ako je n manji od 0, 0 ako je n jednako 0 i +1 ako je n veće od 0

Sin(n) Daje sinus ugla n. Ugao n je u radijanima.

Sqr(n) Daje kvadratni koren broja n.

Str(n) Konvertuje numeričku vrednost n u string.

Tan(n) Daje tangens ugla n. Ugao n je u radijanima.

Val(n) Konvertuje string n u broj.

Page 19: Visual basic   deo 3

Visual Basic-ove funkcije sistemskog vremena

Funkcija Namena

Time Daje tekuće vreme iz sistemskog sata.

Date Daje tekući datum iz sistemskog sata.

Now Daje vrednost koja predstavlja tekuće vreme i datum.

Hour(time) Iz funkcije Time daje deo koji se odnosi na sate (0 do 23).

Minute(time) Iz funkcije Time daje deo koji se odnosi na minute (0 do 59).

Second(time) Iz funkcije Time daje deo koji se odnosi na sekunde (0 do 59).

Day(date) Iz funkcije Date daje ceo broj koji predstavlja dan u mesecu (1 do 31).

Month(date) Iz funkcije Date daje ceo broj koji predstavlja mesec (1 do 12).

Year(date) Iz funkcije Date daje ceo broj koji predstavlja godinu.

Weekday(date) Daje ceo broj koji predstavlja dan u nedelji (1 je nedelja, 2 poned,...).

Page 20: Visual basic   deo 3

Visual Basic-ove funkcije za obradu stringovaFunkcija Namena

Ucase(S$)Menja sva slova stringa S$ u velika slova.(rezultat Ucase(“Zdravo”) je “ZDRAVO” )

Lcase(S$)Menja sva slova stringa S$ u mala slova.(rezultat Lcase(“Zdravo”) je “zdravo” )

Len(S$)Odrđuje dužinu stringa S$ u znakovima.

(rezultat Len(“Zdravo”) je 6 )

Right(S$,n)Izdvaja n znakova sa desnog kraja stringa S$.

(rezultat Right(“Zdravo”,3) je “avo” )

Left(S$,n)Izdvaja n znakova sa levog kraja stringa S$.

(rezultat Left(“Zdravo”,3) je “Zdr” )

Mid(S$,m,n)Izdvaja n znakova iz stringa S$ počev od m-tog znaka.

(rezultat Mid(“Zdravo”,2,3) je “dra” )

InStr(M$,S$)Određuje lokaciju početka manjeg stringa M$ unutar većeg S$.

(rezultat InStr(“dr”,“Zdravo”) je 2 )

String(n,S$)Ponavlja n puta string S$.

(rezultat String(3,“Zdravo”) je “ZdravoZdravoZdravo” ).

Asc(S$)Vraća ASCII vrednost znaka S$.

(rezultat Asc(“Z”) je 90 ).

Chr(n)Vraća znak koji odgovara ASCII vrednosti n.

(rezultat Chr(90) je “Z”)

Page 21: Visual basic   deo 3

Visual Basic-ove funkcije za konverziju tipa podatka

Funkcijakonverzije

Konvertuje izraz (vrednost izraza ili promenljive) ili podatak u sledeći tip:

Cbool Boolean

Cbyte Byte

Ccur Currency

Cdate Date

CDbl Double

Cint Integer

CLng Long

CSng Single

CStr String

Cvar Variant

CVErr Error

Page 22: Visual basic   deo 3

Funkcija InputBoxFunkcija InputBox se koristi za preuzimanje podataka od korisnika. Podatak (podatke) koji korisnik unese u tekst boks dijalog boksa funkcije InputBox , prosleđuje se programu u obliku stringa koji funkcija vraća u navedenu promenljivu. Sintaksa ove funkcije je:

Promenljiva = InputBox ( poruka [, naslov] [, podrazumevana_vrednost] _[, X_pozicija] [, Y_pozicija] [ , fajl_za_pomoć , sadržaj ] )

Funkcija InputBox može da ima sedam argumenata od kojih je jedino prvi poruka obavezan, dok su svi ostali opcioni.

Argument poruka je stringovni izraz čija će se vrednost pojavljivati u prozoru za dijalog funkcije InputBox.

Argument naslov je opcioni takođe stringovni izraz čija će se vrednost pojavljivati u naslovnoj liniji prozora za dijalog funkcije InputBox. Ukoliko se ovaj argument ne navede u naslovnoj liniji će se pojavljivati naziv PROJEKTA.

Argument podrazumevana_vrednost je stringovni izraz čija će se vrednost pojavljivati u tekst boksu prozora za dijalog funkcije InputBox kao podrazumevana vrednost koja će se vratiti programu ako se ne ukuca ništa, a pritisne se OK. Ukoliko se izostavi ovaj argument tekst boks će biti prazan.

Page 23: Visual basic   deo 3

Funkcija InputBox (2)

Argument X-pozicija je numerički izraz čija vrednost određuje horizontalno rastojanje u tvipsima (twips) od leve ivice prozora za dijalog funkcije InputBox i leve ivice ekrana. Ukoliko se izostavi ovaj argument, prozor za dijalog će se pojavljivati horizontalno centriran.

Argument Y-pozicija je numerički izraz čija vrednost određuje vertikalno rastojanje u tvipsima (twips) od gornje ivice prozora za dijalog funkcije InputBox i gornje ivice ekrana. Ukoliko se izostavi ovaj argument, prozor za dijalog će se pojavljivati na približno jednoj trećini visine ekrana od gornje ivice.

Šesti argument fajl_za_pomoć je stringovni izraz koji identifikuje Help fajl koji će se pojavljivati uz dijalog-boks. Ukoliko se koristi ovaj argument mora se koristiti i poslednji argument sadržaj.

Poslednji – sedmi argument sadržaj je numerički izraz koji se koristi sa prethodnim argumentom i odrđuje broj u sadržaju pridruženog Help fajla.

U starijim verzijama BASIC-a funkcija InputBox se pisala sa dolarskim znakom ($) na kraju, da bi se programeri podsećali na to da je vrednost koju ova funkcija vraća tipa string. U Visual Basic-u se obe varijante, sa i bez dolarskog znaka ( InputBox(...) i InputBox$(...) ), ravnopravno mogu koristiti.

Page 24: Visual basic   deo 3

Funkcija/naredba MsgBox Funkcija/naredba MsgBox služi za izradu jednostavnih okvira za dijalog.

Ukoliko se navede samo programski red sa: MsgBox ... radi se o naredbi, a ukoliko se navede Promenljiva = MsgBox (...) radi se o funkiji koja u navedenu Promenljivu vraća određenu vrednost.

Sintaksa naredbe MsgBox je:MsgBox ( poruka [ , tip ] [ , naslov ] [ , fajl_za_pomoć , sadržaj ] )

Dakle, funkcija/naredba MsgBox, može da ima pet argumenta: poruku, tip, naslov, fajl za pomoć i sadržaj.

Od ovih argumenata je obavezan prvi argument – string poruka, dok su preostala četiri opciona. Kada se ne koristi argument tip, zagrada obuhvata samo prvi argument.

Ukoliko se izostave argumenti za tip, naslov, fajl za pomoć i sadržaj, tj. ako se napiše sledeći programski red: MsgBox ( "Poruka") izgled poruke biće kao na slici. Kao što možemo videti u tom slučaju pojavljuje se samo dugme OK, a za naslov se uzima naziv PROJEKTA u kome se trenutno radi.

Page 25: Visual basic   deo 3

Funkcija/naredba MsgBox (2)Argument tip je numerik koji definiše broj dugmadi i način pojavljivanja poruke prema Tabeli

Numerička vrednost za tip Unutrašnja konstanta za tip Opis Izgled

0 vbOKOnly Prikazuje samo dugme OK

1 vbOKCancel Prikazuje dugmad OK i Cancel

2 vbAbortRetryIgnore Prikazuje dugmad Abort, Retry i Ignore

3 vbYesNoCancel Prikazuje dugmad Yes, No i Cancel

4 vbYesNo Prikazuje dugmad Yes i No

5 vbRetryCancel Prikazuje dugmad Retry i Cancel

16 vbCriticalPrikazuje ikonu sa znakom stop (koristi se za

kritične poruke)

32 vbQuestionPrikazuje ikonu sa znakom pitanja (koristi se

za upozoravajuće upite)

Page 26: Visual basic   deo 3

Funkcija/naredba MsgBox (3)

Numerička vrednost za tip Unutrašnja konstanta za tip Opis Izgled

48 vbExclamationPrikazuje ikonu sa znakom uzvika (koristi se za

upozoravajuće poruke)

64 vbInformation Prikazuje ikonu sa slovom i (koristi se za informacione poruke)

0 vbDefaultButton1 Podrazumevajuće je prvo dugme

256 vbDefaultButton2 Podrazumevajuće je drugo dugme

512 vbDefaultButton3 Podrazumevajuće je treće dugme

Page 27: Visual basic   deo 3

Funkcija/naredba MsgBox (4)

Numerička vrednost za tip Unutrašnja konstanta za tip Opis Izgled

768 vbDefaultButton4 Podrazumevajuće je četvrto dugme

0 vbApplicationModalPoruka je modalna za aplikaciju. Korisnik prvo mora da

odgovori na poruku pa nakon toga da nastavi sa radom u tekućoj aplikaciji.

--- || ---

4096 vbSystemModal Poruka je modalna za sistem. Sve aplikacije na sistemu su suspendovane sve dok korisnik ne odgovori na poruku.

--- || ---

16384 vbMsgBoxHelpButton Dodaje dugme Help u MsgBox

65536 vbMsgBoxSetForegroundSpecificira prozor poruke kao foreground

prozor--- || ---

524288 vbMsgBoxRight Tekst je desno poranat --- || ---

1048576 vbMsgBoxRtlReadingSpecificira pojavu teksta s desna u levo, za Jevrejske i

Arapske sisteme --- || ---

Page 28: Visual basic   deo 3

Funkcija/naredba MsgBox (5)

Treći argument naslov je stringovni izraz koji se pojavljuje u naslovnoj liniji dijalog-boksa.

Četvrti argument fajl_za_pomoć je stringovni izraz koji identifikuje Help fajl koji će se pojavljivati uz dijalog-boks. Ukoliko se koristi ovaj argument mora se koristiti i poslednji argument sadržaj.

Poslednji – peti argument sadržaj je numerički izraz koji se koristi sa prethodnim argumentom i odrđuje broj u sadržaju pridruženog Help fajla.

Ukoliko se MsgBox koristi kao funkcija, onda ona vraća programu numerički podatak o tome koje je dugme pritisnuto prema sledećoj tabeli:

Unutrašnja konstanta Vrednost Pritisnuto dugme

vbOK 1 OK

vbCancel 2 Cancel

vbAbort 3 Abort

vbRetry 4 Retry

vbIgnore 5 Ignore

vbYes 6 Yes

vbNo 7 No