42
PANEVROPSKI UNIVERZITET APEIRON FAKULTET INFORMACIONIH TEHNOLOGIJA Redovne studije „Inženjering informacionih tehnologija“ Predmet: VISUAL BASIC Primjeri osnovnih Visual Basic zadataka“ Predmetni nastavnik: Prof. dr Zoran Ž. Avramović Studenti: Ognjen Kostić Index br. 032- 08/RIT

Visual Basic

Embed Size (px)

DESCRIPTION

VB

Citation preview

Page 1: Visual Basic

PANEVROPSKI UNIVERZITET APEIRON

FAKULTET INFORMACIONIH TEHNOLOGIJA

Redovne studije„Inženjering informacionih tehnologija“

Predmet:

VISUAL BASIC

„Primjeri osnovnih Visual Basic zadataka“

Predmetni nastavnik:Prof. dr Zoran Ž. Avramović

Studenti:

Ognjen Kostić

Index br. 032- 08/RIT

Banja Luka, Septembar 2013.

Page 2: Visual Basic

SADRŽAJ

1 UVOD............................................................................................................................. 21.1 TIPOVI PODATAKA…………………………………………………………………… 31.2 RADNI PROSTOR VISUAL BASIC-a………………………………………………… 5 2 VIJEŽBE………………………………………………………………………………......6

2.1 Vježba 1 - Dobro dosli u Visual Basic………………………………………….. 62.2 Viježba 2 – Najmanji Broj……………………………………………………… 72.3 Viježba 3 - Razlika najvećeg i zbira preostala dva broja.................................... 82.4 Vježba 4 - Površina i obim praugaonika…………………………………….. . 92.5 Viježba 5 – Obrnuti tekst......................................................................................102.6 Vježba 6 - Prestupna godina…………………………………………………. 112.7 Vježba 7 - zahtjev za lozinku……………………………………………….. 122.8 Vježba 8 – Mjeseci u godini.................................................................................. 132.9 Vježba 9 – Primjena Pitagore…………………………………………………..142.10 Vježba 10 - Izračunavanje površine trougla korištenjem Heronovog

obrasca....................................................................................................................162.11 Vježba 11 - Mala i velika slova.......................................................................172.12 Vježba 12 – Geometriska sredina dva broja..................................................182.13 Vježba 13 – Kalkulator....................................................................................192.14 Vježba 14 – Pozitivan i negativan broj…………..…………………………202.15 Vježba 15 – Datum i tačno vrijeme.................................................................212.16 Vježba 16 – Štoperica.......................................................................................222.17 Vježba 17 - Čitanje teksta...............................................................................232.18 Vježba 18 – Web Browser...............................................................................242.19 Vježba 19 – Beeper...........................................................................................252.20 Vježba 20 – X O…………….………………………………………………..26

3. ZAKLJUČAK……………………………………………………….…………….304. LITERATURA………………………...…………………………………………….31

1

Page 3: Visual Basic

1. UVOD

Na Univerzitetu Dartmouth, 1965. godine, dva profesora John Kemeny i Thomas Kurtz razvila su "Beginner's All-purpose Symbolic Instruction Code" ili skraćeno BASIC. BASIC je prvenstveno bio razvijen zbog potrebe interaktivnosti programskih jezika. Ova interaktivnost znači da programeri mogu da unose komande i da odmah potom iskuse rezultate obrade.Sredinom osamdesetih "Microsoft" je razvio novu verziju QuickBasic.Iako je QuickBasic okruženje bilo moćno i lako za korištenje i učenje, postojao je problem sa opštom platformom (MS-DOS) u okviru koje su programeri radili. Naime, MS-DOS nije imao ugrađen korisnički interfejs kakav danas poznajemo; umjesto toga - bilo je to tekstualno-orijentisano okruženje. U takvom tekstualno-orijentisanom okruženju nije moguće upotrijebiti bilo kakvu grafičku prezentaciju - moguće je koristiti samo jednostavne linije ili karaktere. Ovo je MS-DOS činilo teškim za upotrebu zato što je od korisnika zahtjevao dosta tipkanja, a programere je ograničavao u pogledu mogućnosti prikaza rezultata korisnicima. Nakon više izdanja BASIC-a od strane različitih softverskih kuća, Microsoft je 1991. godine u prodaju pustio Visual Basic, razvojno okruženje koje je predstavljao, do tada, potpuno različit programerski šablon:

