Sie sind auf Seite 1von 55

PANEVROPSKI UNIVERZITET APEIRON FAKULTET POSLOVNE INFORMATIKE

Vanredne studije

Smjer Informacina tehnologija

Predmet: VIZUAL BASIC

PRIMJERI OSNOVNIH VB APLIKACIJA

Predmetni nastavnik Prof. dr Zoran . Avramovi, dipl.in.elek. .

Student

Dani Emina,ininjer elektrotehnike


Index br. 167-08

Banja Luka, Juni 2009.

Uvod
Basic, kao programski jezik je preao dug razvojni put. Zahvaljujui Microsoft-u postao je profesionalni razvojni alat i standard za razvoj aplikacija u Windows okruenju. Princip objektnog programiranja u Windows-u, koji je dosledno prenet na Visual Basic, se zasniva na tri kljuna termina: 1. Svojstva ( Properitis) 2. Metode ( Methods) 3. Dogadjaje ( Events) Ako bi napravili poreenje sa ovjekom ( u ovom primjeru ) objekt mogla bi se povui paralela: Svojstva ovjeka bi bila njegove fizike osobine: teina, visina, boja oiju... Metode bi bile njegove sposobnosti u strunom smislu: sposobnost da projektuje zgradu, popravi automobil, napravi raunarski program. Dogaaji bi bili naini na koje ovjek reaguje na spoljnu sredinu i svoje okruenje. Cjelokupni program je podijeljen na mnotvo dijelova koji se izvravaju kada korisnik izvri neku akciju. Na primjer, akcija bi mogla biti klik na komandno dugme. U tom sluaju komandno dugme je objekat. U njegova svojstva spada tekst koji je ispisan na njemu. Dugme prepoznaje kada korisnik klikne na njega (dogaaj) i mi za taj dogaaj ( Click ) tog objekta ( CommandButton ) piemo kod. Ovaj kod e se startovati i izvriti samo kada se korisnik klikne na komandno dugme. Programiranje voeno dogaajima je u stvari manji ili vei broj segmenata programa koje korisnik aktivira svojim akcijama. U ovom radu prikazano je dvadeset primjera rijeenih zadataka.

Zadatak 1.
1. Tekst zadatka

Napisati program koji generie formu sa tekstom "Pozdrav svijetu" i jednom kontrolom tipa button ijim pritiskom se forma zatvara.
2. Izgled forme u dizajn modu

3. Izvorni kod programa


Private Sub Command1_Click() End End Sub

4. Opis promjenljivih

Promjenljivih nema..
5. Opis rjeenja

Program je vrlo jednostavan. Na formi su jedna kontrola tipa label za prikazivanje teksta "Pozdrav svijetu!" i jedna kontrola tipa button sa natpisom "Zatvori me!". Na pritisak dugmeta, tj. na njegov Click dogaaj izvrava se naredba End koja zavrava program i forma se zatvara.
6. Izgled forme u izvrnom modu

Isti kao i u dizajn modu.


7. Opis rada programa

Program prikazje tekst "Pozdrav svijetu!" te na pritisak dugmeta zatvara formu.


8. Uputstvo za korienje i napomene

Pritisnuti dugme "Zatvori me!"

Zadatak 2.
1. Tekst zadatka Napisati program koji generie formu sa tekstom "Pozdrav svijetu" i jednom kontrolom tipa button ijim pritiskom se forma zatvara. Na zatvaranje forme prikazati dijalog sa potvrdom kraja programa.
2. Izgled forme u dizajn modu

3. Izvorni kod programa


Private Sub Command1_Click() If MsgBox("Da li ste sigurni da zelite zatvoriti ovaj program?" _ & vbCrLf & vbCrLf & "Za potvrdu pritisnite Yes!", _ vbQuestion + vbYesNo, "Zatvaranje programa") = vbYes Then End End If End Sub

4. Opis promjenljivih

Promjenljivih nema..
5. Opis rjeenja

Program je vrlo jednostavan. Na formi su jedna kontrola tipa label za prikazivanje teksta "Pozdrav svijetu!" i jedna kontrola tipa button sa natpisom "Zatvori me!". Na pritisak dugmeta, tj. na njegov Click dogaaj izvrava se procedura za obradu tog dogaaja u kojoj se koristi MsgBox da bi se potvrdio kraj rograma, tj. izvravanje naredbe End koja zavrava program. Naime, MsgBox vraa vrijednost koja govori koje je dugme pritisnuto koju koristimo u If naredbi bi smo izvrili odgovarajue akcije, u ovom sluaju zavrili program
6. Izgled forme u izvrnom modu

Isti kao i u dizajn modu.


7. Opis rada programa

Program prikazje tekst "Pozdrav svijetu!" te na pritisak dugmeta "Zatvori me" trai potvrdu zatvaranja:

Na pritisak dugmeta Yes program se zatvara dok na pritisak dugmeta No glavna forma ostaje otvorena.
8. Uputstvo za korienje i napomene

Pritisnuti dugme "Zatvori me!". Odgovoriti na postavljeno pitanje.

Zadatak 3.
1. Tekst zadatka

Napisati program koji za dvije uneene stranice izraunava duinu tree stranice pravouglog trougla. Za unos duina stranica koristiti kontrole tipa textbox. Onu stranicu ija duina nije uneena izraunati. Na formi nacrtati pravougli trougao i textbox-ove rasporediti prema odgovarajuim stranicama trougla. Izraunavanje tree stranice vriti pritiskom na dugme na kome treba da stoji tekst "Izracunaj".
2. Izgled forme u dizajn modu

3. Izvorni kod programa Private Sub Command1_Click() Dim A, B, C, x A = Val(Text1.Text) B = Val(Text2.Text) C = Val(Text3.Text) If Text1.Text = "" Then x = Sqr((C * C) - (B * B)) Text1.Text = x End If If Text2.Text = "" Then x = Sqr((C * C) - (A * A)) Text2.Text = x End If If Text3.Text = "" Then x = Sqr((A * A) + (B * B)) Text3.Text = x End If End Sub 4. Opis promjenljivih

Promjenljive A, B i H slue za uvanje duina stranica koje su uneene, dok x slui za uvanje izraunate duine stranice.
5. Opis rjeenja

U varijable A, B i H se uitavaju uneene vrijednosti duina stranica pretvorene u brojane vrijednost, kako ne bi dolo do nepredviene greke u sluaju unosa teksta u polja za duine stranica. Trea stranica se izraunava na osnovu jednaine Pitagorine teoreme c2 = a2 + b2, gdje su a i b katete a c je hipotenuza. Izraunava se ona stranica za koju nije uneena duina. Rezultat se upisuje u prazni textbox.

6. Izgled forme u izvrnom modu

7. Opis rada programa

Za a = 3, b = 4 izraunae se c = 5. Za c = 10, b = 4 izraunae se a = 9.16515138991168 (prikazano na sljedeoj slici, prije pritiska na dugme "Izracunaj")

8. Uputstvo za korienje i napomene

