Upload
ognjen-kostic
View
20
Download
1
Embed Size (px)
DESCRIPTION
VB
Citation preview
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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