You are on page 1of 28

VISUAL

BASIC 6.0
Osnove i zadaci

Projekt u VB

Jedna ili vise formi I programskih modula, gdje je


svaka forma smjestena u svoju datoteku projekt ih
okuplja u jedinstvenu aplikaciju

Programiranje u VB
Programski kod grupisan je u odsjecke, a svaki
odsjecak je reakcija na odredjeni dogadjaj
Za svaku kontrolu smjestenu na formi generira
varijablu preko koje se u kodu pristupa njenim
svojstvima I metodama
Primjer:
(Name).Svojstvo
Text1.Text = Dobar dan!
(Name).Metoda
Text1.SetFocus - vraca pokazivac misa na tekst

Upravljacka tipka (Command


Button)

1.

2.

Koristi se za pocetak, kraj ili prekid nekog postupka


SVOJSTVA:
NAME -Ime varijable koja cuva objekt tipa Form. Ne
moze se mijenjati tokom izvodjenja programa, jer se
preko nje pristupa objektu tokom izvodjenja.
CAPTION postavlja se tekst na tipku

Primjer: Napisati programski kod koji ce kad se pritisne


tipka pisati OTPUSTI ME, a kad nije pritisnuto
PRITISNI ME.

Objekt - TextBox

1.
2.

Prikazuje podatke u vrijeme oblikovanja i izvodjenja


programa
SVOJSTVA:
NAME -Ime varijable koja cuva objekt tipa TextBox.
Ne moze se mijenjati tokom izvodjenja programa.
TEXT vraca ili postavlja znakovni niz u objekt

Primjer: Napisati programski kod koji ce kad se klikne


na komandu OK napisati u TextBox-u DOBAR DAN!,
a kad se misem predje preko komande OK ce u
drugom TextBox-u napisati LAKU NOC!.

Rezultat

Objekt - Label

1.
2.
3.

Graficki objekt namijenjen za prikaz teksta


Najcesce se koristi za prikaz stanja programa tokom
izvodjenja, kao i za oznacavanje ostalih objekata
(npr.TextBox, Picture) koji nemaju svojstvo Caption
SVOJSTVA:
NAME -Ime varijable koja cuva objekt tipa Label. Ne
moze se mijenjati tokom izvodjenja programa.
FONT velicina slova, vrsta slova
ALIGNMENT poravnanje teksta: 0-lijevo, 1-desno, 2
centar

Primjer: Koristeci Label I Command Button kreirati


formu za promjenu debljine slova, tj. Bold.

VISIBLE (True i False; objekt vidljiv ili


ne)

Promjena boje pozadine

Sabiranje dva broja

Program PROVJERAVA da li je broj pozitivan ili


negativan

Private Sub
Command1_Click()
Dim a As Integer, rez As
String
On Error GoTo kraj:
a = Text1
If a > 0 Then
Label1.Caption = "Broj je
pozitivan "
If a < 0 Then
Label1.Caption = "broj je
negativan"
Exit Sub
kraj:
MsgBox "morate unijeti
broj", vbOKOnly,
"napomena"
End Sub

Vjezba mnozenja
Private Sub
cmdPostavi_Click()
Randomize Timer
a = Int(Rnd * 10)
b = Int(Rnd * 10)
txtA.Text = a
txtB.Text = b
txtRezultat.Text = ""
End Sub
Private Sub
cmdProvjeri_Click()
a = Val(txtA.Text)
b = Val(txtB.Text)
odgovor =
Val(txtRezultat.Text)
c=a*b
If odgovor = c Then
MsgBox "Odgovor je tacan!"
Else
MsgBox "Odgovor NIJE
tacan!"
End If

Preracunavanje brzine izrazene u km/h u m/s

Osnovna
forma

Greska prilikom pogresnog unosa