Unijeti duine za dvije stranice i pritisnuti dugme "Izracunaj". Izraunae se duina trea stranice pravouglog trougla.

Zadatak 4.
1. Tekst zadatka

Poboljati program iz prethodnog zadatka tako da program daje upozorenje ukoliko je uneeno manje ili vie od dvije stranice te ukoliko se unesu duine koje mogu proizvesti nepredvienu greku pri izraunavanju tree (nepoznate) duine stranice.
2. Izgled forme u dizajn modu

3. Izvorni kod programa


Private Sub Command1_Click() Dim A, B, C, x Dim praznih As Integer praznih = 0 If Text1.Text = "" Then praznih = praznih + 1 If Text2.Text = "" Then praznih = praznih + 1 If Text3.Text = "" Then praznih = praznih + 1 If praznih <> 1 Then MsgBox "Unijeli ste manje vbOKOnly, "Nepravilan unos" Exit Sub End If A = Val(Text1.Text) B = Val(Text2.Text) C = Val(Text3.Text) If A < 0 Or B < 0 Or C < 0 Then MsgBox "Duina stranica ne moze biti negativna.", vbExclamation + vbOKOnly, "Nepravilan unos" Exit Sub End If

ili

vise

od

dvije

stranice.",

vbExclamation

If Text3.Text <> "" And C <= A + B Then MsgBox "Hipotenuza (c) mora biti najveca stranica.", vbExclamation + vbOKOnly, "Nepravilan unos" Exit Sub End If If Text1.Text = "" Then x = Sqr((C * C) - (B * B)) Text1.Text = x End If If Text2.Text = "" Then x = Sqr((C * C) - (A * A)) Text2.Text = x End If If Text3.Text = "" Then x = Sqr((A * A) + (B * B)) Text3.Text = x End If End Sub

4. Opis promjenljivih

Isto kao u prethodnom zadatku uz dodatnu varijablu praznih koja slui za uvanje broja praznih (neuneenih) polja na formi.
5. Opis rjeenja

Algoritam za izraunavanje nepoznate stranice je potpuno isti kao i u prethodnom zadatku. Ovaj program je poboljan u tome to se prije samog izraunavanja stranice provjerava da li je nepoznata tano jedna stranica i ako jeste vri se izraunavanje dok se u suprotnom prikazuje upozorenje te se izraunavanje ne vri.
Dim praznih As Integer praznih = 0 If Text1.Text = "" Then praznih = praznih + 1 If Text2.Text = "" Then praznih = praznih + 1 If Text3.Text = "" Then praznih = praznih + 1 If praznih <> 1 Then MsgBox "Unijeli ste manje ili vise od dvije stranice.", vbExclamation + vbOKOnly, "Nepravilan unos" Exit Sub End If

Osim toga, prikazuje se upozorenje i u sluajevima kad je unesena negativna duina stranice ili kateta vea od hipotenuze.
If A < 0 Or B < 0 Or C < 0 Then MsgBox "Duina stranica ne moze biti negativna.", vbExclamation + vbOKOnly, "Nepravilan unos" Exit Sub End If

If txtC.Text <> "" And C <= A + B Then MsgBox "Hipotenuza (c) mora biti najveca stranica.", vbExclamation + vbOKOnly, "Nepravilan unos" Exit Sub End If

6. Izgled forme u izvrnom modu

Izgled glavne forme sa izraunatom duinom nepoznate stranice:

Izgled upozorenja:

10

7. Opis rada programa

Program vri izraunavanje kao u prethodnom zadatku. Na unos nepravilnih podataka prikazuje se upozorenje. - Sluaj unosa vie ili manje od dvije stranice:

- Sluaj negativne stranice:

- Sluaj hipotenuze manje od katete:

11

8. Uputstvo za korienje i napomene

Unijeti duine za dvije stranice i pritisnuti dugme "Izracunaj". Izraunae se duina trea stranice pravouglog trougla. Za nepravilne ulazne podatke prikazuje se odgovarajua poruka.

Zadatak 5.
1. Tekst zadatka

Napisati program koji proizvoljan tekst napisan u predvieno polje dodaje u listu pritiskom na odgovarajue dugme. Realizovati i brisanje iz liste pomou odgovarajueg dugmeta. Pri brisanju se iz liste uklanja obiljeeni element, a ako element nije obiljeen onda ukloniti zadnji element u listi. Ukoliko je lista prazna onemoguiti brisanje.
2. Izgled forme u dizajn modu

3. Izvorni kod programa


Private Sub Command1_Click() 'Dodaj u listu string koji je trenutno u textBoxu List1.AddItem Text1.Text 'Ako dugme za brisanje nije omoguceno, omoguci ga 'jer je upravo dodan element u listu pa lista sigurno nije prazna If (Command2.Enabled = False) Then Command2.Enabled = True End If End Sub Private Sub Command2_Click() 'Ako lista nije prazna ukloni oznaceni element u listi. 'Ako nije oznacen ni jedan element ukloni zadnji element. 'Ako je lista prazna unemoguci koristenje dugmeta za brisanje

12

If (Not (List1.ListCount = 0)) Then If List1.SelCount > 0 Then List1.RemoveItem (List1.ListIndex) Else List1.RemoveItem (List1.ListCount - 1) End If If (List1.ListCount = 0) Then Command2.Enabled = False End If End Sub 'Pri ucitavanju forme u memoriju provjerava se da li ima elemenata 'u listi te se dugme za brisanje onemogucava ako je lista prazna 'jer bi u protivnom nastala greska ukoliko bi se pokusao brisati 'element iz prazne liste. Private Sub Form_Load() If (List1.ListCount = 0) Then Command2.Enabled = False End If End Sub

4. Opis promjenljivih

U programu se ne koristi niti jedna posebna promjenljiva osim koritenih kontrola sa forme.
5. Opis rjeenja

Za unos proizvoljnog teksta koristi se textbox kontrola Text1. Lista koja treba da se puni i prazni je listbox kontrola sa nazivom List1. Dodavanje teksta iz textbox-a se vri pritiskom na dugme Dodaj (Command1). To je mogue uraditi i pritiskom na tipku Enter, jer je Default property ove kontrole podeen na True vrijednost, ili pritiskom na Alt+D jer je Caption property podeen na &Dodaj. Dodavanje u listu se vri u proceduri za obradu Click dogaaja ove kontrole pozivanjem metode AddItem datog listbox-a. Nakon ovoga se dogme za brisanje omoguuje (Command2.Enabled = True) ukoliko je ono bilo onemogueno. Slino dodavanju, uklanjanje iz liste se vri u proceduri za obradu Click dogaaja kontrole Command2.Ukoliko je neki element u listi obiljeen, taj element se uklanja iz liste pomou RemoveItem metoda:
List1.RemoveItem (List1.ListIndex)

Ukoliko nije obiljeen ni jedan element u listi, iz liste se uklanja zadnji element:
List1.RemoveItem (List1.ListCount - 1)

