robert milicevic-vb-info-seminarski rad.docx
TRANSCRIPT
SVEUILITE/UNIVERZITET VITEZ TRAVNIK FAKULTET POSLOVNE INFORMATIKESTUDIJ I CIKLUSA; GODINA STUDIJA:IV CIKLUSII GODINASMJER: Informacijske tehnologije i nastavnika informatika
Visual Basic 6 Rijeeni zadaci
SEMINARSKI RAD
Travnik 19.2.20141
SVEUILITE/UNIVERZITET VITEZ TRAVNIK FAKULTET POSLOVNE INFORMATIKESTUDIJ I CIKLUSA; GODINA STUDIJA:IV CIKLUSII GODINASMJER: Informacijske tehnologije i nastavnika informatika
Visual Basic 6 Rijeeni zadaci
SEMINARSKI RAD
IZJAVA: Ja Robert Milievi student Sveuilita/Univerziteta Vitez Travnik, odgovorno i uz moralnu i akademsku odgovornost izjavljujem da sam ovaj rad izradio potpuno samostalno uz koritenje citirane literature i pomo profesora odnosno asistenta.
Potpis studenta: _________________
Predmet:Vii programski jeziciMentor:Akademik, prof.dr Zoran . Avramovi;Asistent:Mahir Zajmovi, dipl.ing.itStudenti:Robert Milievi
Sadraj1. Uvod........................................................................................................................................................12. Zadatak 1: Provjera broja koji je vei22.2. Dizajn22.3. Kodiranje23. Zadatak 2: Provjera tri unesena broja, koji je najvei33.1. Analiza i specifikacija33.2. Dizajn33.3. Kodiranje33.4. Testiranje45.2 Kodiranje6Form165.3. Testiranje86. Zadatak 5: Osnovne matematike operacije96.1. Analiza i specifikacija96.2. Dizajn96.3 Kodiranje106.4. Testiranje107.1. Analiza i specifikacija117.2. Dizajn118.1. Analiza i specifikacija128.2. Dizajn139.1. Analiza i specifikacija149.2. Dizajn149.4. Testiranje1610.1. Analiza i specifikacija1610.2. Dizajn16
1.Uvod
Visual Basic je programski jezik visokog nivoa razvijen iz ranije DOS verzije Basic. Basic je skraenica od Beginners' Allpurpose Symbolic Instruction Code.To je prilino jednostavan programski jezik. Najsliniji prirodni jezik Visual Basic- u je engleski jezik. Razliite softverske kompanije razvile su razliite verzije Basic- a, kao to su Microsoft QBASIC, QUICKBASIC, GWBASIC, IBM BASICA i td..
Visual Basic je vizuelni programski jezik kojim upravljaju dogaaji. To su glavne razlike u odnosu na stari Basic. U Basic- u, programira se u tekstualnoj operativnoj sredini i program se izvrava sekvencijalno. U Visual Basic- u, programira se u grafikoj operativnoj sredini. Korisnici mogu da kliknu na odreen objekat, tako da svaki objekat mora da bude programiran nezavisno da bi mogao da odgovori na te akcije (dogaaje). Visual Basic program je napravljen od podprograma , svaki ima svoj programski kod, i svaki moe biti izvren nezavisno i u isto vreme svaki moe biti povezan sa drugima.
U nastavku seminarskog rada su prezentirani rijeeni zadaci, opis istih, grafiki prikaz i izvrni kod raen kroz Visual Basic 6.
2. Zadatak 1: Provjera broja koji je vei2.1. Analiza i specifikacijaNapraviti poreenje dva unesena broja, sa rezultatom koji je vei.2.2. DizajnObjektSvojstvoVrijednost
CommandButtonNameTextcmdStart&Zapocnite
CommandButtonNameTextcmdIzlaz&Izlaz
2.3. KodiranjePrivate Sub cmdStart_Click()a = Val(InputBox("Upii prvi broj:")) ' Val pretvara tekst u broj, dok inputbox ' kreira novi prozor za unos trazenog podatka za prvi brojb = Val(InputBox("Upii drugi broj:")) ' kao prethodno unos drugog broja
If a > b Then ' Provjera da li je prvi veci od drugog MsgBox "Prvi broj je vei!" ' ako jest ispisi kroz novi prozorElseIf a < b Then ' ako nije ponovo ispisi MsgBox "Drugi broj je vei!"Else MsgBox "Brojevi su jednaki!" 'prethodna dva uslova nisu zadovoljena ispisi da su brojevi jednakiEnd IfEnd Sub
Private Sub cmdIzlaz_Click()End ' Izlaz iz programaEnd Sub
2.4.Testiranje
3. Zadatak 2: Provjera tri unesena broja, koji je najvei3.1. Analiza i specifikacijaPoreenje tri unesena broja, sa rezultatom koji je najvei.3.2. DizajnObjektSvojstvoVrijednost
CommandButtonNameTextcmdStart&Zapocnite
CommandButtonNameTextcmdIzlaz&Izlaz
3.3. KodiranjePrivate Sub cmdStart_Click()a = Val(InputBox("Upii prvi broj:")) ' Val pretvara tekst u broj, dok inputbox kreira novi ' prozor za unos trazenog podatka za prvi brojb = Val(InputBox("Upii drugi broj:")) ' kao prethodno unos drugog brojac = Val(InputBox("Upii trei broj")) ' kao prethodno unos treceg broja
If a > b And a > c Then ' na osnovu uslova dati trazeni rezultat MsgBox "Prvi broj je najvei!"ElseIf b > a And b > c Then MsgBox "Drugi broj je najvei!"ElseIf c > a And c > b Then MsgBox "Trei broj je najvei!"ElseIf a = b And a > c Then MsgBox "Prvi i drugi broj su najvei!"ElseIf b = c And b > a Then MsgBox "Drugi i trei broj su najvei!"ElseIf c = a And c > b Then MsgBox "Prvi i trei broj su najvei!"Else MsgBox "Svi brojevi su jednaki!"End If
End Sub
Private Sub cmdIzlaz_Click()End ' Izlaz iz programaEnd Sub
3.4. Testiranje
4. Zadatak 3: Dim - Static4.1. Analiza i specifikacijaProgram u kojem prikazuje dim i static, na dim broj uvijek ostaje isti, a za static povecava se za broj.
4.2. DizajnObjektSvojstvoVrijednost
DimNameTextcmdDimDim
StaticNameTextcmdStaticStatic
4.3. Kodiranje:Private Sub cmdDim_Click() Dim X As Integer 'deklarisana varijable X tipa integer koja nece zadrzavati vrijednost X = X + 1 'kod ponovnog ulaska u ovu subrutinu jer se korisiti DIM MsgBox X, , vbModalEnd Sub
Private Sub cmdStatic_Click() Static Y As Integer 'deklarisana varijable Y tipa integer koja ce zadrzavati vrijednost Y = Y + 1 'kod ponovnog ulaska u ovu subrutinu jer se korisiti STATIC MsgBox Y, , vbModal ' njena vrijednost se uvacava svaki put kod ulaska (1,2,3,4...)End Sub4.4.Testiranje
5. Zadatak 4: private-public 5.1 Analiza i specifikacijaPrivate i public jest postavljanje vrijednosti, private jest za jednu formu ta vrijednost vrijedi, a u publicu u obe forme vrijednost vrijedi
ObjektSvojstvoVrijednost
Form1NameCaptionForm1Form1
Form2NameCaptionForm2Form2
CommandButtonNameCaptioncmdOtvoriFormu2postavljanje vrijednosti
CommandButtonNameCaptioncmdPrikaziPublicPublic
CommandButtonNameCaptioncmdPrikaziPrivat Private
CommandButtonNameCaptioncmdSaberiPrivatePublicsabrati private i public
CommandButtonNameCaptioncmdPostaviPublic public vrijednost
CommandButtonNameCaptioncmdPostaviPrivateprivate vrijednost
CommandButtonNameCaptioncmdSaberiPrivatePublic
sabrati
CommandButtonNameCaptioncmdZatvori
zatvoriti
5.2 KodiranjeForm1
Private Sub cmdPrikaziPrivat_Click()MsgBox XnaFormi2, , vbModalEnd SubPrivate Sub cmdSaberiPrivatePublic_Click()' Prikaz zbira Privatne i Public varijable. Kako Privatna varijabla sa Form2 ovdje nije vidjljiva' zbir ce iznositi samo vrijednost PUBLIC varijable koja je deklarisana u Module1 MsgBox "Zbir PUBLIC i PRIVATE varijable na Form1 je: " & XuModulu + XnaFormi2End SubPrivate Sub cmdPrikaziPrivate_Click()' Ovdje XnaFromi2 nije dostupno i ovdje rezultat nece imati vrijednost' jer je xnaFormi2 deklarisano kao Private na Form2 MsgBox XnaFormi2, , vbModalEnd SubPrivate Sub cmdPrikaziPublic_Click()' Ovdje XuModulu jeste dostupno i ovdje rezultat ce biti prikazan' jer je XuModulu Public varijabla i vidjliva je i dostupna iz svih modula (formi) MsgBox XuModulu, , vbModalEnd SubPrivate Sub cmdOtvoriFormu2_Click()' Otvaranje forme na kojoj ce se dodjeliti vrijednosti Public i Private varijabli Form2.Show vbModalEnd Sub
Form2Private XnaFormi2 As Integer
Private Sub cmdPostaviPrivate_Click()' Ovdje od korisnika trazimo da se unese vrijednost za PRIVATE varijablu' i nakon unosa vrijednost smjestamo u XnaFormi2 (Private varijablu) XnaFormi2 = InputBox("Unesite vrijednost za PRIVATE varijablu")End Sub
Private Sub cmdPostaviPublic_Click()' Ovdje od korisnika trazimo da se unese vrijednost za PUBLIC varijablu' i nakon unosa vrijednost smjestamo u XuModulu (Public varijablu) XuModulu = InputBox("Unesite vrijednost za PUBLIC varijablu")End Sub
Private Sub cmdSaberiPrivatePublic_Click()' Prikaz zbira Privatne i Public varijable. Kako je Privatna varijabla ovdje vidjljiva' zbir ce iznositi PUBLIC + PRIVATE varijabli MsgBox "Zbir PUBLIC i PRIVATE varijable na Form2 je: " & XuModulu + XnaFormi2, , vbModalEnd Sub
Private Sub cmdZatvori_Click()' Zatvaramo formu Unload MeEnd Sub
5.3. Testiranje
6. Zadatak 5: Osnovne matematike operacije6.1. Analiza i specifikacijaProgram koji izvrava etiri matematike operacije sabiranje, oduzimanje, mnoenje i dijeljenje na osnovu unesenih brojeva.6.2. DizajnObjektSvojstvoVrijednost
TextBoxNameTexttxtx0
TextBoxNameTextTxty0
CommandButtonNameTextcmdIzracunaj&Izracunaj
OptionButtonNameTextzZbrajanje
OptionButtonNameTextoOduzimanje
OptionButtonNameTextmMnoenje
OptionButtonNameTextdDijeljenje
LabelNameCaptionlblrRezultat
6.3 KodiranjePrivate Sub cmdIzracunaj_Click()On Error GoTo GRESKA ' Ako doe do greke idi na grekaDim x As Double 'Deklarisanje varijabliDim y As DoubleDim zb As Doublex = txtx 'Dodjeljivanje vrijednosti varijablamay = txtyIf z.Value = True Then 'Ispinjavanje uslova za oznacene operacijezb = x + y ' Izvravanje operacijeElseIf o.Value = True Thenzb = x - yElseIf m.Value = True Thenzb = x * yElseIf d.Value = True Thenzb = Format(x / y, "#.00")ElseMsgBox "Unos Pogresan"End Iflblr = "Rezultat: " & zb ' Ispisivanje rezultataExit SubGRESKA:MsgBox "Dolo je do greke u izvravanju."End Sub6.4. Testiranje
7. Zadatak 6: Kreiranje tekstualnog fajla7.1. Analiza i specifikacijaProgram koji kreira novi tekstualni fajl pod nazivom Spisak predmeta i ocjena.txt u direktoriju u kojem se nalazi program i koji dozvoljava neogranien unos naziva predmeta i ocjene sve dok korisnik kao naziv predmeta ne unese rije kraj.
7.2. DizajnObjektSvojstvoVrijednost
CommandButtonNameTextcmdStart&Zapocnite
CommandButtonNameTextcmdIzlaz&Izlaz
7.3. KodiranjePrivate Sub cmdStart_Click()Dim Predmet As String ' Varijabla za predmet kao tekstDim ocj As Integer ' Varijabla za ocjenu kao cijeli brojOpen "D:Test1.Txt" For Output As #1 'Kreiranje novog txt fajla i snimanje pod 1Do ' Poetak petlje Predmet = InputBox("Upiite naziv predmeta:") ' unos naziva predmeta i dodjeljevanje varijabli If Predmet = "kraj" Then Exit Do ' Ako je unesen kraj napusti Do petlju ocj = Val(InputBox("Upiite ocjenu:")) ' Unos ocjene u varijablu ocj Write #1, Predmet, ocj ' Upisivanje u kreirani fajlLoop ' Ponavljanje petljeClose #1 ' Zatvaranje fajlaEnd Sub
Private Sub cmdIzlaz_Click()End ' Izlaz iz programaEnd Sub 7.4. Testiranje
8. Zadatak 7: Prikazivanje imena
8.1. Analiza i specifikacijaPrikazivanje imena tj. subrutina, program ispisuje vase ime na racunaru.
8.2. DizajnObjektSvojstvoVrijednost
CommandButtonNameTextcmdSubrutinaPozivSubrutina
CommandButtonNameTextcmdZatvoriZatvoriti program
8.3. KodiranjePrivate Sub cmdSubrutinaPoziv_Click()' Pozivanje subrutine PrikaziUnesenoEnd Sub
Private Sub PrikaziUneseno() Dim X As String X = InputBox("Unesite vase ime:") MsgBox "Vase ime je " & XEnd Sub
Private Sub cmdSubrotinaPoziv_Click()
End Sub
Private Sub cmdZatvori_Click()' Zatvaramo formu Unload MeEnd Sub
8.4. Testiranje
9. Zadatak 8: Kursor ogranien na formu
9.1. Analiza i specifikacijaKursor ogranien na formu jest porogram zakljuavanja kursora na ekranu samo u odreenim pikselima, a omuguivanje mogue je samo upisivanje sifre: sifra.
9.2. DizajnObjektSvojstvoVrijednost
FormNameCaptionkursorOgraniciNaFormuForm1
CommandButtonNameCaptionCommand1 Postavi limit kursora
CommandButtonNameCaptionCommand2 Ponisti limit kursora
CommandButtonNameCaptionCommand3 I Z L A Z
TextBoxName
sifra
TimerNameIntervalTimer11
9.3. KodiranjePrivate Type RECT left As Integer top As Integer right As Integer bottom As IntegerEnd Type
Private Type POINT x As Long y As LongEnd Type
Private Declare Sub ClipCursor Lib "user32" (lpRect As Any)Private Declare Sub GetClientRect Lib "user32" (ByVal hWnd As Long, lpRect As RECT)Private Declare Sub ClientToScreen Lib "user32" (ByVal hWnd As Long, lpPoint As POINT)Private Declare Sub OffsetRect Lib "user32" (lpRect As RECT, ByVal x As Long, ByVal y As Long)
Private Sub Command3_Click() 'Oslobodi kretanje kursora ClipCursor ByVal 0& EndEnd Sub
Private Sub Command1_Click() 'Ogranici kretanje kursora samo na formu Dim client As RECT 'definise formu kao kvadrat Dim upperleft As POINT ' pocetna tacka za kvadrat GetClientRect Me.hWnd, client upperleft.x = client.left upperleft.y = client.top ClientToScreen Me.hWnd, upperleft OffsetRect client, upperleft.x, upperleft.y ClipCursor client ' ogranicavnje kursoraEnd Sub
Private Sub Command2_Click() 'Oslobodi kretanje kursora ClipCursor ByVal 0&End Sub
Private Sub Form_Unload(Cancel As Integer) 'Oslobodi kretanje kursora ClipCursor ByVal 0&End Sub
Private Sub Timer1_Timer()If sifra.Text = "sifra" Then Command2.Enabled = TrueEnd Sub9.4. Testiranje
10. Zadatak 9: Prikazivanje imena
10.1. Analiza i specifikacijaPoveavanje kamatne stope u program za unos koliki mi unesemo.
10.2. DizajnObjektSvojstvoVrijednost
CommandButtonNameCaptionCommand1izracunaj
CommandButtonNameCaptionCommand2 izlaz
FormNameCaptionForm1 Form1
LabelName
Label1
LabelName
Label2
ListBoxName
List1
TextBoxName TextText1
TextBoxName TextText2
10.3. Kodiranje
Private Sub Command1_Click() Dim Godine As Integer Dim kamata As Double Dim Deposit As Currency Dim Ulog As Currency If Text1.Text = "" Then MsgBox "Niste unijeli kamatu" Text1.SetFocus ElseIf Text2.Text = "" Then MsgBox "niste unijeli ulog" Text2.SetFocus Else Ulog = Text2.Text kamata = Text1.Text / 100 List1.AddItem " godina " & Space$(4) & "Iznos depozita" For Godine = 1 To 10 Deposit = Ulog * (1 + kamata) ^ Godine List1.AddItem Godine & Space$(14) & Format(Deposit, "0.00 KM") Next Godine End If
End Sub
Private Sub Command2_Click()Unload MeEnd Sub
10.4. Testiranje