Private Sub
cmdPreracunaj_Click()
Dim a As Integer
'Provjera da li je unesena
vrijednost numericka
If (IsNumeric(txtPrvi.Text))
Then
a = txtPrvi.Text
txtDrugi.Text = a / 3.6
Else
MsgBox ("Greska! Niste
uneli broj!")
End If
End Sub
Private Sub
cmdPonisti_Click()
txtPrvi.Text = ""
txtDrugi.Text = ""
txtPrvi.SetFocus
End Sub
Private Sub cmdKraj_Click()
End
End Sub

1. Dat je prirodan broj k. Napisati program kojim se odreuje koja


se cifra nalazi na k-toj poziciji niza: 110100100010000100000... u
kome su redom dopisivani brojevi 1, 10, 100, 1000, ...

PrivateSubtxtK_Change(
)
txtRezultat.Text = "
EndSub

PrivateSubcmdPronadji_Click()
OnErrorGoTo1

DimkAsInteger
DimsAsInteger
DimcAsInteger
DimiAsInteger

k = txtK.Text
s = 0
i = 0
Whiles < k
i = i + 1
s = s + i
Wend
Ifk = s + 1 - iThenc = 1Elsec = 0
txtRezultat = "Na poziciji " & k & " nalazi se cifra: " &
c & "."
ExitSub
1
MsgBox Err.Description, vbCritical, "Greka
EndSub

2. Napisati program koji u zadatom intervalu [m,n] odreuje dva


cjelobrojna rjeenja jednaine: a*x+b*y=c, gdje su a, b, c dati cijeli
brojevi
PrivateSubtxtB_Change()
lstRezultat.Clear
EndSub

PrivateSubtxtC_Change()
lstRezultat.Clear
EndSub

PrivateSubtxtM_Change()
lstRezultat.Clear
EndSub

PrivateSubtxtN_Change()
lstRezultat.Clear
EndSub

PrivateSubcmdCRjesenja_Click()
OnErrorGoTo1
DimaAsInteger
DimbAsInteger
DimcAsInteger
DimnAsInteger
DimmAsInteger
DimxAsSingle
DimyAsSingle

a = txtA.Text
b = txtB.Text
c = txtC.Text
m = txtM.Text
n = txtN.Text

lstRezultat.Clear
Forx = mTon
y = (c - a * x) / b
Ify = Int(y)And(c - a * x) / b <= nAnd(c - a * x) / b >= mThen
lstRezultat.AddItem "x=" & x & " y=" & y
EndIf
Nextx
IflstRezultat.ListCount = 0ThenlstRezultat.AddItem "Nema cjelobrojnih
rjeenja."
ExitSub
1
MsgBox Err.Description, vbCritical, "Greka"
EndSub

3. Napisati program kojim se za dati prirodan broj x formira broj y


sastavljen od istih cifara ali u obrnutom poretku, a zatim ispituje da
li je broj x + y potpun kvadrat.

Private Sub txtX_Change()


txtY.Text = ""
lblRezultat.Caption = ""
End Sub
Private Sub txtX_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = 13 Then cmdRjesenje.SetFocus
End Sub

Private SubcmdRjesenje_Click()
OnErrorGoTo1
DimxAsInteger
DimyAsInteger
DimzAsInteger
DimnAsInteger
DimcifAsInteger

x = txtX.Text
y = 0
n = x
Whilen > 0
cif = nMod10
y = y * 10 + cif
n = Int(n / 10)
Wend
txtY.Text = y
z = x + y
IfInt(Sqr(z)) = Sqr(z)Then
lblRezultat.Caption = x & " + " & y & " = " & _
x + y & " je potpun kvadrat."
Else
lblRezultat.Caption = x & " + " & y & " = " & _
x + y & " nije potpun kvadrat."
EndIf
Exit Sub
1
MsgBox Err.Description, vbCritical, "Greka"
End Sub

4. Napisati program za meusobnu razmjenu vrijednosti dvije


cjelobrojne promjenjive bez koritenja drugih promjenjivih.

PrivateSubtxt_a_ulaz_Change()
txt_a_izlaz = "
txt_b_izlaz = "
EndSub

PrivateSubcmd_Rjesenje_Click()
OnErrorGoTo1

DimaAsInteger
DimbAsInteger
a = txt_a_ulaz.Text
b = txt_b_ulaz.Text
a = a + b
b = a - b
a = a - b
txt_a_izlaz = a
txt_b_izlaz = b
ExitSub
1
MsgBox Err.Description, vbCritical, "Greka"
EndSub

Zadatak 5:
Kreirati aplikaciju u
VB za unos tri broja i
izracunavanje razlike
izmedju najveceg i
zbira preostala dva
broja.

Konacan izgled forme

Programski kod za tipku IZRACUNAJ:


Private Sub cmdIzracunaj_Click()
A = CDbl(txtA.Text)
B = CDbl(txtB.Text)
C = CDbl(txtC.Text)
If A > B And A > C Then
Razlika = A - (B + C)
ElseIf B > A And B > C Then
Razlika = B - (A + C)
Else
Razlika = C - (A + B)
End If
txtRazlika.Text = Razlika
End Sub

Programski
za tipku NOVI
Private Subkod
cmdNovi_Click()
txtA.Text = ""
UNOS:
txtB.Text = ""
txtC.Text = ""
txtRazlika.Text = ""
End Sub

Rad programa kroz


aplikaciju