Nakon svakog uklanjanja elementa iz liste provjerava se ima li u listi jo elemenata te se dugme Command2 onemoguuje ukoliko je lista prazna:
If (List1.ListCount = 0) Then Command2.Enabled = False

Naravno, im se program pokrene potrebno je onemoguiti dugme za uklanjanje sa liste ako je lista prazna, kako bi se onemoguio pritisak na ovo dugme. To se vri u proceduri Form_Load koja se pokree odmah nakon uitavanja forme u memoriju, a prije njenog prikazivanja na ekranu:
Private Sub Form_Load() If (List1.ListCount = 0) Then Command2.Enabled = False End If End Sub

13

6. Izgled forme u izvrnom modu

7. Opis rada programa

U nastavku je prikazano nekoliko izgleda forme sa tekstom koji se dodaje i uklanja. - Dodavanje teksta u listu:

- Uklanjanje elementa liste:

14

8. Uputstvo za korienje i napomene

U polje "Tekst koji se dodaje u listu:" upisati proizvoljan tekst i pritisnuti dugme Dodan (ili Enter ili Alt+D) da bi se tekst dodao u listu. Za brisanje obiljeenog elementa iz liste britisnuti dugme Ukloni (ili Alt+U).

Zadatak 6.
1. Tekst zadatka

Napisati program koji tekst upisan u jednu textbox kontrolu modifikuje tako da sva slova pretvara u mala slova i takav novi tekst upisuje u drugu tekst kontrolu.
2. Izgled forme u dizajn modu

3. Izvorni kod programa


Private Sub Command1_Click() Dim i As Integer Dim duzina As Integer Dim znak As String duzina = Len(Text1.Text) Text2.Text = "" For i = 1 To duzina znak = Mid(Text1.Text, i, 1) If znak >= "A" And znak <= "Z" Then znak = Chr(Asc(znak) - Asc("A") + Asc("a")) Text2.Text = Text2.Text & znak Next i End Sub

4. Opis promjenljivih

U programu se, osim kontrola na formi, koriste tri promjenljive: i cjelobrojna pomjenljiva koja slui kao broja u For petlji da bi se mogao dohvatiti svaki pojedinani znak uneenog teksta. duzina cjelobrojna promjenljiva koja uva duinu uneenog teksta. 15

znak znakovna promjenljiva koja sadri trenutni znak uneenog teksta koji se obrauje.
5. Opis rjeenja

U ovom programu se koristi osobina ASCII tabele da su slova engleske abecede poredana ba po abecedi i to mala slova redom jedno za drugim te velika slova redom jedno za drugim. Pri tome nije bitno gdje se u ASCII tabeli nalaze ovaj niz znakova niti je bitno da li su velika slova ispred maloh ili obratno. Uneeni tekst se mijenja u mala slova tako to se uz pomo For petlje prolazi kroz uneeni tekst znak po znak od poetka do kraja teksta, te se provjerava da li trenutni znak ima ASCII kod izmeu A i Z engleske abecede. Ako je odgovor pozitivan, taj znak se pretvara u malo slovo tako to se relativan poloaj tog znaka u odnosu na slovo A u ASCII tabeli dodaje ASCII kod malog slova 'a' te se na taj nain dobija ascii znak novodobijenog slova. To slovo se ponovo dodjeljuje promjenljivoj znak te se vrijednost te promjenljive dodaje na trenutnu vrijednos teksta u kontrolo txtRezultat. Textbox kontrole su podeene tako da se tekst prelama u novi red ukoliko je dui nego to mo stati u jedan red (podeen je Multiline atribut na True). Da bi se pretvaranje moglo izvesti i na pritisak tipke Enter, podeena je vrijednost propery-ja Default kontrole cmdPretvori na True.
6. Izgled forme u izvrnom modu

7. Opis rada programa

Na sljedeem primjeru vidi se tekst koji je pretvoren u mala slova.

16

8. Uputstvo za korienje i napomene

Unijeti eljeni tekst u gonje polje. Pritisnuti dugme "U mala". U donjem polju e biti prikazan rezultantni tekst. Pretvaranje je mogue izvriti i pritiskom na tipku Enter na tastaturi ili pritiskom na Alt+M.

Zadatak 7.
1. Tekst zadatka

Napisati program koji tekst upisan u jednu textbox kontrolu modifikuje tako da sve znakove osim cifara zamjenjuje sa praznim znakom (' ') te takav novi tekst upisuje u drugu tekst kontrolu.
2. Izgled forme u dizajn modu

3. Izvorni kod programa


Private Sub Command1_Click() Dim i As Integer Dim duzina As Integer Dim znak As String duzina = Len(Text1.Text) Text2.Text = "" For i = 1 To duzina znak = Mid(Text1.Text, i, 1) If znak < "0" Or znak > "9" Then znak = " " Text2.Text = Text2.Text & znak Next i End Sub

4. Opis promjenljivih

Kao i u prethodnom zadatku, i u ovom programu se, osim kontrola na formi, koriste tri promjenljive: i cjelobrojna pomjenljiva koja slui kao broja u For petlji da bi se mogao dohvatiti svaki pojedinani znak uneenog teksta. 17

duzina cjelobrojna promjenljiva koja uva duinu uneenog teksta. znak znakovna promjenljiva koja sadri trenutni znak uneenog teksta koji se obrauje.
5. Opis rjeenja

I u ovom programu se koristi osobina ASCII tabele da su cifre poredane jedna za drugom po veliini, tj. od 0 do 9. Cifre se izdvajaju tako to se uz pomo For petlje prolazi kroz uneeni tekst znak po znak od poetka do kraja teksta, te se provjerava da li trenutni znak ima ASCII kod izmeu znaka 0 i znaka 9. Ako je odgovor negativan, tj. ako je ASCII kod znaka manji od ASCII koda cifre 0 ili vei od ASCII koda cifre 9, taj znak se zamjenjuje praznim znakom. Taj znak se ponovo dodjeljuje promjenljivoj znak te se vrijednost te promjenljive dodaje na trenutnu vrijednost teksta u kontrolo txtRezultat. Textbox kontrole su podeene tako da se tekst prelama u novi red ukoliko je dui nego to mo stati u jedan red (podeen je Multiline property na True). Da bi se pretvaranje moglo izvesti i na pritisak tipke Enter, podeena je vrijednost propery-ja Default kontrole cmdPretvori na True.
6. Izgled forme u izvrnom modu

7. Opis rada programa

Primjer obraenog teksta:

Vidi se da program moe biti koristan prilikom izdvajanja nekih brojanih vrijednosti iz teksta, kao to je broj telefona. 18

8. Uputstvo za korienje i napomene

Unijeti eljeni tekst u gonje polje. Pritisnuti dugme "U mala". U donjem polju e biti prikazan rezultantni tekst sa brojanim vrijednostima. Pretvaranje je mogue izvriti i pritiskom na tipku Enter na tastaturi ili pritiskom na Alt+M.

Zadatak 8.
1. Tekst zadatka