okruženje je koristilo operativni sistem Windows za razvoj Windows aplikacija okruženje je koristilo različite kontrole (komponente), čime se obezbjeđivala višestruka upotreba istog koda i lakše korištenje Windows objekata.

Za razumijevanje postupka razvijanja aplikacije, korisno je razumjeti neke ključnezamisli na osnovu kojih je kreiran Visual Basic. Obzirom da je Visual Basic programski jezik za Windows okruženje, nuormalna je sličnost s Windows okolinom. Pojednostavljena verzija rada Windows operativnog sustava uključuje tri osnovna pojma: prozore, događaje i poruke.Prozor ćemo shvatiti jednostavno kao pravouglo područje s vlastitim granicama, prozor Explorera u Windowsima, prozor s dokumentom u našoj aplikaciji za obradu teksta ili dijaloški okvir koji se pojavljuje da nas podsjeti na neki sastanak. Iako su to najčešći primjeri, zapravo postoji puno drugih vrsta prozora. Naredbeno dugme je prozor, ikone, okviri s tekstom, tasteri izbora i trake s izbornicima su također prozori.

Operativni sustav Microsoft Windows upravlja mnoštvom tih prozora dodjeljujući svakome od njih jedinstven identifikacijski broj (window handle ili hWnd). Sistem neprekidno prati svaki od tih prozora tražeći znakove aktivnosti ili događaja. Događaji se mogu pojaviti zahvaljujući akciji korisnika kao što je klik mišem ili pritisak na tipku, tokom programirane kontrole, ili čak kao rezultat akcije nekog drugog prozora. Svaki put kad se pojavi događaj, uzrokuje poruku koja se šalje operativnom sistemu.Sistem obrađuje poruku i prosljeđuje je drugim prozorima. Svaki prozor zatim možepoduzeti odgovarajuću akciju zasnovanu na vlastitim uputama kako bi obradio tu određenu poruku ( npr. ponovno će iscrtati ako je bio pokriven drugim prozorom).

Obrada svih mogućih kombinacija prozora, događaja i poruka može biti pravo opterećenje. Na sreću, Visual Basic nas oslobađa potreba baratanja svim manje važnim porukama. Većinu poruka Visual Basic obrađuje automatski; ostale nam se daju na znanje kao Event postupci. To nam omogućuje brzo stvaranje moćnih aplikacija bez potrebe za obradom nebitnih detalja. Microsoft Visual Basic je prije svega programski jezik. To je najbrži i najlakši način stvaranja aplikacija za Microsoft Windows-e. Sama riječ "Visual" (vidni, vizualan) se odnosi na način stvaranja grafičkog korisničkog okruženja (GUI - graphical user interface). Dakle, tokom čitavog procesa stvaranja aplikacije programer je u mogućnosti da vidi kako njegov program vizualno izgleda.Visual Basic programeri koriste više nego bilo

2

Page 4: Visual Basic

koji drugi programski jezik u istoriji računarstva. Njegovi korjeni dosežu do najranijih verzija programskog jezika Basic. Medjutim, Visual Basic se znatno razlikuje od Basica po tome sto nudi vizuelno okruženje za poslove projektovanja. Visual Basic je od pocetka nudio nacin za proširivanje programskog okruženja.

Program u Visual Basicu ima dva dijela:1. Dio za deklarisanje i2. Posebne programske procedure.Deklarisati znači definisati vrijednosti promjenjivih u skladu sa tipovima. Zadavanjem

tipa promjenjive govorimo dvije važne stvari o njima:1. Opseg vrijednosti koje može uzeti promjenjiva i2. Operacije koje se mogu izvesti nad promjenjivima.

Radi discipline i preglednosti najbolje je deklarisanje raditi na početku.Procedure u Visual Basicu su:1. (Pod)rutina – Sub,2. Funkcija – Function3. Svojstvo – Property.

Funkcija (Function) vraća (daje) samo jedan rezultat, dok Sub daje (vraća) više različitih vrijednosti i okončava sa jednim ili više rezultata.

1.1 Tipovi podataka

