Panevropski univerzitet Apeiron
SADRAJ31. UVOD
41.1 Tipovi podataka
71.2 RADNI PROSTOR VISUAL BASIC-a
82. VJEBE
82.1 Vjeba 1 - Dobro dosli u Visual Basic
92.2 Vijeba 2 Najmanji Broj
102.3 Vijeba 3 - Razlika najveeg i zbira preostala dva broja
112.4 Vjeba 4 Povrina i obim praugaonika
122.5 Vijeba 5 Obrnuti tekst
132 .6 Vjeba 6 Prestupna godina
142.7 Vjeba 7 Zahtjev za lozinku
152.8 Vjeba 8 Mjeseci u godini
162.9 Vjeba 9 - Primjena Pitagorine
182.10 Vjeba 10 - Izraunavanje povrine trougla koritenjem
Heronovog obrasca
192.11 Vjeba 11 - Mala i velika slova
202.12 Vjeba 12 Geometrijska sredina dva broja
212.13 Vjeba 13 Kalkulator
222.14 Vjeba 14 Pozitivan ili negativan broj
232.15 Vjeba 15 Datum i tano vrijeme
232.16 Vjeba 16 toperica
242.17 Vjeba 17 - itanje teksta
252.18 Vjeba 18 Web Browser
272.19 Vjeba 19 Beeper
282.20 Vjeba 20 Redanje brojeva ( Shuffle )
333. Zakljucak
344. Literatura
1. UVODNa Univerzitetu Dartmouth, 1965. godine, dva profesora
John Kemeny i Thomas Kurtz razvila su "Beginner's All-purpose
Symbolic Instruction Code" ili skraeno BASIC. BASIC je prvenstveno
bio razvijen zbog potrebe interaktivnosti programskih jezika. Ova
interaktivnost znai da programeri mogu da unose komande i da odmah
potom iskuse rezultate obrade.Sredinom osamdesetih "Microsoft" je
razvio novu verziju QuickBasic.
Iako je QuickBasic okruenje bilo mono i lako za koritenje i
uenje, postojao je problem sa optom platformom (MS-DOS) u okviru
koje su programeri radili. Naime, MS-DOS nije imao ugraen korisniki
interfejs kakav danas poznajemo; umjesto toga - bilo je to
tekstualno-orijentisano okruenje. U takvom tekstualno-orijentisanom
okruenju nije mogue upotrijebiti bilo kakvu grafiku prezentaciju -
mogue je koristiti samo jednostavne linije ili karaktere. Ovo je
MS-DOS inilo tekim za upotrebu zato to je od korisnika zahtjevao
dosta tipkanja, a programere je ograniavao u pogledu mogunosti
prikaza rezultata korisnicima.
Nakon vie izdanja BASIC-a od strane razliitih softverskih kua,
Microsoft je 1991. godine u prodaju pustio Visual Basic, razvojno
okruenje koje je predstavljao, do tada, potpuno razliit
programerski ablon:
Okruenje je koristilo operativni sistem Windows za razvoj
Windows aplikacija okruenje je koristilo razliite kontrole
(komponente), ime se obezbjeivala viestruka upotreba istog koda i
lake koritenje Windows objekata.
Za razumijevanje postupka razvijanja aplikacije, korisno je
razumjeti neke kljune zamisli na osnovu kojih je kreiran Visual
Basic. Obzirom da je Visual Basic programski jezik za Windows
okruenje, nuormalna je slinost s Windows okolinom. Pojednostavljena
verzija rada Windows operativnog sustava ukljuuje tri osnovna
pojma: prozore, dogaaje i poruke. Prozor emo shvatiti jednostavno
kao pravouglo podruje s vlastitim granicama, prozor Explorera u
Windowsima, prozor s dokumentom u naoj aplikaciji za obradu teksta
ili dijaloki okvir koji se pojavljuje da nas podsjeti na neki
sastanak. Iako su to najei primjeri, zapravo postoji puno drugih
vrsta prozora. Naredbeno dugme je prozor, ikone, okviri s tekstom,
tasteri izbora i trake s izbornicima su takoer prozori.
Operativni sustav Microsoft Windows upravlja mnotvom tih prozora
dodjeljujui svakome od njih jedinstven identifikacijski broj
(window handle ili hWnd). Sistem neprekidno prati svaki od tih
prozora traei znakove aktivnosti ili dogaaja. Dogaaji se mogu
pojaviti zahvaljujui akciji korisnika kao to je klik miem ili
pritisak na tipku, tokom programirane kontrole, ili ak kao rezultat
akcije nekog drugog prozora. Svaki put kad se pojavi dogaaj,
uzrokuje poruku koja se alje operativnom sistemu. Sistem obrauje
poruku i prosljeuje je drugim prozorima. Svaki prozor zatim moe
poduzeti odgovarajuu akciju zasnovanu na vlastitim uputama kako bi
obradio tu odreenu poruku ( npr. ponovno e iscrtati ako je bio
pokriven drugim prozorom).
Obrada svih moguih kombinacija prozora, dogaaja i poruka moe
biti pravo optereenje. Na sreu, Visual Basic nas oslobaa potreba
baratanja svim manje vanim porukama. Veinu poruka Visual Basic
obrauje automatski; ostale nam se daju na znanje kao Event
postupci. To nam omoguuje brzo stvaranje monih aplikacija bez
potrebe za obradom nebitnih detalja. Microsoft Visual Basic je
prije svega programski jezik. To je najbri i najlaki nain stvaranja
aplikacija za Microsoft Windows-e. Sama rije "Visual" (vidni,
vizualan) se odnosi na nain stvaranja grafikog korisnikog okruenja
(GUI - graphical user interface). Dakle, tokom itavog procesa
stvaranja aplikacije programer je u mogunosti da vidi kako njegov
program vizualno izgleda.Visual Basic programeri koriste vie nego
bilo koji drugi programski jezik u istoriji raunarstva. Njegovi
korjeni doseu do najranijih verzija programskog jezika Basic.
Medjutim, Visual Basic se znatno razlikuje od Basica po tome sto
nudi vizuelno okruenje za poslove projektovanja. Visual Basic je od
pocetka nudio nacin za proirivanje programskog okruenja.
Program u Visual Basicu ima dva dijela:
1. Dio za deklarisanje i
2. Posebne programske procedure.
Deklarisati znai definisati vrijednosti promjenjivih u skladu sa
tipovima. Zadavanjem tipa promjenjive govorimo dvije vane stvari o
njima:
1. Opseg vrijednosti koje moe uzeti promjenjiva i
2. Operacije koje se mogu izvesti nad promjenjivima.
Radi discipline i preglednosti najbolje je deklarisanje raditi
na poetku.
Procedure u Visual Basicu su:
1. (Pod)rutina Sub,
2. Funkcija Function
3. Svojstvo Property.
Funkcija (Function) vraa (daje) samo jedan rezultat, dok Sub
daje (vraa) vie razliitih vrijednosti i okonava sa jednim ili vie
rezultata. 1.1 Tipovi podatakaTipovi podataka govore kompjuteru i
programeru kakvu vrijednost moe imati neka varijabla. Uz varijable,
i ostali elementi Visual Basic jezika, poput konstanti, svojstava
objekata, argumenata potprograma i funkcija i povratnih vrijednosti
funkcija imaju tip podatka. Koritenje raznih tipova podataka u
aplikacijama je potrebno radi bolje funkcionalnosti i kvalitete
aplikacije.
Varijabla tipa Boolean koriste se za prikaz dva razliita stanja,
istinito (True) ili lano (False) i zauzimaju 2 bajta memorije.
Dim Ja_Imam_18_god as BooleanJa_Imam_18_god = False
Byte tip podatka se koristi za dranje vrlo malene numerike
vrijednosti u rasponu od 0 do 255. Byte tip podataka zauzima samo
jedan bajt memorije i ne moe sadravati negativne vrijednosti.Char
tip podataka slui za zapisivanje numerikih vrijednosti u rasponu od
0 do 65535 gdje svaki broj predstavlja jedan Unicode znak. Unicode
sistem znakova je standard na svim platformama.
Dim Znak as CharZnak = aZnak = bc
Kod pridjeljivanja vrijednosti Char varijabli, slovo se stavlja
unutar navodnika iza kojih moe, a ne mora stajati slovo c. Slovo c
na kraju vijednosti se mora koristiti ako je upaljena,opcija Option
Strict.
Date tipa podataka moemo prikazati odreeni datum. Date tip
podatka je 64bitna numerika vrijednost pomou koje moemo prikazati
datum u rasponu od 1. januara do 31. decembra 9999. i vrijeme u
rasponu od 00:00 do 23:59.
Varijable tipa Date zauzimaju 8 bajtova memorije. Kod
pridjeljivanja nekog datuma varijabli Date tipa, vrijednost mora
biti unutar znakova # i mora biti formata m/d/yyyy
(month/day/year).Dim Nova_Godina as DateNova_Godina =
#31/12/2007#
Tip podatka Decimal slui za rad s brojevima bez zaokruivanja
vrijednosti. Decimal tip podatka moe raditi sa 28 decimalnih
mjesta. Najvea vrijednost bez decimala koju moe primiti
varijabla.Decimal tipa je
+/-79,228,162,514,264,337,593,543,950,335.S maksimalnim brojem
decimalnih mjesta, u varijablu tipa Decimal mogue je zapisati
najveu vrijednost od +/-7.9228162514264337593543950335.
Varijable Decimal tipa zauzimaju 16 bajtova memorije. Kod
pridjeljivanja vrijednosti varijabli Decimal tipa vrijednost bez
slova D na kraju mogue je da e Visual Basic smatrati vrijednost kao
da je tipa Long to moe dovesti do greke ako baratate s jako velikim
ciframa. Vrijednost u dole prikazanom primjeru je prevelika za Long
tip podatka i kada biste pokuali kompilirati program u kojem se
nalazi slijedei dio koda sigurno bi dobili greku OverFlow, tj.
prekoraenje maksimalne vrijednosti koju moe primiti varijabla nekog
tipa.Dim Racun as Decimal
Racun = 10223372036854775807 'ova linija sadrzi gresku
Taan kod je prikazan na slijedeem primjeru.Dim Racun as
Decimal
Racun = 10223372036854775807D
Double tip podatka se koristi za zapisivanje decimalnih
vrijednosti u rasponu od -1.79769313486231579E+308 do
-4.94065645841246544E-324 za negativne vrijednosti i 4
94065645841246544E-324 do 1.79769313486231579E+308 za pozitivne
vrijednosti. Kod pridjeljivanja vrijednosti varijabli tipa Double
vrijednost moe biti neki od brojeva koji spada u gore navedeni
raspon, a ako elite naznaiti da se radi o Double vrijednosti onda
na kraj vrijednosti dodajte slovo R.Dim Vrijednost as Double
Vrijednost = 1234567R
Varijable tipa Double zauzimaju 8 bajtova memorije.
Varijabla tipa Integer koriste se za zapisivanje cjelih brojeva
u rasponu od 2.417,483,648 do 2,147,483,647. Integer vrijednosti su
32bitne i zauzimaju 4 bajta memorije. Varijable tipa Integer su
najefikasnije varijabke u Visual Basicu .NET i obino se one najee
koriste za razne sitne kalkulacije. Vrlo je vjerovatno da ete uz
String tip najvie koristiti varijable Integer tipa.Dim I as
integer
I = 1000
Varijable tipa Long mogu sadravati cjele brojeve u rasponu od
-9, 223, 373, 036, 854, 775, 808 do 9,223,373,036,854,775,808.
Vrijednosti tipa Long moete pridjeliti varijablama tipa Long,
Single, Double i Decimal bez dodatnih pretvaranja u drugi tip
podataka. Kod pridjeljivanja Long vrijednosti nekoj varijabli moete
normalno pridjeliti samu vrijednost, a ako elite Visual Basicu dati
do znanja da se radi ba o Long vrijednosti onda se iza vrijednosti
dodaje slovo L.
Dim LongVrijednost As LongLongVrijednost = 345678LongVrijednost
= 345678LU navedenom primjeru, Visual Basic e vrijednost 345678
shvatiti kao Integer vrijednost, a vrijednost 345678L kao Long.
Varijable tipa Long su 64bitne i zauzimaju 8 bajtova memorije.
Tip podataka Object je osnovni tip podataka u Visual Basicu
.NET. Svi ostali tipovi podataka vuku svoje korijene iz Object tipa
podatka i sve varijable bilo kojeg tipa su ustvariobjekti sa svojim
svojstvima i postupcima. Object tip podatka je pokaziva na neko
mjesto u memoriji gdje se nalazi neki objekt. Varijable tipa Object
moete pridijeliti vrijednost bilo kojeg tipa. Varijabla tipa Object
zauzima 4 bajta memorije. Svakog puta kada se u Object varijablu
zapisuje drugaiji tip podatka Visual Basic mora pretvoriti
varijablu u drugi tip podatka, a to iziskuje odreeno vrijeme.1.2
RADNI PROSTOR VISUAL BASIC-a
Radni prostor Visual Basica ini:
1. Naslovna traka
2. Traka izbornika
3. Alatna traka
4. Alatni prozor
5. Prozor forme
6. Prozor svojstva
7. Projektni prozor
Dijelovi Visual Basic projekta su:
Projekat to je rije koja oznaava sve to je obuhvaeno u VB-u,
Forma prozor gdje se kreira interface izmeu korisnika i raunara
i,
Kontrole (objekti) - grafike karakteristike ili alati koji se
postavljaju na formu da doznae korisniku interakciju (okviri za
tekst, komandni tasteri, forma kao kontrola).
Postavljanje kontrola se vri njihovim odabirom u okviru Toolbox
i prenoenjem na formu. Svojstva kontrola se podeavaju u prozoru
Properties. Properties prozor je ureen u obliku tablice sa dvije
kolone. U lijevoj koloni se nalaze imena svih svojstava koja se
mogu promijeniti na odabrani objekt. Desna kolona pokazuje podeenu
vrijednost za svako svojstvo. Svako svojstvo ima unaprijed podeenu
vrijednost koja e djelovati sve dok se ne promijeni.
2. VJEBE 2.1 Vjeba 1 - Dobro dosli u Visual Basic
Zadatak je zamiljen kao dobrodoslica Visual Basic-a. Kad
pritisnemo dugme OK u MassageBox-u nam se pojavi poruka Dobro doli
u Visual Basic, a kad pritisnemo Izlaz aplikacija se zatvara. U
ovom programu smo koristili Button1 i Button2 i u samom kodu smo
pozval MassageBox.
VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
MessageBox.Show("Dobro doli u Visual Basic", "Visual Basic")
End Sub
End Class2.2 Vijeba 2 Najmanji Broj
Za ovu vjebu, na formu sam stavio etiri textbox-a, etiri labele
i dva komandna dugmeta. Ovdje sam prikazao uporeivanje tri broja i
kao krajnji rezultat dobio sam poruku o tome koji je od tri broja
najmanji. Ako prilikom unosa bude bie od jednog najmanjeg broja
program e iznbaciti gresku Nepostoji najmanji broj VB
Aplikacija
Programski kod
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
TextBox3.Text = " "
TextBox4.Text = " "
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim a As Single
Dim b As Single
Dim c As Single
Dim min As String
a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text
min = TextBox4.Text
min = a
If b < a Then min = b
If c < a Then min = c
If a = b Or b = c Then MessageBox.Show("Trenutno nepostoji
najmanji Broj", "Problem")
TextBox4.Text = min2.3 Vijeba 3 - Razlika najveeg i zbira
preostala dva brojaNa formu sam stavio etiri labele, etiri
textbox-a i jedno komandno dugme (Raunaj). Prilikom unosa tri broja
razliitih veliina, program treba da izrauna razliku najveeg broja i
zbira preostala dva broja. Koristio sam If Then petlju.
VB Aplikacija
Programski kod
Public Class Form1
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim rez As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text
If a > b And a > c Then
rez = a - (b + c)
ElseIf b > a And b Then
rez = b - (c + a)
Else
rez = c - (b + a)
End If
TextBox4.Text = rez
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
TextBox3.Text = " "
TextBox4.Text = " "
End Sub
End Class2.4 Vjeba 4 Povrina i obim praugaonika
Kada pokrenemo program, uitava se forma prikazana na slici gore.
U prvi TextBox unosi se duina pravougaonika, a u drugi irina
pravougaonika. Nakon klika na dugme Izraunaj u TextBox-ovima e se
prikazati rezultati za povrinu i obim pravougaonika. Koristio sam 4
TextBox-a, prva 2 za unos stranica duine I irinei, a druga 2 za
ispisivanje rezultata.Na formi postoji komanda Izraunaj. Klikom na
Izraunaj izvrava se programski kod.VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim duzina As Integer
Dim sirina As Integer
duzina = TextBox1.Text
sirina = TextBox2.Text
TextBox4.Text = duzina * sirina
TextBox3.Text = 2 * (duzina + sirina)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
TextBox3.Text = " "
TextBox4.Text = " "
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
End Class
2.5 Vijeba 5 Obrnuti tekst
Pokrenemo novi projekat i na formu postavimo 2 labele sa tekstom
kao na slici gore, dva komandna dugmeta Obrni tekst i Izlaz i 2
TextBox-a. Da bi program bio u funkciji potreban je odgovarajui
programski kod. Pokretanjem programa u prvi TextBox unesemo neku
rije. Pritiskom na komandu OBRNI TEKST u drugom TextBox-u
pojavljuje se obrnuti tekst. Iz programa izlazimo klikom na
Izlaz.VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim rijec As String
rijec = TextBox1.Text
TextBox2.Text = StrReverse(rijec)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
End Class
2 .6 Vjeba 6 Prestupna godina
Pokrenemo novi projekat i u formu postavljamo tri labele sa
tekstom kao na slici. Zatim napravimo dva okvira za tekst i tri
komandna dugmeta (Kreni, Poniti i Izlaz). Da bi program bio u
funkciji napisati programski kod. Kada pokrenemo program sledei
uputstva unesemo godinu u prvi TextBox i pritisnemo dugme Kreni. U
drugom okviru za tekst ispisae se odgovor, a pritiskom na dugme
Poniti tekst iz okvira se brie i moemo ponoviti upit. Iz programa
se izlazi pritiskom na dugme Izlaz. Promenljiva x je deklarisana
kao podatak tipa String, odnosno znakovni niz. Da bismo podijelili
dva broja tako da izraunamo ostatak koristimo operator Mod. U
dijelu programskog koda, koji glasi If x Mod 4 0 ... znai : Ako je
ostatak koji preostane po dijeljenju x sa 4 razliit od nule...itd.
Vrijednost promenljive x je na poetku postavljena na nulu.VB
Aplikacija
Programski kod
Public Class Form1
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
TextBox1.Text = " "
TextBox2.Text = " "
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim x As String
x = TextBox1.Text
If x Mod 4 0 Then
TextBox2.Text = "Godina nije prestupna"
Else
TextBox2.Text = "Godina je prestupna"
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
End Class2.7 Vjeba 7 Zahtjev za lozinku
Pokrenuti novi projekat i na formu postaviti dugme Unesi
lozinku. Kada pokrenemo program pojavie se forma kao na slici gore
i pritiskom na komandno dugme Unesi lozinku pojavljuje se prozor
InputBox u koji unosimo ifru, a rezultat se pokazuje u MsgBox-u.
Petlja Do While...Loop koju vidimo u programskom kodu gore ne radi
nita dok ne ispita da li je neki uslov ispunjen. ako je ispunjen
onda poinje da radi prema instrukcijama, u suprotnom prelazi na
sledeu naredbu u programu Visual Basic-a. Uslov mora biti
promenljiva ili izraz koji vraa vrednost True ili False. Oblik
petlje primenjene u ovoj aplikaciji je: Do While Uslov Instrukcije
Loop.VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim start As Integer
Dim lozinka As String
Do While start < 3
lozinka = InputBox("Unesi lozinku", "Pristup Bazi Podataka")
If lozinka = "goran" Then
MessageBox.Show("Prihvacam", "Baza Podataka")
Else
MessageBox.Show("Pokusaj ponovo", "Baza podataka")
End If
start = start + 1
Loop
End Sub
End Class2.8 Vjeba 8 Mjeseci u godini
Ovaj zadatak ima za cilj da kad unese redni broj mjeseca ona u
textbox-u izpise njegovo ime, Za ovaj zadatak sam koristio 2
TextBox-a, 2 Button-a, i koristio sa naredbu Case koja sluzi za
izbor jedne naredbe (ili nekoliko naredbi) iz skupa od nekoliko
moguih a na osnovu vrijednosti nekog izraza. Naredba Case se moze
prikazati preko naredbe if, a svaka naredba if se moze opisati
preko naredbe case.VB Aplikacija
Programski kod
Public Class Form1
Private Function mjeseci(ByVal redni As Integer) As String
Select Case redni
Case 1
TextBox2.Text = "Januar"
Case 2
TextBox2.Text = "Februar"
Case 3
TextBox2.Text = "Mart"
Case 4
TextBox2.Text = "April"
Case 5
TextBox2.Text = "May"
Case 6
TextBox2.Text = "June"
Case 7
TextBox2.Text = "Juli"
Case 8
TextBox2.Text = "August"
Case 9
TextBox2.Text = "Septembar"
Case 10
TextBox2.Text = "Oktobar"
Case 11
TextBox2.Text = "Novembar"
Case 12
TextBox2.Text = "Decembar"
Case Else
TextBox2.Text = "U godini ima 12 mjeseci"
End Select
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Call mjeseci(TextBox1.Text)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
End Class
2.9 Vjeba 9 - Primjena Pitagorine
Ovaj zadatak ima za cilj izracunavanje tree stranice prougla na
osnovu poznavanja ostale dvije stranice. Za izraunavanje ovog
zadatka koristiemo Pitagorinu teoremu: Povrina kvadrata nad
hipotenuzom je jednaka zbiru povrina kvadrata nad katetama. VB
Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim a As Single
Dim b As Single
Dim c As Single
b = TextBox2.Text
c = TextBox3.Text
a = Math.Sqrt(c * c - b * b)
TextBox1.Text = a
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
Dim a As Single
Dim b As Single
Dim c As Single
a = TextBox1.Text
c = TextBox3.Text
b = Math.Sqrt(c * c - a * a)
TextBox2.Text = b
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
Dim a As Single
Dim b As Single
Dim c As Single
a = TextBox1.Text
b = TextBox2.Text
c = Math.Sqrt(b * b + a * a)
TextBox3.Text = c
End Sub
End Class
2.10 Vjeba 10 - Izraunavanje povrine trougla koritenjem
Heronovog obrascaPoznati Heronov obrazac za izraunavanje povrine
trougla glasi:
P = . Gdje je S = (a+b+c)/2. Kod ovog zadatka je uslov da je
jedna stranica dua od zbira duina preostalih dviju stranica.
VB Aplikacija
Programski kod
Public Class Form1
Dim a As Double
Dim c As Double
Dim b As Double
Dim s As Double
Dim p As Double
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text
'provjeravamo dali je jedna stranica manja od zbira druge
dvije
If a < (b + c) And b < (a + c) And c < (b + a) Then
s = (a + b + c) / 2
p = (s * (s - a) * (s - b) * (s - c))
TextBox4.Text = p
Else
MessageBox.Show("Stranica treba biti veca od zbira preostale
dvije", "Nemoze se Izracunati")
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
TextBox3.Text = " "
TextBox4.Text = " "
End Sub
End Clas2.11 Vjeba 11 - Mala i velika slova
Program vri pretvaranje velikih slova u mala i obrnuto. Koristio
sam naredbe Lcase i Ucase.
VB Aplikacija
Programski kodPublic Class Form1
Dim mala As String
Dim velika As String
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
mala = TextBox1.Text
velika = UCase(mala)
TextBox2.Text = velika
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
velika = TextBox1.Text
mala = LCase(velika)
TextBox2.Text = mala
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
TextBox1.Text = " "
TextBox1.Text = " "
End Sub
End Class2.12 Vjeba 12 Geometrijska sredina dva broja
Ovaj program se koristi za izraunavanje geometriske sredine dva
broja. Geometriska sredina dva broja je polovina njihovih proizvoda
(a + b) / 2. Koristio sam tri Button-a, tri TextBox-a i tri
Label-e.
VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim a As Integer
Dim b As Integer
Dim g As Single
a = TextBox1.Text
b = TextBox2.Text
g = (a + b) / 2
TextBox3.Text = g
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
TextBox2.Text = " "
TextBox3.Text = " "
End Sub
End Class2.13 Vjeba 13 Kalkulator
VB Aplikacija
Programski kod
Public Class Form1
Dim a As Integer
Dim b As Integer
Dim c As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
a = TextBox1.Text
b = TextBox2.Text
c = a + b
TextBox3.Text = c
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
a = TextBox1.Text
b = TextBox2.Text
c = a - b
TextBox3.Text = c
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
a = TextBox1.Text
b = TextBox2.Text
c = a * b
TextBox3.Text = c
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button4.Click
a = TextBox1.Text
b = TextBox2.Text
If a 0 And b 0 Then
c = a / b
TextBox3.Text = c
Else
MessageBox.Show("Broj se nemoze djeliti sa 0", "Greska")
End If
End Sub
End Class
2.14 Vjeba 14 Pozitivan ili negativan broj
Zadatak koji provjerava dali je uneeni broj pozitivan, negativan
ili je nula.
VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim i As Integer
i = TextBox1.Text
If i > 0 Then
MessageBox.Show("Unesen broj je pozitivan", "Odgovor")
ElseIf i < 0 Then
MessageBox.Show(" Uneseni broj je negativan", "Odgovor")
Else
MessageBox.Show("Uneseni broj je nula", " Odgovor")
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
TextBox1.Text = " "
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
End Class2.15 Vjeba 15 Datum i tano vrijemePokrenuti novi
projekat i na formu postaviti jednu Label i u njene osobine Caption
unijeti dati naslov odnosno tekst kao na slici. Osim labele
napraviti tri komandna dugmeta sa nazivima kao na slici. Zatim
postavljamo dva TextBox-a u kojima e se pokazati datum,a u drugom
datum i vrijeme. Naravno, da bi sve ovo radilo moramo napisati
odgovarajui programski kod koji je prikazan na slici gore. Prilikom
pokretanja programa uitava se obrazac kao na gornjoj slici.
Pritiskom na komandno dugme Pokai datum u Textbox-u e se oitati
dananji datum, a pritiskom na komandno dugme Pokai datum i vrijeme
u TextBox-u e se oitati datum i vrijeme Pritiskom na komandno dugme
Izlaz izlazimo iz programa.VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
TextBox1.Text = DateTime.Today
TextBox2.Text = DateTime.Now
End Sub
End Class2.16 Vjeba 16 toperica
U ovom zadatku smo napravili topericu. Koristili smo 3 Button-a
(Start, Stop i Reset), uzeli etiri Labele. Kada kliknemo na dugme
Start u Labeli pone da tee vrijeme, kada se u Labeli1 broja izbroji
do 100, onda u Labeli2 pone da broji sekunde, kad Labela2 bude
jednaka 60 u Labeli3 poinju da teku minute. Kad pritisnemo dugme
Stop toperica prestaje da broji a dugme Reset vraa sve Labele na
poetno stanje.
VB Aplikacija
Programski kod
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Timer1.Start()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
Timer1.Stop()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
Label1.Text = "0"
Label2.Text = "00"
Label3.Text = "00"
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Timer1.Tick
Timer1.Interval = 10
Label3.Text += 1
If Label3.Text = "100" Then
Label2.Text += 1
Label3.Text = 0
End If
If Label2.Text = 60 Then
Label1.Text += 1
Label2.Text = 0
End If
If Label1.Text = 60 Then
Label4.Text += 1
End If
End Sub
End Class2.17 Vjeba 17 - itanje teksta
Za ovaj zadatak potreban nam je jedan Button i jedan TextBox, I
nova alatka sapi pomou koje realizujemo da sve ono to napisemo bude
proitano. U programski kod Buttona upisujemo kod pomou kojeg dajemo
naredbu da sve to napiemo u TextBox-u bude reeno naravno to je
mogue ostvariti pomou sapi-a, alatke koja slui za govor u Visual
Basic-u, naalost sapiu razumije samo Engleski jezik.
VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Dim reci = CreateObject("sapi.spvoice")
Dim recirijec As String = TextBox1.Text
reci.speak(recirijec)
End Sub
End Class2.18 Vjeba 18 Web Browser
Da bi smo rjeili ovaj zadatak potrebni su nam 3 Buttona, TextBox
i WebBrowser. U Button-e emo upisati osnovne stvari koje su nam
potrebne za WebBrowser a to su napred, nazad i uitaj. Uemo u
programski kod Buttona uitaj i pomou koda stavljamo naredbu da kad
TekxBox upisemo naziv neke stranice direktno uita istu. Naravno
moramo biti spojeni na Internet da bi na zadatak bio
realizovan.
VB Aplikacija
Programski kodPublic Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
WebBrowser1.Navigate(TextBox1.Text)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
WebBrowser1.GoForward()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
WebBrowser1.GoBack()
End Sub
End Class2.19 Vjeba 19 Beeper
Da bi rjeili ovaj zadatak potrebno su nam 4 Button-a i Timer sa
kojim se susreemo ve po drugi put. U Button-e upisati Beep, Start,
Stop i Hide Me. U programskom kodu prvog Buttona Beep upisujemo kod
kad se to dugme pritisne da se uje zvuk beep. Kad dugme Start
pritisnemo onda se beep uje svakih 10 sekundi ( to smo rijeili
pomou Timera),i to traje sve dok ne pritisnemo dugme Stop. Dugme
Hide Me slui da itav program sakrije u pozadinu.
VB Aplikacija
Programski kod
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
Console.Beep()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Timer1.Tick
Console.Beep()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
Timer1.Start()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
Timer1.Stop()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button4.Click
Me.Hide()
ShowInTaskbar = False
End Sub
End Class2.20 Vjeba 20 Redanje brojeva ( Shuffle )Ovo je najtea
aplikacija koju emo napraviti ali poto je zadnji zadatak to bi
valjda tako trebalo biti. Za ovaj zadatak pored labela i button
koje smo koristili u prethodnim primjerima koristiemo i modul.
VB aplikacija
Programski kod- Form1.vb
Public Class Form1
Public count As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button1.Click
' Button 2,5
CheckButton(Button1, Button2)
CheckButton(Button1, Button5)
CheckSolved()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click
' 1,3,6
CheckButton(Button2, Button1)
CheckButton(Button2, Button3)
CheckButton(Button2, Button6)
CheckSolved()
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button3.Click
' 2,4,7
CheckButton(Button3, Button2)
CheckButton(Button3, Button4)
CheckButton(Button3, Button7)
CheckSolved()
End Sub
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button4.Click
' 3,8
CheckButton(Button4, Button3)
CheckButton(Button4, Button8)
CheckSolved()
End Sub
Private Sub Button5_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button5.Click
' 1,6,9
CheckButton(Button5, Button1)
CheckButton(Button5, Button6)
CheckButton(Button5, Button9)
CheckSolved()
End Sub
Private Sub Button6_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button6.Click
' 5,2,7,10
CheckButton(Button6, Button5)
CheckButton(Button6, Button2)
CheckButton(Button6, Button7)
CheckButton(Button6, Button10)
CheckSolved()
End Sub
Private Sub Button7_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button7.Click
' 6,3,8,11
CheckButton(Button7, Button6)
CheckButton(Button7, Button3)
CheckButton(Button7, Button8)
CheckButton(Button7, Button11)
CheckSolved()
End Sub
Private Sub Button8_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button8.Click
' 7,4,12
CheckButton(Button8, Button7)
CheckButton(Button8, Button4)
CheckButton(Button8, Button12)
CheckSolved()
End Sub
Private Sub Button9_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button9.Click
' 5,10,13
CheckButton(Button9, Button5)
CheckButton(Button9, Button10)
CheckButton(Button9, Button13)
CheckSolved()
End Sub
Private Sub Button10_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button10.Click
' 9,6,11,14
CheckButton(Button10, Button9)
CheckButton(Button10, Button6)
CheckButton(Button10, Button11)
CheckButton(Button10, Button14)
CheckSolved()
End Sub
Private Sub Button11_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button11.Click
' 10,7,12,15
CheckButton(Button11, Button10)
CheckButton(Button11, Button7)
CheckButton(Button11, Button12)
CheckButton(Button11, Button15)
CheckSolved()
End Sub
Private Sub Button12_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button12.Click
' 11,8,16
CheckButton(Button12, Button11)
CheckButton(Button12, Button8)
CheckButton(Button12, Button16)
CheckSolved()
End Sub
Private Sub Button13_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button13.Click
' 9,14
CheckButton(Button13, Button9)
CheckButton(Button13, Button14)
CheckSolved()
End Sub
Private Sub Button14_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button14.Click
' 13,10,15
CheckButton(Button14, Button13)
CheckButton(Button14, Button10)
CheckButton(Button14, Button15)
CheckSolved()
End Sub
Private Sub Button15_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button15.Click
' 14,11,16
CheckButton(Button15, Button14)
CheckButton(Button15, Button11)
CheckButton(Button15, Button16)
CheckSolved()
End Sub
Private Sub Button16_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles Button16.Click
' 15,12
CheckButton(Button16, Button15)
CheckButton(Button16, Button12)
CheckSolved()
End Sub
Private Sub ToolStripButton1_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ToolStripButton1.Click
End Sub
Private Sub ToolStripButton2_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ToolStripButton2.Click
Me.Close()
End Sub
Private Sub Form1_FormClosed(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
End Sub
Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As
System.Windows.Forms.FormClosingEventArgs) Handles
Me.FormClosing
Dim x = MsgBox("Do you want to Exit?", vbYesNo + vbQuestion)
If (x = Windows.Forms.DialogResult.No) Then
e.Cancel = True
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Shuffle()
End Sub
End Class
Programski kod Module1.vbModule Module1
Sub CheckButton(ByRef Butt1 As Button, ByRef Butt2 As
Button)
If Butt2.Text = "" Then
Butt2.Text = Butt1.Text
Butt1.Text = ""
End If
End Sub
Sub CheckSolved()
If Form1.Button1.Text = "1" And Form1.Button2.Text = "2" And
Form1.Button3.Text = "3" And Form1.Button4.Text = "4" And
Form1.Button5.Text = "5" And Form1.Button6.Text = "6" And
Form1.Button7.Text = "7" And Form1.Button8.Text = "8" And
Form1.Button9.Text = "9" And Form1.Button10.Text = "10" And
Form1.Button11.Text = "11" And Form1.Button12.Text = "12" And
Form1.Button13.Text = "13" And Form1.Button14.Text = "14" And
Form1.Button15.Text = "15" Then
MsgBox("Wow, You did it in " & Form1.count & "Clicks",
vbInformation, "Shuffle")
End If
Form1.count = Form1.count + 1
Form1.Text = "Shuffle : " & Form1.count & " Clicks"
End Sub
Sub Shuffle()
Dim a(15), i, j, RN As Integer
Dim flag As Boolean
flag = False
i = 1
a(j) = 1
Do While i