Napisati program koji uneeni tekst prikazuje na formi i omoguava njegovo proizvoljno pomjeranje pomou odgovarajuih kontrola za vertikalnu i horizontalnu osu. Treba zabraniti minimiziranje forme ali dozvoliti njeno maksimiziranje.
2. Izgled forme u dizajn modu

Da bi e dozvolilo maksimiziranje a zabranilo minimiziranje forme, u dizajn modu emo podesiti atribute: MaxButtom na True a MinButton na False.
3. Izvorni kod programa
Private Sub Form_Load() HScroll1.Max = Me.Width VScroll1.Max = Me.Height HScroll1.Value = Label2.Left VScroll1.Value = Label2.Top HScroll1.SmallChange = 50 VScroll1.SmallChange = 50 End Sub Private Sub Form_Resize() If Me.Width < 5650 Then Me.Width = 6000 If Me.Height < 1500 Then Me.Height = 1500 HScroll1.Max = Me.Width VScroll1.Max = Me.Height End Sub

19

Private Sub Command1_Click() Label2.Top = (Me.Height - Label2.Height) / 2 Label2.Left = (Me.Width - Label2.Width) / 2 HScroll1.Value = Label2.Left VScroll1.Value = Label2.Top End Sub Private Sub HScroll1_Change() Label2.Left = HScroll1.Value End Sub Private Sub VScroll1_Change() Label2.Top = VScroll1.Value End Sub Private Sub Text1_Change() Label2.Caption = Text1.Text End Sub

4. Opis promjenljivih

U programu nema nekih posebnih promjenljivih osim samih kontrola na formi. Sve vrijednosti sa kojima se radi su u stvari atributi kontrola na formi.
5. Opis rjeenja

Ideja je da se tekst unosi pomoi jedne textbox kontrole (Text1) a da se taj uneeni tekst prikazuje na ekranu preko label kontrole koja e se onda pomjerati (Label2). Tekst unutar textboxa se uvijek moe promijeniti. Na svaku promjenu teksta taj tekst se kopira u label kontrolu. Ovo je realizovano u proceduri za obradu dogaaja Change textboxa (Text1_Change()). Pomjeranje, odnosno pozicija, se regulie uz pomo kontrola HScroll i VScroll. Te kontrole e sadravati poziciju label kontrole, tj. vrijednosti njenih atributa Left i Top. Na svaku promjenu ovih kontrola aurira se i vrijednost atributa Left i Top label kontrole na nove vrijednosti HScroll i VScroll kontrola. Tu je jo i jedna command kontrola (Command1) koja slui za postavljenje label kontrole na sredinu forme. Da bi se uneeni tekst uvijek vidio i da bi se mogao postaviti na sredinu, AutoSize atribut label kontrole treba postaviti na True. Ovakvo podeenje omoguava da je veliina label kontrole onolika koliko je potrebno da bi se prikazao sav tekst. Da bi scroll kontrole imale valjane vrijednosti, kao Max atribut im se postavljaju dimenzije forme (Width i Height). Na svaku promjenu dimenzija forme (Resize) atributi Max scroll kontrola se moraju aurirati na nove vrijednosti irine i visine forme. Prilikom promjene dimenzija ne dozvoljavaju se dimenzije forme takve da se ne vide kontrole za podeavanje poloaja, pa su najmanje dimenzije forme 6000 x 1500. Nakon uitavanja forme u memoriju postavljaju se poetne vrijednosti scroll kontrola (Value i Max) koje zavise od poloaja label kontrole i dimenzija forme, te se postavlja korak promjene vrijednosti scroll kontrola pri klikom na njihove strelice (atribut SmallChange scroll kontrola).

20

6. Izgled forme u izvrnom modu

7. Opis rada programa

U nastavku su dati primjeri za promjenu teksta i poloaja.

21

8. Uputstvo za korienje i napomene

Unijeti proizvoljan tekst u polje "Tekst za prikaz". Ovaj tekst se u svakom trenutku moe mienjati. Klikom mia na strelice scroll kontrola pomjerati tekst. Da bi se tekst postavio na sredinu forme kliknuti na dugme "x".

Zadatak 9.
1. Tekst zadatka

Napisati program koji za dva uneena broja izraunava njihovu sumu i prikazuje rezultat. Provjeriti ispravnost uneenih operanada i prikazati poruku ukoliko je potrebno.
2. Izgled forme u dizajn modu

22

3. Izvorni kod programa


Private Sub Command1_Click() Text3.Text = Val(Text1.Text) + Val(Text2.Text) End Sub Private Sub Text1_LostFocus() If IsNumeric(Text1.Text) = False Then MsgBox "Operand 1 nije broj. Postavljen na 0.", _ vbExclamation + vbOKOnly, "Nepravilni podaci" Text1.Text = 0 End If End Sub Private Sub Text2_LostFocus() If IsNumeric(Text2.Text) = False Then MsgBox "Operand 2 nije broj. Postavljen na 0.", _ vbExclamation + vbOKOnly, "Nepravilni podaci" Text1.Text = 0 End If End Sub

4. Opis promjenljivih

U programu, osim kontrola na formi, nema posebnih promjenljivih.


5. Opis rjeenja

Na formi se nalaze dva textboxa za operande, jedan command za operator i jedan textbox u koji e se upisivati rezultat. Poto se rezultat samo izraunava, u dizajn modu je atribut Locked kontrole Text3 postavljen na True. Program se sastoji samo od tri procedure. Prve dvije procedure su procedure za obradu dogaaja LostFocus kontrola Text1 i Text 2 koja se izvrava ako se promijeni fokus sa te kontrole. U obje je na identian nain realizovana provjera ispravnosti broja operanda koji je upravo uneen. Ukoliko nije uneena validna brojana vrijednost, to se provjerava funkcijom IsNumeric, prikazuje se odgovarajua poruka te se u tu kontrolu upisuje nula. Trea procedura je zaduena za izraunavanje i upisivanje rezultata u Text3. To je procedura za obradu dogaaja Click kontrole Command1 koja se izvrava ako se pritisne command koji predstavlja operator sabiranje (+). U dizajn modu su sve text kontrole postavljene na vrijednost 0.

23

6. Izgled forme u izvrnom modu

7. Opis rada programa

Program rauna sumu uneenih brojeva:

U sluaju unosa nepravilne numerike vrijednosti program prikazuje upozorenje:

->

te:

24

8. Uputstvo za korienje i napomene

Unijeti operande i pritisnuti operator sabiranja. Rezultat e biti prikazan u polju Rezultat

Zadatak 10.
1. Tekst zadatka

Napisati program koji za dva uneena broja i odabranu operaciju (+, -, * ili /) izraunava i prikazuje rezultat. Provesti kontrolu ispravnosti uneenih .
2. Izgled forme u dizajn modu

3. Izvorni kod programa


Private Sub Command1_Click(Index As Integer) Text3rez.Text = Val(Text1.Text) + Val(Text2.Text) End Sub Private Sub Command2_Click(Index As Integer) Text3rez.Text = Val(Text1.Text) - Val(Text2.Text) End Sub