Tipovi podataka govore kompjuteru i programeru kakvu vrijednost može 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. Korištenje raznih tipova podataka u aplikacijama je potrebno radi bolje funkcionalnosti i kvalitete aplikacije.Varijabla tipa Boolean koriste se za prikaz dva različita stanja, istinito (True) ili lažno (False) i zauzimaju 2 bajta memorije.Dim Ja_Imam_18_god as BooleanJa_Imam_18_god = False

Byte tip podatka se koristi za držanje vrlo malene numeričke vrijednosti u rasponu od 0 do 255. Byte tip podataka zauzima samo jedan bajt memorije i ne može sadržavati negativne vrijednosti.

Char tip podataka služi za zapisivanje numeričkih 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 = „a“Znak = „b“cKod pridjeljivanja vrijednosti Char varijabli, slovo se stavlja unutar navodnika iza kojih može, a ne mora stajati slovo c. Slovo c na kraju vijednosti se mora koristiti ako je upaljena opcija Option Strict Date tipa podataka možemo prikazati određeni datum. Date tip podatka je 64bitna numerička vrijednost pomoću koje možemo 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#

3

Page 5: Visual Basic

Tip podatka Decimal služi za rad s brojevima bez zaokruživanja vrijednosti. Decimal tip podatka može raditi sa 28 decimalnih mjesta. Najveća vrijednost bez decimala koju može primiti varijabla Decimal tipa je +/-79,228,162,514,264,337,593,543,950,335. S maksimalnim brojem decimalnih mjesta, u varijablu tipa Decimal moguće je zapisati najveću vrijednost od +/-7.9228162514264337593543950335.Varijable Decimal tipa zauzimaju 16 bajtova memorije. Kod pridjeljivanja vrijednosti varijabli Decimal tipa vrijednost bez slova D na kraju moguće je da će Visual Basic smatrati vrijednost kao da je tipa Long što može dovesti do greške ako baratate s jako velikim ciframa. Vrijednost u dole prikazanom primjeru je prevelika za Long tip podatka i kada biste pokušali kompilirati program u kojem se nalazi slijedeći dio koda sigurno bi dobili grešku „OverFlow“, tj. prekoračenje maksimalne vrijednosti koju može primiti varijabla nekog tipa.Dim Racun as DecimalRacun = 10223372036854775807 'ova linija sadrzi greskuTačan kod je prikazan na slijedećem primjeru.Dim Racun as DecimalRacun = 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 može biti neki od brojeva koji spada u gore navedeni raspon, a ako želite naznačiti da se radi o Double vrijednosti onda na kraj vrijednosti dodajte slovo R.Dim Vrijednost as DoubleVrijednost = 1234567RVarijable 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 obično se one najčešće koriste za razne sitne kalkulacije. Vrlo je vjerovatno da ćete uz String tip najviše koristiti varijable Integer tipa.Dim I as integerI = 1000Varijable tipa Long mogu sadržavati cjele brojeve u rasponu od -9,223,373,036,854,775,808 do 9,223,373,036,854,775,808. Vrijednosti tipa Long možete pridjeliti varijablama tipa Long, Single, Double i Decimal bez dodatnih pretvaranja u drugi tip podataka. Kod pridjeljivanja Long vrijednosti nekoj varijabli možete 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 možete pridijeliti vrijednost bilo kojeg tipa. Varijabla tipa Object zauzima 4 bajta memorije. Svakog puta kada se u Object varijablu zapisuje drugačiji tip podatka Visual Basic mora pretvoriti varijablu u drugi tip podatka, a to iziskuje određeno vrijeme.

4

Page 6: Visual Basic

1.2 RADNI PROSTOR VISUAL BASIC-a

Radni prostor Visual Basica čini:1. Naslovna traka2. Traka izbornika3. Alatna traka4. Alatni prozor5. Prozor forme6. Prozor svojstva7. Projektni prozor

Dijelovi Visual Basic projekta su:- Projekat – to je riječ koja označava sve što je obuhvaćeno u VB-u,- Forma – prozor gdje se kreira interface između korisnika i računara i- Kontrole (objekti) - grafičke karakteristike ili alati koji se postavljaju na formu da

doznače korisničku interakciju (okviri za tekst, komandni tasteri, forma kao kontrola).Postavljanje kontrola se vrši njihovim odabirom u okviru Toolbox i prenošenjem na

