robert milicevic-vb-info-seminarski rad.docx

20
 SVEUČILIŠTE/UNIVERZITET „VITEZ“ TRAVNIK FA KULT ET POSLOVNE INFORMATIKE STUDIJ I CIKLUSA; GODINA STUDIJA:IV CIKLUSII GODINA SMJER: Info!"#$%&'( )(*no+o,$%( $ n"&)"-n$.'" $nfo!")$'" Visual Basic 6 – Riješeni zadaci SEMINARSKI RAD T"-n$' 0121234 SVEUČILIŠTE/UNIVERZITET „VITEZ“ TRAVNIK FA KULT ET POSLOVNE INFORMATIKE STUDIJ I CIKLUSA; GODINA STUDIJA:IV CIKLUSII GODINA

Upload: robert-mili

Post on 05-Nov-2015

243 views

Category:

Documents


0 download

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