25

Private Sub Command3_Click() Text3rez.Text = Val(Text1.Text) * Val(Text2.Text) End Sub Private Sub Command4_Click() If Text2.Text = 0 Then MsgBox "Operand 2 ne smije biti nula " & vbCrLf & _ "jer dijeljenje sa nulom nije dozvoljeno.", vbExclamation + _ vbOKOnly, "Nepravilni operandi" Exit Sub End If Text3rez.Text = Val(Text1.Text) / Val(Text2.Text) End Sub

4. Opis promjenljivih

U programu, osim kontrola na formi, nema posebnih promjenljivih.


5. Opis rjeenja

Zadatak je slian kao prethodna dva zadatka, s tim da sada imamo 4 operatora umjesto jednog. Bez nekog velikog razmiljanja moemo doi do slinog rjeenja kao u prethodnim zadacima, s tim da bi smo imali 4 kontrole za operatore i shodno tome 4 procedure za obradu dogaaja Click (pritisak miem). Meutim, i ovdje moemo program uiniti puno preglednijim i kraim koritenjem niza kontrola za operatore, slino kao to je uraeno za operande u prethodnom zadatku. Operandi su i ovdje realizovanikao niz textbox kontrola. Dakle, na formi se nalaze dva textboxa koji su u stvari niz textboxova sa nazivom txtOperand. Indeks prvog je 1 a drugog je 2. Tu su jo i niz od 4 kontrole tipa command za operatore (cmdOperator) sa indeksima od 0 do 3, te textbox txtRezultat u koji e se upisivati rezultat. Poto se rezultat samo izraunava, u dizajn modu je atribut Locked kontrole txtRezultat postavljen na True. Program se sastoji samo od dvije procedure. Prva procedura je procedura za obradu dogaaja LostFocus kontrole txtOperand koja se izvrava ako se promijeni fokus sa te kontrole. U njoj je realizovana provjera ispravnosti broja operanda koji je upravo uneen. Ukoliko nije uneena validna brojana vrijednost, to se provjerava funkcijom IsNumeric, prikazuje se odgovarajua poruka te se u tu kontrolu upisuje nula. Druga procedura je zaduena za izraunavanje i upisivanje rezultata u txtRezultat. To je procedura za obradu dogaaja Click kontrole cmdOperator koja se izvrava ako se pritisne neka od 4 kontrole koje predstavljaju operatore +, -, ili . Za sve etiri kontrole koristi se ista procedura za obradu dogaaja. To je i razlog zato su ove kontrole postavljene kao niz kontrola. Zavisno od operatora, odnosno indeksa pritisnute kontrole, izraunava se rezultat. U sluaju operatora za dijeljenje dodatno se provjerava da li drugi operator ima vrijednost nula te prikazuje odgovarajuu poruku, ukoliko je potrebno. U dizajn modu su sve text kontrole postavljene na vrijednost 0.
6. Izgled forme u izvrnom modu

26

7. Opis rada programa

U nastavku su prikazani izgledi forme za razne operatore.

27

U sluaju unosa dijeljenja sa nulom (34 : 0) pojavljuje se poruka:

te glavna forma postaje:

8. Uputstvo za korienje i napomene

Unijeti operande i pritisnuti eljeni operator. 28

Zadatak 11.
1. Tekst zadatka

Napisati program koji simulira rad toperice sa mogunou prikaza prolaznog vremena. Vrijeme brojati u sekundama i milisekundama.
2. Izgled forme u dizajn modu

Trenutno vrijeme se prikazuje pomou label kontrole Label1. Timer kontrola Timer1 je podeena tako da okida na svaku milisekundu (atribut Interval = 1) a u dizajn modu je atribut Enabled postavljen na False kako timer kontrola ne bi okidala dok se ne pokrene dugmetom Kreni.
3. Izvorni kod programa
Dim pocetak As Single, trenutno As Single Private Sub Command2_Click() pocetak = Timer Command1.Enabled = False Timer1.Enabled = True Command2.Enabled = False Command3.Enabled = False Command4.Enabled = True End Sub Private Sub Command1_Click() Command4.Enabled = True Command1.Enabled = False Command3.Enabled = False Command2.Enabled = False If pocetak = 0 Then pocetak = Timer trenutno = 0 End If Timer1.Enabled = True End Sub

29

Private Sub Command3_Click() pocetak = 0 Command2.Enabled = False Command3.Enabled = False Label1.Caption = Format(0, "0.000") End Sub Private Sub Command4_Click() Command4.Enabled = False Command1.Enabled = True Command3.Enabled = True Command2.Enabled = True Timer1.Enabled = False trenutno = Timer - pocetak + trenutno End Sub Private Sub Timer1_Timer() Label1.Caption = Format(Timer - pocetak + trenutno, "0.000") End Sub

4. Opis promjenljivih

U programu se koriste dvije promjenljive: - pocetak slui da se zapamti stanje timera (vrijeme) kad je zapoeto brojanje - trenutno koristi se za pamenje stanja timera prilikom klika na dugme Stani kako bi se prikazalo prolazno vrijeme
5. Opis rjeenja

Stanje toperice se kontrolie pomou 4 command kontrole (Kreni, Stani, Dalje i Reset). U procedurama za obradu dogaaja Click ovih kontrola realizovana je promjena stanja toperice, odnosno stanja timer kontrole. Na svako okidanje timer kontrole ispisuje se trenutno vrijeme toperice kao Timer - pocetak + trenutno, gdje je Timer stanje internog sistemskog timera. Klikom na dugme Stani (cmdstani_Click procedura) pamti se trenutno prolazno vrijeme. Ovo prolazno vrijeme se koristi ako se eli da pritiskom na Dalje toperica nastavi brojati od prolaznog vremena. Naime u ovom sluaju se promjenljiva pocetak postavlja na trenutno stanje Timera jer se stanje toperice izraunava kao Timer - pocetak + trenutno. U razliitim stanjima toperice neke tipke se moraju onemoguiti (atribut Enable postaviti na False) a neke omoguiti (Enable = True). To se moe vidjeti u kodu.
6. Izgled forme u izvrnom modu

30

7. Opis rada programa

U nastavku su prikazana razliita stanja toperice. toperica broji:

Prolazno vrijeme:

31

8. Uputstvo za korienje i napomene

Kliknuti na Kreni za poetak brojanja. Stani prikaz prolaznog vremena. Ponovni pritisak na Kreni toperica prikazuje trenutno vrijeme. Ako se pak klikne na Dalje toperica nastavlja mjeriti vrijeme ot trenutnog prolaznog vremena. Ako se u stanju prikaza prolaznog vremena pritisne dugme Reset toperica se resetuje na vrijeme 0.000.

Zadatak 12.
1. Tekst zadatka

Napisati program koji pretvara kilometre u milje i obratno.


2. Izgled forme u dizajn modu

3. Izvorni kod programa


