visual basic deo 3
TRANSCRIPT
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
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.
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
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.
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
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
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
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
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
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
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.
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.
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.
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
Razvojno okruženje Visual BASIC-a
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”
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.
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,...).
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”)
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
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.
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.
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.
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)
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
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 --- || ---
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