formu. Svojstva kontrola se podešavaju u prozoru Properties. Properties prozor je uređen u obliku tablice sa dvije kolone. U lijevoj koloni se nalaze imena svih svojstava koja se mogu promijeniti na odabrani objekt. Desna kolona pokazuje podešenu vrijednost za svako svojstvo. Svako svojstvo ima unaprijed podešenu vrijednost koja će djelovati sve dok se ne promijeni.

2. VJEŽBE 2.1 Vježba 1 - Dobro dosli u Visual Basic

5

Page 7: Visual Basic

Zadatak je zamišljen kao dobrodoslica Visual Basic-a. Kad pritisnemo dugme „OK“ u MassageBox-u nam se pojavi poruka „Dobro došli 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 došli u Visual Basic", "Visual Basic") End SubEnd Class

6

Page 8: Visual Basic

2.2 Viježba 2 – Najmanji Broj

Za ovu vježbu, na formu sam stavio četiri textbox-a, četiri labele i dva komandna dugmeta. Ovdje sam prikazao upoređivanje tri broja i kao krajnji rezultat dobio sam poruku o tome koji je od tri broja najmanji. Ako prilikom unosa bude biše od jednog najmanjeg broja program će iznbaciti gresku „Nepostoji najmanji broj“

VB Aplokacija

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 = min

7

Page 9: Visual Basic

2.3 Viježba 3 - Razlika najvećeg i zbira preostala dva broja

Na formu sam stavio četiri labele, četiri textbox-a i jedno komandno dugme (Računaj). Prilikom unosa tri broja različitih veličina, program treba da izračuna razliku najvećeg 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 Class

8

Page 10: Visual Basic

2.4 Vježba 4 – Površina i obim praugaonika

Kada pokrenemo program, učitava se forma prikazana na slici gore. U prvi TextBox unosi se dužina pravougaonika, a u drugi širina pravougaonika. Nakon klika na dugme „Izračunaj“ u TextBox-ovima će se prikazati rezultati za površinu i obim pravougaonika. Koristio sam 4 TextBox-a, prva 2 za unos stranica dužine I širinei, a druga 2 za ispisivanje rezultata.Na formi postoji komanda ‘’Izračunaj. Klikom na “Izračunaj” izvršava 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 SubEnd Class

9

Page 11: Visual Basic

2.5 Viježba 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 odgovarajući 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

10

Page 12: Visual Basic

2 .6 Vježba 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”, “Poništi” i “Izlaz”). Da bi program bio u funkciji napisati programski kod. Kada pokrenemo program sledeći uputstva unesemo godinu u prvi TextBox i pritisnemo dugme „Kreni“. U drugom okviru za tekst ispisaće se odgovor, a pritiskom na dugme „Poništi“ tekst iz okvira se briše i možemo 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 izračunamo ostatak koristimo operator Mod. U dijelu programskog koda, koji glasi If x Mod 4 <> 0 ... znači : Ako je ostatak koji preostane po dijeljenju x sa 4 različit od nule...itd. Vrijednost promenljive x je na početku 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 Class

11

Page 13: Visual Basic

2.7 Vježba 7 – Zahtjev za lozinku

Pokrenuti novi projekat i na formu postaviti dugme “Unesi lozinku“. Kada pokrenemo program pojaviće 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 ništa dok ne ispita da li je neki uslov ispunjen. ako je ispunjen onda počinje da radi prema instrukcijama, u suprotnom prelazi na sledeću naredbu u programu Visual Basic-a. Uslov mora biti promenljiva ili izraz koji vraća 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 SubEnd Class

12

Page 14: Visual Basic

2.8 Vježba 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 mogućih 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"

13

Page 15: Visual Basic

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 Vježba 9 - Primjena Pitagorine

Ovaj zadatak ima za cilj izracunavanje treće stranice prougla na osnovu poznavanja ostale dvije stranice. Za izračunavanje ovog zadatka koristićemo Pitagorinu teoremu: „Površina kvadrata nad hipotenuzom je jednaka zbiru površina 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

14

Page 16: Visual Basic

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 SubEnd Class

15

Page 17: Visual Basic

2.10 Vježba 10 - Izračunavanje površine trougla korištenjem Heronovog obrasca