Const KMuMILJI = 1.60934 Private Sub Command2_Click() Text1.Text = Val(Text2.Text) * KMuMILJI End Sub Private Sub Command1_Click() Text2.Text = Val(Text1.Text) / KMuMILJI End Sub

4. Opis promjenljivih

Promjenljivih, osim kontrola na formi, nema. Konstanta KMuMILJI uva odnos kilometra i milje, odnosno, broj kilometara u milji.
5. Opis rjeenja

Uneeni broj milja se pretvara u kilometretako tako to se taj broj pomnoi sa konstantom KMuMILJI, dok se uneeni broj kilometara pretvara u milje kad se podijeli broj kilometara sa konstantom KMuMILJE. Pretvaranje se vri klikom na odgovarajue dugme (strelicu), odnosno u procedurama za obradu dogaaja Click. Prilikom konverzije km u milje i obratno koristi se funkcija Val(tekst) za konverziju teksta u broj. Ova funkcija je zgodna zbog toga to e ak i za tekst koji nije numeriki podatak vratiti numeriki podatak, tj. nulu.

32

6. Izgled forme u izvrnom modu

7. Opis rada programa

U nastavku su prikazana dva primjera pretvaranja, prvo km u milje a onda milje u km:

8. Uputstvo za korienje i napomene

Unijeti broj kilometara ili milja u odgovarajue polje i pritisnuti odgovarajue dugme za konverziju.

Zadatak 13.
1. Tekst zadatka

Naisati program koji vri konverziju duine izmeu raznih mjernih jedinica (proizvoljnih 8 konverzija). Na formi treba da bude polje u koje e se unsiti duina u nekoj mjernoj jedinici, combobox koji e sluiti za biranje poetne i krajnje jedinice te label kontrolu u koji e se upisivati rezultat. Takoe prikazivati i konverzijski odnos.
2. Izgled forme u dizajn modu

33

Za formu podesiti atribut BorderStyle na 1-Fixed Single kako bi se zabranila promjena dimenzija forme. Za combobox cboKoef pod atributom List unijeti listu konverzija, kao to je prikazano na slj. slici:

Pod ItemData unijeti brojeve od 1 do 8, kako bi svaka konverzija bila jednoznano odreena brojem te se moglo znati o kojoj se konverziji radi. Na osnovu ovog broja se u kodu programa upotrebljava odgovarajui koeficijent za konverziju.
3. Izvorni kod programa
Private Sub Combo1_Click() Dim koef As Single Select Case Combo1.ItemData(Combo1.ListIndex) Case 1 koef = 39.3701 Case 2 koef = 3.28084 Case 3 koef = 1.09261 Case 4 koef = 0.0254 Case 5 koef = 0.3048 Case 6 koef = 0.9144 Case 7 koef = 0.62137 Case 8 koef = 1.60934 End Select Label3.Caption = koef Text2 = Val(Text1.Text) * koef End Sub

34

4. Opis promjenljivih

U programu se koristi samo jedna promjenljiva koef, kojoj se dodjeljuje odnos konverzije zavisno od odabranih mjernih jedinica.
5. Opis rjeenja

U txtDuzina se unosi duina za konverziju. U cboKoef se biraju mjerne jedinice iz koje i u koju se vri konverzija. Na osnovu odabranog lana u listi, cboKoef.ItemData(cboKoef.ListIndex), u proceduri za obradu dogaaja Click, cboKoef_Click(), varijabli koef se dodjeljuje odgovarajui koeficijent. Ovaj koeficijent se pomnoi sa uneenom duinom i rezultat upie u lblEkvivalentno.
6. Izgled forme u izvrnom modu

Identino izgledu u dizajn modu.


7. Opis rada programa

U nastavku je dato nekoliko primjera konverzije. 100 metara je 109,261 jard, dok je 100 jardi ekvivalentno 91,44 metra:

21 in je malo vie od 53 cm a 6,21 milja je 10 kilometara:

35

8. Uputstvo za korienje i napomene

Unijeto duinu u polje Duzina. Pomou combobox-a odabrati koja se konverzija vri. Rezultat e biti prikazan u polju Ekvivalentna duzina.

Zadatak 14.
1. Tekst zadatka

Napisati program za raunanje zapremine previlne etverostrane piramide. Program zahtijeva unos duine stranice baze i visine piramide.
2. Izgled forme u dizajn modu

Style atribut forme je postavljen na 1-Fixed Single kako bi se onemoguila promjena dimenzija forme. Crte piramide je kreiran koritenjem line kontrola. Za dugme cmdIzracunaj je postavljen atribut Default na True kako bi se omoguilo da se izraunavanje vri pritiskom na tipku Enter na taststuri. 36

Na formi se nalaze kontrole txtA, txtH, cmdIzracunaj i lblV.


3. Izvorni kod programa
Private Sub Command1_Click() Dim a As Single Dim H As Single a = Val(Text1.Text) H = Val(Text2.Text) Label5.Caption = 1 / 3 * a * a * H End

4. Opis promjenljivih

Lokalne promjenljiva u proceduri cmdIzracunaj_Click() su a i H i predstavljaju duzine stranice baze i visine piramide, vrijednostikoje unosi korisnik.
5. Opis rjeenja

Za raunanje zapremine piramide koristi se formula V = 1/3a2H. Vrijednosti za a i H se unose od strane korisnika. Na klik dugmeta Izracunaj pokree se procedura za obradu dogaaja Click gdje se na osnovu a i H izraunava zapremina i prikazuje u lblV.
6. Izgled forme u izvrnom modu

7. Opis rada programa

Primjer izraunavanja zapremine:

37

8. Uputstvo za korienje i napomene

Unijeti duine za a i H. Pritisnuti dugme Izraunaj (ili tipku Enter na tastaturi ili Alt+I).

Zadatak 15.
1. Tekst zadatka

Napisati program koji na formi iscrtava pravougaonik tako da su stranice pravougaonika udaljene od ivica forma za etvrtinu irine, odnosno visine forme. Na svaku promjenu dimenzije forme pravougaonik treba da zauzme navedeni poloaj.
2. Izgled forme u dizajn modu

U dizajn modu nacrtamo pravougaonik pomou kontrole Shape. Ovdje nisu itne dimenzije ove kontrole jer e se one izraunavati na Resize dogaaj za formu.
3. Izvorni kod programa
Const TRAKA = 360 Private Sub Form_Resize() Shape1.Left = Me.Width / 4 Shape1.Width = Me.Width / 2 Shape1.Top = (Me.Height - TRAKA) / 4 Shape1.Height = (Me.Height - TRAKA) / 2 End Sub

4. Opis promjenljivih

Konstanta TRAKA slui za postavljenje visine gornje trake forme da bi se od ukupne visine forme mogla oduzeti visina trake kako bi se dobila visina klijent podruja.

38

5. Opis rjeenja

U proceduri za obradu dogaaja Resize, koja se izvrava na svako mijenjanje dimenzija forme, ukljuujui i pokretanje programa, na osnovu dimenzija forme izraunava se poloaj i dimenzije shape kontrole shpPravougaonik te se odmah i postavljaju nove vrijednosti.
6. Izgled forme u izvrnom modu

