visual basic rijeseni primjeri zadataka

44
PANEVROPSKI UNIVERZITET APEIRON FAKULTET POSLOVNE INFORMATIKE Redovne studije Smer „IT menadžment” Predmet Viši programski jezici i RAD alati programiranje u VB- u „RIJEŠENI PRIMJERI” (seminarski rad) Predmetni nastavnik Prof. dr Zoran Ž. Avramović, dipl.inž.elek. Student Ognjen Kostić, student

Upload: ognjen-struka-kostic

Post on 24-Nov-2015

801 views

Category:

Documents


58 download

DESCRIPTION

V basic

TRANSCRIPT

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