Poznati Heronov obrazac za izračunavanje površine trougla glasi: P = √S∗(S−a )∗( S−b )∗(S−c). Gdje je S = (a+b+c)/2. Kod ovog zadatka je uslov da je jedna stranica duža od zbira dužina 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 SubEnd Class

16

Page 18: Visual Basic

2.11 Vježba 11 - Mala i velika slova

Program vrši pretvaranje velikih slova u mala i obrnuto. Koristio sam naredbe Lcase i Ucase.

VB Aplikacija

Programski kod

Public 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 Class

17

Page 19: Visual Basic

2.12 Vježba 12 – Geometriska sredina dva broja

Ovaj program se koristi za izračunavanje 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 SubEnd Class

18

Page 20: Visual Basic

2.13 Vježba 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

19

Page 21: Visual Basic

c = a / b TextBox3.Text = c Else MessageBox.Show("Broj se nemoze djeliti sa 0", "Greska") End If End SubEnd Class

2.14 Vježba 14 – Pozitivan ili negativan broj

Zadatak koji provjerava dali je unešeni 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 SubEnd Class

20

Page 22: Visual Basic

2.15 Vježba 15 – Datum i tačno vrijeme

Pokrenuti 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 odgovarajući programski kod koji je prikazan na slici gore. Prilikom pokretanja programa učitava se obrazac kao na gornjoj slici. Pritiskom na komandno dugme „Pokaži datum“ u Textbox-u će se očitati današnji datum, a pritiskom na komandno dugme ’’Pokaži datum i vrijeme’’ u TextBox-u će se očitati 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 SubEnd Class

21

Page 23: Visual Basic

2.16 Vježba 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 počne da teče vrijeme, kada se u Labeli1 brojač izbroji do 100, onda u Labeli2 počne da broji sekunde, kad Labela2 bude jednaka 60 u Labeli3 počinju da teku minute. Kad pritisnemo dugme Stop štoperica prestaje da broji a dugme Reset vraća sve Labele na početno 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 SubEnd Class

22

Page 24: Visual Basic

2.17 Vježba 17 - Čitanje teksta

Za ovaj zadatak potreban nam je jedan Button i jedan TextBox, I nova alatka sapi pomoću koje realizujemo da sve ono što napisemo bude pročitano. U programski kod Buttona upisujemo kod pomoću kojeg dajemo naredbu da sve što napišemo u TextBox-u bude rečeno naravno to je moguće ostvariti pomoću sapi-a, alatke koja služi za govor u Visual Basic-u, nažalost 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 Class

23

Page 25: Visual Basic

2.18 Vježba 18 – Web Browser

Da bi smo rješili 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 učitaj. Učemo u programski kod Buttona učitaj i pomoću koda stavljamo naredbu da kad TekxBox upisemo naziv neke stranice direktno učita 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 SubEnd Class

24

Page 26: Visual Basic

2.19 Vježba 19 – Beeper

Da bi rješili ovaj zadatak potrebno su nam 4 Button-a i Timer sa kojim se susrećemo 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 riješili pomoću Timera),i to traje sve dok ne pritisnemo dugme Stop. Dugme Hide Me služi 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 Class

25

Page 27: Visual Basic

2.20 Vježba 20 – X O

Ovo je najteža aplikacija koju ćemo napraviti ali pošto je zadnji zadatak do bi valjda tako trebalo biti. Da bi smo riješili ovaj zadatak treba nam 10 Button-a i 7 Label-a, Buttone rasporedimo tako da napravimo igricu XO i svakom od njih dajemo komande pomću koji će kasnije funkcionisati. Label-e tu služe samo da bi vizuelno uljepšali igricu.

VB Aplikacija

Programski kodPublic Class Form1 Dim turn As Integer Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load turn = 1 End Sub Private Sub win() End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If turn = 1 Then Button1.text = "O" Label2.text = "X" Else Button1.text = "X" Label2.text = "O" End If turn += 1 If turn > 2 Then turn = 1 End If Call win() Button1.Enabled = False End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If turn = 1 Then Button2.Text = "O" Label2.Text = "X" Else Button2.Text = "X" Label2.Text = "O" End If turn += 1 If turn > 2 Then turn = 1 End If

26

Page 28: Visual Basic