7. Opis rada programa

Nasvaku projenu dimenzija forme pravougaonik se ponovo iscrtava. Dato je nekoliko primjera:

8. Uputstvo za korienje i napomene

Mijenjati dimenzije forme.

Zadatak 16.
1. Tekst zadatka

39

Napisati program koji pronalazi sve proste brojeve izmeu dva uneena broja.
2. Izgled forme u dizajn modu

Za formu podesiti atribut BorderStyle na vrijednost 1 Fixed Single, kako bi se sprijeila promjena dimenzija. Za dugme podesiti atribut Default da bi se dogaaj Click mogao inicirati pritiskom na tipku Enter. Textbox txtRezultat e sadravati sve proste brojeve izmeu uneenih brojeva. Da bi se mogli vidjeti svi pronaeni brojevi podesiti MultiLine atribut na True i ScrollBars na 2 Vertical.
3. Izvorni kod programa
Private Dim Dim Dim Dim Dim Dim Dim Sub Command1_Click() odbroja As Long dobroja As Long x As Long y As Long granica As Long pomocna As Long prost As Boolean

Text3.Text = "" odbroja = Val(Text1.Text) dobroja = Val(Text2.Text) If odbroja > dobroja Then pomocna = odbroja odbroja = dobroja dobroja = pomocna End If For x = odbroja To dobroja prost = True granica = Sqr(x) For y = 2 To granica If x Mod y = 0 Then prost = False Exit For

40

End If Next y If prost Then Text3.Text = Text3.Text & CStr(x) & ", " Next x End Sub

4. Opis promjenljivih

Koriste se sljedee promjenljive: odbroja varijabla koja uva poetnu granicu opsega brojeva za koje se trae prosti brojevi dobroja varijabla koja uva krajnju granicu opsega brojeva za koje se trae prosti brojevi pomocna varijabla koja se korist prilikom zamjene vrijednosti granica opsega (od broja i dobroja) u sluaju da je uneen broj dobroja koji je manji od broja odbroja. x trenutni broj koji se ispituje da li je prost y broj za koji se provjerava da li je broj x djeljiv brojem y granica varijabla koja uva broj do koga treba provjeravati djeljivost broja x prost varijabla tipa Boolean koja slui za oznaavanje da li je broj x prost ili ne kako bi se onda u sluaju da je prost mogao dodati u listu prostih brojeva (Text3) Cjelobrojne varijable su tipa Long kako bi se obezbijedio najvei mogui radni opseg.
5. Opis rjeenja

Prema definiciji, broj je prost ako je djeljiv samo sa jedinicom i sa samim sobom. U ovom programu emo provjeravati da li je neki broj x djeljiv nekim brojem y tako to provjeravamo da li je ostatak cjelobrojnog dijeljenja jednak nuli. Ako jeste, to je znak da je x djeljivo sa y, odnosno da x nije prost broj. Za svaki broj x iz opsega odbroja do dobroja provjeravaemo da li je djeljiva sa svim brojevima u opsegu od 2 do korijena tog broja (x).
6. Izgled forme u izvrnom modu

7. Opis rada programa

41

U nastavku je dat izgled forme za nekoliko primjera opsega: - svi prosti brojevi od 1 do 1000:

svi prosti brojevi od 2200 do 3000:

sluaj kad se zamijene granice (od veeg do manjeg broja):

42

Ovdje se vidi po scroll baru da se ne vide svi brojevi. Da bi se vidjeli ostali brojevi, treba pomjeriti scrollbar.
8. Uputstvo za korienje i napomene

Unijeti granice i pritisnuti dugme Pronadji (ili tipku Enter na tastaturi, ili Alt+P).

Zadatak 17.
1. Tekst zadatka

Napisati program koji ima zadatak da uitava tri broja te odreuje i ispisuje najvei od njih. Pri rjeavanju ovog zadatka koristi se If... Then petlja
2. Izgled forme u dizajn modu

3. Izvorni kod programa


Dim A, B, C As Single Dim MAX As String Private Sub Command1_Click() A = Text1.Text B = Text2.Text C = Text3.Text MAX = Text4.Text MAX = A If B > MAX Then MAX = B If C > MAX Then MAX = C Text4.Text = MAX End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" End Sub

43

4. Opis promjenljivih

Promjenljive prvi broj, drugi broj i treci broj slue za uvanje vrijednosti unesenih brojeva, dok najveci broj je slui za uvanje izraunatog broja.
5. Opis rjeenja

Za unos proizvoljnih brojeva koristi se textbox kontrola Text1, Text2 i Text3. Za ispis najveceg brojeva koristi se textbox kontrola Text4. Da bi smo izracunali najveci broj potrebno je izvrsini prvo unos a nakon toga jednostruki klik na dugme Izracunaj da bi se izracunao najveci broj koji se ispisuje u textbox Text4. Postoji mogucnost nakon jednog pokretanja programa izvrsiti vise puta unos novih vrijednosti te da bismo mo mogli uciniti postoji i dugme Novi unos , gdje klikom na to dugme brisu se prethodni unosi za brojeve i ceka se novi unos.
6. Izgled forme u izvrnom modu

7. Opis rada programa

U nastavku je prikazano nekoliko izgleda forme za pojedine unesene podatke.

44

8. Uputstvo za korienje i napomene

U polje prvi broj, drugi broj i treci broj upisati proizvoljane brojeve i pritisnuti dugme Izracunaj da bi se izracunao najveci broj. Za novi unos elemenata pritisnuti dugme Novi unos dok rezultat dobivamo prikazan u polju najveci broj je .

Zadatak 18.
1. Tekst zadatka

Program izraunava povrineu trougla pomou Heronove formule.Heronova formula glasi _______________ P = s*(s-a)*(s-b)*(s-c) gdje je s= (a+b+c)/2, a a,b,c su stranice trougla. Kod ovog zadatka usiovje da zbir dviju strnica mora biti vei od duine tree stranice. Ako je ovaj uslov zadovoljen program radi, dok u suprotnom program javlja da se mora ispostovati ovaj uslov. Zbog toga u ovom zadatku se koristi IF...then....else petlja.
2. Izgled forme u dizajn modu

45

3. Izvorni kod programa


Dim A, B, C, S, P As Double Private Sub Command1_Click() A = CDbl(Text1.Text) B = CDbl(Text2.Text) C = CDbl(Text3.Text) If A < (B + C) And B < (A + C) And C < (A + B) Then S = (A + B + C) / 2 P = Math.Sqr(S * (S - A) * (S - B) * (S - C)) Text4.Text = P End If End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" End Sub

4. Opis promjenljivih

Promjenljive stranica a, stranica b i stranica c slue za uvanje duina stranica koje su uneene, dok Povrsina je slui za uvanje izraunatog broja.
5. Opis rjeenja