Call win() Button2.Enabled = False End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click If turn = 1 Then Button3.Text = "O" Label2.Text = "X" Else Button3.Text = "X" Label2.Text = "O" End If turn += 1 If turn > 2 Then turn = 1 End If Call win() Button3.Enabled = False End Sub

Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click If turn = 1 Then Button6.Text = "O" Label2.Text = "X" Else Button6.Text = "X" Label2.Text = "O" End If turn += 1 If turn > 2 Then turn = 1 End If Call win() Button6.Enabled = False End Sub

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click If turn = 1 Then Button5.Text = "O" Label2.Text = "X" Else Button5.Text = "X" Label2.Text = "O" End If turn += 1 If turn > 2 Then turn = 1 End If Call win() Button5.Enabled = False End Sub

Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click If turn = 1 Then Button4.Text = "O" Label2.Text = "X" Else Button4.Text = "X" Label2.Text = "O" End If

27

Page 29: Visual Basic

turn += 1 If turn > 2 Then turn = 1 End If Call win() Button4.Enabled = False End Sub

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click If turn = 1 Then Button9.Text = "O" Label2.Text = "X" Else Button9.Text = "X" Label2.Text = "O" End If turn += 1 If turn > 2 Then turn = 1 End If Call win() Button9.Enabled = False End Sub

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click If turn = 1 Then Button8.Text = "O" Label2.Text = "X" Else Button8.Text = "X" Label2.Text = "O" End If turn += 1 If turn > 2 Then turn = 1 End If Call win() Button8.Enabled = False End Sub

Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click If turn = 1 Then Button7.Text = "O" Label2.Text = "X" Else Button7.Text = "X" Label2.Text = "O" End If turn += 1 If turn > 2 Then turn = 1 End If Call win() Button7.Enabled = False End Sub

Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click Button1.Text = " " Button1.Enabled = True Button2.Text = " "

28

Page 30: Visual Basic

Button2.Enabled = True Button3.Text = " " Button3.Enabled = True Button4.Text = " " Button4.Enabled = True Button5.Text = " " Button5.Enabled = True Button6.Text = " " Button6.Enabled = True Button7.Text = " " Button7.Enabled = True Button8.Text = " " Button8.Enabled = True Button9.Text = " " Button9.Enabled = True

End SubEnd Class

29

Page 31: Visual Basic

3. Zakljucak

Pri izradi ovog seminarskog rada prvi put sam se susreo sa programiranjem u Visual

Basic-u 2008. Nastojao sam da kroz 20 primjera (zadataka) u svom seminarskom radu,

obuhvatim osnovne mogućnosti koje pruža VB. Svakako ću i nakon što položim ovaj ispit

nastaviti sa usavršavanjem rada u VB. VB predstavlja okruženje za pravljenje projekta

(računarskog programa), unutar koga možemo da počnemo s pravljenjem projekta, možemo

ga pokrenuti i testirati, uklanjati greške i snimati ga za kasnije korišćenje. Kod nekih drugih

računarskih jezika program pišete obično u posebnom programu za uređivanje teksta, zatim

pozivate program za prevođenje (engl. compiler) da biste napravili tzv. izvršnu (engl. execute)

verziju programa, a u posebnom programu testirate svoj program. VB integriše sve ove

programe u jedno razvojno okruženje, što je njegova ogroman prednost u odnosu na druge

programske jezike. Takođe poznavanje programskog jezika QBasic je od velike koristi za

učenje programiranja u VB 2005 i stoga je preporučljivo savladati prvo ovaj jezik pa tek onda

se uhvatiti u koštac sa moćnim Visual Basicom 2008. Ovo mi je od velike pomoći za budući

rad, te mi je to još jedan podstrek više da ne odustanem u namjeri da bolje upoznam Visual

Basic nego što to sada znam.

30

Page 32: Visual Basic

4. Literatura

Microsoft Visual Basic- vodič za programere-

Microsoft® Visual Basic 6.0 programer.s Guide. „Strijelac“- Zagreb 1999.

Damir Omerasevic, Muhamed Sarajlic, Basic, Svjetlost Sarajevo 2003.

Nedžad Jupić Osnove programiranja /Rapid Applications Development System/-skripta

Visual Basic za neupućene – Wallace Wang

31