Za unos stranica trougla koristi se textbox kontrola Text1, Text2 i Text3. Za ispis povrsine trougla preko heronove formule koristi se textbox kontrola Text4. Kada zelimo da izracunamo povrsinu trougla nekog preko Heronove formule kao prvo moramo izvrsiti unos potrebnih podataka a to jest unos duzina stranica datog trougla a to vrsimo unosom u odgovarajuce text boxove koje imamo napravljene.Nakon sto unesemo sve potrebne podatke klikon na dugme izracunaj dobiti cemo rjesenje koje se odnosi na proracun preko Heronove formule ili obrasca. Dobiveno rjesenje se ispisuje u textbox uz koji se nalazi i label sa porukom Povrsina je:.Ukoliko zelimo izvrsiti novi unos i poracun idem na dugme Novi unos i automatski se brise prethodni unos i program je spreman za novi unos i proracun.
6. Izgled forme u izvrnom modu

46

7. Opis rada programa

U nastavku je prikazano nekoliko izgleda forme za pojedine unesene podatke.

47

8. Uputstvo za korienje i napomene

U polje stranica a, stranica b i stranica c upisati proizvoljane brojeve koji se odnose na duzine trih pojedinih stranica i pritisnuti dugme Izracunaj da bi se izracunao povrsinu tog trougla po Heronovoj formuli. Za novi unos elemenata pritisnuti dugme Novi unos dok rezultat dobivamo prikazan u polju Povrsina trougla je: .

Zadatak 19.
1. Tekst zadatka

Napisati program koji ima zadatak da uitava tri broja te odreuje i ispisuje najmanji od njih. Pri rjeavanju ovog zadatka koristi se If... Then petlja
2. Izgled forme u dizajn modu

48

3. Izvorni kod programa


Dim A, B, C As Single Dim MAX As String Private Sub Command1_Click() A = Text1.Text B = Text2.Text C = Text3.Text MIN = Text4.Text MIN = A If B < MIN Then MIN = B If C < MIN Then MIN = C Text4.Text = MIN End Sub Private Sub Command2_Click() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" End Sub

4. Opis promjenljivih

Promjenljive prvi broj, drugi broj i treci broj slue za uvanje vrijednosti unesenih brojeva, dok najmanji broj je slui za uvanje izracunatog broja.
5. Opis rjeenja

Za unos proizvoljnih brojeva koristi se textbox kontrola Text1, Text2 i Text3. Za ispis najmanjeg brojeva koristi se textbox kontrola Text4 Da bi smo izracunali najmanji broj potrebno je izvrsini prvo unos a nakon toga jednostruki klik na dugme Izracunaj da bi se izracunao najmanji broj koji se ispisuje u textbox Text4. Postoji mogucnost nakon jednog pokretanja programa izvrsiti vise puta unos novih vrijednosti te da bismo mo mogli uciniti postoji i dugme Novi unos , gdje klikom na to dugme brisu se prethodni unosi za brojeve i ceka se novi unos.
6. Izgled forme u izvrnom modu

49

7. Opis rada programa

U nastavku je prikazano nekoliko izgleda forme za pojedine unesene podatke.

50

8. Uputstvo za korienje i napomene

U polje prvi broj, drugi broj i treci broj upisati proizvoljane brojeve i pritisnuti dugme Izracunaj da bi se izracunao najmanji broj. Za novi unos elemenata pritisnuti dugme Novi unos dok rezultat dobivamo prikazan u polju najmanji broj je .

Zadatak 20.
1. Tekst zadatka

Napisati program koji simulira crtanje linija sa misem.


2. Izgled forme u dizajn modu

3. Izvorni kod programa


Option Explicit Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) Me.PSet (X, Y) End Sub

51

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = vbLeftButton Then ' Nacrtaju liniju od zadnjeg dugmeta pa do ovoga Me.Line -(X, Y) End If End Sub

5. Opis rjeenja Navedeni zadatak je realizovn uz samo dvije naredbe koje se odnose na pomjeranje misa a sto i jest sustina ovog problema. Sve se svodi na pomjeranje misa a na putanji koju mis predje pojavljuje se kao trag ili linija. 6. Izgled forme u izvrnom modu

7. Opis rada programa

U nastavku su prikazan primjer crtanja sa misem.

.
8. Uputstvo za korienje i napomene

Samim pokretanjem ovog programa mozemo poceti crtati misem u okviru novo otvorenog prozora (Forme Crtanje).

52

Zadatak 21.
1. Tekst zadatka

Napisati program koji vrsi poredjenje unesenog broja sa ekvivalentnim mjesecom i odgovarajuci dati mjesec ispisuje.
2. Izgled forme u dizajn modu

3. Izvorni kod programa


Private Sub Command1_Click() Dim mj1 As String, mj2 As String mj1 = Text1.Text mj2 = mj1 Text2.Text = mj2 Select Case mj2 Case "1" Text2.Text = "Januar" Case "2" Text2.Text = "Februar" Case "3" Text2.Text = "Mart" Case "4" Text2.Text = "April" Case "5" Text2.Text = "Maj" Case "6" Text2.Text = "Juni" Case "7" Text2.Text = "Juli" Case "8" Text2.Text = "Avgust" Case "9" Text2.Text = "Septembar" Case "10" Text2.Text = "Oktobar"

53

Case "11" Text2.Text = "Novembar" Case "12" Text2.Text = "Decembar" Case Else Text2.Text = "Taj mjesec ne postoji." End Select End Sub Private Sub Command2_Click() Unload Me End Sub

4. Opis promjenljivih

Zadatak je realiziran uz pomoc naredbe CASE.Koristene su dvije promjenjive sa odgovarajucim text boxovima.Text1.Text kao promjenjiva a za unos broj za mjesec i Text2.Text kao promjenjiva za ispis naziva datog mjeseca.
5. Opis rjeenja

Rjesenje ovog zadatka se jednostavno dobivs a funkcijom CASe gdje se za svaki broj dodjeljuje neki mjsesec a za sve ostalo cemu nije dodijeljen odgovarajuci mjesec on to smatra da nije unesen tacan podatak te ispisuje odgovarajucu poruku korisniku. Koristenasu dva text boxa jedan za unos broj a to je Text1.Text i drugi za ispis mjeseca a to je Text2.Text i dva command bottona koji vrse nalazenje ekvivalentnog mjeseca a to je dugme Izracunaj i drugo Izadji koje zavrsava rad ovog programa.
6. Izgled forme u izvrnom modu

7. Opis rada programa

U narednom dijelu su prikazani primjeri za onos datog odgovarajuceg broja sa ekvivalentnim mjesecom koji postoji i unos broja koji nema ekvivalentni mjesec.

54

8. Uputstvo za korienje i napomene

Nakon sto unesete neki broj u polje za unos mjeseca kao broj i klikom na dugme Pronadji automatski biti ce vam ispisan naziv ekvivalentnog mjeseca sa tim brojem u textboxu u sklopu labela sa porukom Ekvivalentni mjesec unesenim brojem je:, a ukoliko zelite zavrsiti rad sa datim programom idete na dugme Izlaz.

55

Das könnte Ihnen auch gefallen