Visual Basic .NET Lekcije

Published on July 2016 | Categories: Types, Business/Law | Downloads: 127 | Comments: 0 | Views: 969
of 12
Download PDF   Embed   Report

Lekcije za VB .NET

Comments

Content

Visual Basic .NET Lekcije
Lekcija 01 - Pokretanje novog projekta i okruženje
Pre svega, dobrodošli na kurs programiranja u VB.Net 2008 okruženju. Da počnemo: Prvo što ćete da dobijete na ekranu je:

Sledeće što ćemo uraditi je:

  

Dodaćemo objekat Button (dugme za izvršavanje komandi) Dodaćemo objekat Label (naslov) Izmenićemo svojstva naše forme

Oba objekta ćemo dobiti dvosrtukim klikom na svaki od njih u Toolbox-u. Dobili smo naše prve objekte Button1 i Label1, potrebno je da ih razmestimo po formi. Nakon razmeštanja, našim objektima promenićemo odreĎena svojstva:



Dodelićemo im nazive tako što ćemo im u prozoru Properties promeniti svojstvo (Name). Za dugme umesto nazivaButton1 unećemo naziv Dugme a za labelu umesto naziva Label1 unećemo naziv Labela



Promenićemo tekst ispisan na dugmetu i labeli tako što ćemo im proeniti svojstvo Text. Za dugme umesto tekstaButton1 unećemo text Dugme a za labelu umesto teksta Label1 unećemo tekst Labela.

Da bi pokrenuli novi projekat potrebno je da u padajućem meniju izaberemo File > New Project (Ctrl+N). Dobili smo prozor New Project. U okviru ovog prozora na levoj strani u navigaciji Project Types potrebno je da izaberemoVisual Basic > Windows. Nakon toga u desnom prozoru Templates potrebno je da izaberemo Windows Forms Application a pri dnu prozora u polju Name da upišemo željeni radni naziv aplikacije. Našoj aplikaciji daćemo radni naziv Prvi Projekat. Nakon klika na dugme OK, pokrenuli smo naš prvi projekat i dobili radno okruženje. Radno okruženje se sastoji iz nekoliko delova:



Izmenićemo svojstva naše forme na kojoj smo kreirali objekte dugme i labela tako što ćemo joj u prozoru Properties promeniti svojstvo (Name) u Aplikacija i svojstvo text u Aplikacija

Menjanje svojstva (Name)

    

Toolbox (levo) - Objekti Centralni radni panel (sredina) - Radna površina / dizajn i programiranje Solution explorer (desno) - Projekti, forme... Properties (desno) - Svojstva objekata Error list (dole) - Lista mogućih grešaka Ovim smo našim objektima i formi dodelili svojstva i naša prva aplikacija je spremna za rad! Aplikaciju pokrećemo tako što ćemo u padajućem meniju izabrati Debug > Start Debugging (F5). Naša prva aplikacija treba da izgleda ovako: Zatvorićemo našu aplikaciju, i naš projekat a na pitanju izabraćemo Save i u sledećem prozoru nećemo ništa menjati i kliknuti opet na Save.

Napomena: ukoliko na levoj strani nije aktivan prozor Toolbox aktiviraćemo ga tako što ćemo prevući mišem preko kartice toolbox i aktivirati klikom na dugme Auto Hide koje se nalazi pored dugmeta Close za zatvaranje Toolbox-a.

Lekcija 02 - Prvi kod
Nakon ponovnog pokretanja VB.Net-a 2008 dobili smo Start Page i da bi pokrenuli naš započeti projekat u prozoru Recent Projects izabraćemo stavku Prvi Projekat. Imamo pripremljenu prvu aplikaciju, vreme je da zadamo našim objektima odreĎene poslove. Da bi dugmetu komo smo za sad dali naziv Dugme dodelili odreĎeni posao potrebno je da na njega kliknemo dva puta. Dobili smo prozor za ureĎivanje koda aplikacije. Naš kod treba da izgleda ovako: Public Class Aplikacija Private Sub Dugme_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Dugme.Click End Sub End Class Ceo kod koji se nalazi izmeĎu linija Public Class Aplikacija odnosi se na formu Aplikacija. Linije: Private Sub Dugme_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Dugme.Click i End Sub označavaju početak i kraj koda za naše dugme. Da bi dugmetu dodelili odreĎeni posao potrebno je ubacimo kod izmeĎu ove dve linije. Zadatak: Klikom na dugme promeniti tekst ispisan u labeli Rešenje: Ubacićemo kod kojim će se klikom na dugme u labeli pojaviti tekst "promena teksta u labeli". Kod za izvršavanje ovakve komande glasi: Labela.Text = "promena teksta u labeli" dakle, ceo kod naše Aplikacije glasiće: Public Class Aplikacija Private Sub Dugme_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Dugme.Click Labela.Text = "promena teksta u labeli" End Sub End Class Da bi se vratili na dizajn aplikacije kliknućemo n a karticu Form1.vb [Design] Private Sub Dugme_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Dugme.Click Labela.Text = "promena teksta u labeli" End Sub Private Sub drugoDugme_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles drugoDugme.Click Labela.Text = "nova promena" End Sub End Class Da bi sprobali funkionalnost naše aplikacije pritisnućemo taster F5. Naša aplikacija na kraju druge lekcije treba da izgleda ovako: I End Class Da bi sprobali funkionalnost naše aplikacije pritisnućemo taster F5. Zadatak: kreirati novo dugme koje će da izvrši novu promenu teksta u labeli u "nova promena". Rešenje:



u toolboxu dvostrukim klikom na objekat Button ubacićemo novo dugme na formu. Pomerićemo ga ispod prvog dugmeta, promenićemo mu svojstvo Name u drugoDugme i svojstvo Text u "Drugo Dugme" i malo ćamo mu povećati dimenzije da bi text bio u potpunosti ispisan.



Dvostrukim klikom prećićemo na kod aplikacije i na kod našeg drugog dugmeta unećemo sledeću liniju:

Labela.Text = "nova promena" ceo kod aplikacije treba da izgleda ovako: Public Class Aplikacija

Lekcija 03 - Ostali osnovni objekti
Podsetnik: u prethodnim lekcijama smo se upoznali saobjektima Button i Label. U lekciji 3 nastavljamo sa upoznavanjem sa osnovnim objektima. U ovoj lekciji obradićemo sledeće objekte (ubacićemo svaki od njih na formu i rasporediti ih kao na slici ispod):

CheckBox - Osnovna namena: polje za potvrdu - potvrĎivanje odreĎene radnje ili ispitivanje da li će neki zadatak da se obavi Napomena: ima dva stanja - svojstvo Checked (True i False) - da li će odreĎeno posao biti obavljen RadioButton - Osnovna namena: izbor jedne od opcija Napomena: ima dva stanja - svojstvo Checked (True i False) koja opcija je izabrana. Od CheckBox-a se razlikuje po tome što se kod njega može izabrati više opcija odjednom a kod RadioButton -a je moguć izbor samo jedne od opcija. ListBox - Osnovna namena: lista podataka ComboBox - Osnovna namena: lista podataka sa padajućom listom… Za sad toliko...u sledećoj lekciji proćićemo kroz primere za svaki od navedenih objekata.

      

TextBox (unos podataka) PictureBox (slika) Timer (izvršavanje odreĎenog koda u zadatom vremenskom periodu) CheckBox (polje za potvrdu) RadioButton (dugme za izbor opcija) ListBox (lista podataka) ComboBox (lista podataka sa padajućom listom)

Lekcija 04 - Primeri i tipovi podataka
Pre nego što počnemo obradićemo neke osnovne tipove podataka koje ćemo koristiti u ovom kursu.

   

Integer, Long (celi brojevi) Single, Double (realni brojevi) String (slova, brojevi i specijalni karakteri) Boolean (ima dva stanja - TRUE i FALSE)

VB.Net ima mogućnost kreiranja virtuelnih objekata koji imaju za clij privremeno smeštanje podataka u memoriji. Virt uelni objekti se kreiraju kodom: Dim ceoBroj as Integer Dim drugiBroj as Double Dim nekaRec as String TextBox - Osnovna namena: unos podataka radi dalje obrade Dozvoljava unos: svih vrsta karaktera (brojeve, slova i specijalne karaktere) PictureBox - Osnovna namena: prikaz slike Može da primi: tpove slika (*.gif, *.jpg, *.jpeg, *.bmp, *.wmf, *.png) Napomena: ubacivanje slike vrši se tako što u polju Image u svojstvima slike kliknemo na dugme označeno sa tri tačke. Zatim u prozoru Select Resource izaberemo Local Resource, kliknemo na dugme Import, pronaĎemo sliku i kliknemo na dugme OK. Dim onOff as Boolean Matematičke operacije koje koristimo u VB.Net-u su:

      

Promena tipa podataka (Cast) Izračunavanje izraza u zagradama (izraz) Stepenovanje (^) Množenje i deljenje (*, /) Celobrojno deljenje (\) Ostatak pri deljenju (mod) Sabiranje i oduzimanje

Prioritet u izvršavanju operacija postavljen kao što je i predstavljen iznad.

Zadatak: Kreirati dugme i labelu, dugmetu dodeliti naziv btnPrimer1, labeli naziv lblResenje, a u kodu dugmeta kreirati dva virtuelna objekta tipa Integer sa nazivima Broj1 i Broj2, dodeliti im vrednosti, sabrati ih i ispisati u lblResenje. Rešenje: Private Sub btnPrimer1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrimer1.Click Dim Broj1 As Integer Dim Broj2 As Integer Broj1 = 17 Timer - Osnovna namena: izvršavanje odreĎenog koda u zadatom vremenskom periodu Broj2 = 25 lblResenje.Text = Broj1 + Broj2 End Sub

Zadatak: Kreirati dugme (svojstvo Name - btnIzracunaj, Text Izracunaj zbir), labelu (Name - lblResenje, Text - Resenje) i dva TextBoxa (Prvi TextBox / Name - txtBroj1, Drugi TextBox / Name - txtBroj2) i napisati kod kojim ćemo klikom na dugme izračunati zbir dva broja unešena u txtBroj1 i txtBroj2 a rešenje ispisati u lblResenje. Rešenje: Private Sub btnIzracunaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzracunaj.Click lblResenje.Text = Val(txtBroj1.Text) + Val(txtBroj2.Text) End Sub Objašnjenje: u kodu je korisćena kodna reč Val koja daje brojnu vrednost unešenog broja uTextBox jer je svojstvo Text tipaString a da smo u kodu ostavili liniju koja bi glasila: lblResenje.Text = txtBroj1.Text + txtBroj2.Text rešenje ukucana dva broja npr. 12 i 12 bilo bi 1212. U primeru sa virtuelnim objektima dobili smo željeno rešenje bez ubacivanja reči Val jer su nam objekti bili tipa Integer. Zadatak: Kreirati formu sa objektima kao na slici. Ubaciti dugme (svojstvo Name - btnIzracunaj, svojstvo Text - Izracunaj), dva TextBox-a (Prvi TextBox / svojstvo Name - txtBroj1, Drugi TextBox / svojstvo Name - txtBroj2), labele redom (Prva labela / svojstvo Name - lblResenja, svojstvo Text - Rešenja), (Druga labela / svojstvo Name - lblRezSabiranja, svojstvo Text -Rezultat sabiranja), (Treća labela / svojstvo Name - lblRezOduzimanja, svojstvo Text - Rezultat oduzimanja), (Četvrta labela / svojstvo Name - lblRezMnozenja, svojstvo Text - Rezultat množenja), (Peta labela / svojstvo Name - lblRezDeljenja, svojstvo Text - Rezultat Deljenja) i napisati kod kojim ćemo klikom na dugme sabrati, oduzeti, pomnožiti, izdeliti dva broja unešena u txtBroj1 i txtBroj2 a rešenja ispisati u labele tako što će za svaku operaciju ispred rešenja biti ubačen odgovarajući tekst "Rezultat sabiranja je:", "Rezultat oduzimanja je:", "Rezultat množenja je:", "Rezultat deljenja je:".

Rešenje: Private Sub btnIzracunaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzracunaj.Click lblRezSabiranja.Text = "Rezultat sabiranja je: " & Val(txtBroj1.Text) + Val(txtBroj2.Text) lblRezOduzimanja.Text = "Rezultat oduzimanja je: " & Val(txtBroj1.Text) - Val(txtBroj2.Text) lblRezMnozenja.Text = "Rezultat mnozenja je: " & Val(txtBroj1.Text) * Val(txtBroj2.Text) lblRezDeljenja.Text = "Rezultat deljenja je: " & Val(txtBroj1.Text) / Val(txtBroj2.Text) End Sub Nakon klika na dugme rešenje treba da izgleda ovako:

Zadatak: Kreirati formu i na nju ubaciti labelu (svojstvo Name lblNaslov, svojstvo Text - Naslov), i TextBox (svojstvo Name txtUnosTeksta) i napisati kod kojim će se automatski pri unosu teksta u TextBox taj isti tekst ispisivati u labeli. Rešenje: Ovaj zadatak uradićemo tako što ćemo u dogaĎajima za objekat txtUnosTeksta izabrati dogaĎaj TextChanged i uneti sledeći kod za njega: Private Sub txtUnosTeksta_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtUnosTeksta.TextChanged lblNaslov.Text = txtUnosTeksta.Text End Sub

Ovim kodom unošenjem teksta u TextBox identičan text automatski će se ispisivati u labelu. Zadatak: Kreirati formu i na nju ubaciti 2 labele (Prva labela / svojstvo Name - lblNaslov, svojstvo Text - Naslov), (Druga labela / svojstvo Name - lblPredji, svojstvo Text - Predji Misem) i dugme (svojstvo Name - btnReset, svojstvo Text Reset) i napisati kod kojim će se prevlačenjem miša preko labele lblPrevuci u labeli lblNaslov ispisati "DogaĎaj MOUSE MOVE...Stisni dugme Reset." a klikom na dugme će se u labeli lblNaslov ispisati "Naslov".

Rešenje: Ovaj zadatak uradićemo tako što ćemo u dogaĎajima za objekat lblPredji izabrati dogaĎaj MouseMove i uneti sledeći kod za njega: Private Sub lblPredji_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles lblPredji.MouseMove lblNaslov.Text = "Događaj MOUSE MOVE...Stisni dugme Reset." End Sub

System.Object, ByVal e As System.EventArgs) Handles timTajmer.Tick lblNaslov.Text = Val(lblNaslov.Text) + 1 End Sub za drugi deo zadatka (vreme): Private Sub timVreme_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles timVreme.Tick lblVreme.Text = TimeOfDay End Sub Objašnjenje: Svojstvo Enabled (True - uključen, False - isključen Timer). Svojstvo Interval (vrednost 1000 označava 1 sekundu)

a za dugme uneti sledeći kod: Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click lblNaslov.Text = "Naslov" End Sub Radi lakšeg razumevanja i vežbe ostale dogaĎaje isprobajte sami. Zadatak: Na formu dodati 2 objekta Timer (Prvi Timer / svojstvo Name - timTajmer, svojstvo Interval - 1000), (Drugi Timer / svojstvo Name - timVreme, svojstvo Interval - 1000, svojstvo Enabled - True),2 dugmeta (Prvo dugme / svojstvo Name btnStart, svojstvo Text - Start), (Drugo dugme / svojstvo Name - btnStop, svojstvo Text - Stop) i 2 labele (Prva labela / svojstvo Name - lblNaslov, svojstvo Text - 0), (Druga labela / svojstvo Name - lblVreme, svojstvo Text - Vreme) i napisati kod kojim će se pritiskom na dugme Start pokrenuti brojač koji će svake sekunde broj u labeli povećavati za 1 a pritiskom na dugme Stop zaustaviti brojač a u labeli će se prikazivati vreme. Rešenje: za prvi deo zadatka: Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click timTajmer.Enabled = True End Sub Private Sub btnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStop.Click timTajmer.Enabled = False End Sub Private Sub timTajmer_Tick(ByVal sender As Napomena: skraćenice lbl, btn, txt, tim... koriste se radi lakšeg snalaženja u kodu aplikacije i prepoznava nju objekata.

Lekcija 05 - Petlja IF i naredba SELECT CASE
Ponekad ćemo imati porebu da preuzmemu kontrolu nad izvršavanjem koda ili da ispitamo neki završen deo koda i na osnovu toga da odredimo koji će deo koda dalje da se izvršava. Za to koristimo petlju IF. Opšti oblik petlje IF je: IF upit1 AND upit2 = upit3 THEN upit4 ELSEIF upit1 AND upit2 < upit3 THEN upit5 ELSEIF ... THEN ELSE ... ENDIF Primećujemo da smo prvi put ubacili operatore poreĎenja (=, <). Oni se najčešće koriste prilikom kontrole toka. Operatori koji se koriste u VB.Net-u su: > Veće <= Manje ili jednako <> Različito Zadatak: Na formu dodati TextBox (svojstvo Name - txtUnos) i Dugme (svojstvo Name - btnProvera, svojstvo Text - Proveri Broj) i uneti kod kojim će se pritiskom na dugme proveriti da je u txtUnos unet broj veći ili manji od 100 i ukoliko je manji u MsgBoxu dobićemo poruku "Broj je manji od 100", ukoliko je veći dobićemo poruku "Broj je veći od 100", ukoliko je broj jednak 100 dobićemo poruku "Broj je jednak 100" a ukoliko nije unet ni jedan broj dobićemo poruku "Niste uneli ni jedan broj!". < Manje >= Veće ili jednako

Rešenje: Private Sub btnProvera_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProvera.Click If txtUnos.Text = "" Then MsgBox("Niste uneli ni jedan broj!") ElseIf txtUnos.Text > 100 Then MsgBox("Broj je veći od 100.") ElseIf txtUnos.Text < 100 Then MsgBox("Broj je manji od 100.") ElseIf txtUnos.Text = 100 Then MsgBox("Broj je jednak 100.") End If End Sub Napomena: U zadatku prvo smo ispitali da li je unet broj jer bi u suprotnom program proverio prvo da li je broj veći od 100 i vratio bi grešku. Rad sa MsgBox-om: Koristili smo liniju MsgBox("Niste uneli ni jedan broj!") koja prikazuje poruku samo sa unetim textom. Poruka se može dalje oblikovati tako što ćemo joj dodeliti simboličku ikonicu, druge dugmiće i naslov. Simboličke ikonice koje ćemo obraditi su: MsgBoxStyle.Critical (ikona - X) MsgBoxStyle.Information (ikona - !) MsgBoxStyle.Question (ikona - ?) ikone se prikazuju unosom koda: MsgBox("Niste uneli ni jedan broj!", MsgBoxStyle.Critical) MsgBox("Niste uneli ni jedan broj!", MsgBoxStyle.Information) MsgBox("Niste uneli ni jedan broj!", MsgBoxStyle.Question) Drugi dugmići koje ćemo obraditi su: MsgBoxStyle.OkOnly (samo dugme OK) MsgBoxStyle.OkCancel (dugme OK i dugme CANCEL) MsgBoxStyle.YesNo (dugme YES i dugme NO) MsgBoxStyle.YesNoCancel (dugme YES, dugme NO i dugme CANCEL) koriste se unosom koda: MsgBox("Niste uneli ni jedan broj!", MsgBoxStyle.OkOnly) ... MsgBox("Niste uneli ni jedan broj!", MsgBoxStyle.YesNoCancel) Simboličke ikonice i drugi dugmići mogu da se koriste kombinovanjem jednih i drugih tako što unosimo kod tipa: MsgBox("Niste uneli ni jedan broj!", MsgBoxStyle.OkOnly+MsgBoxStyle.Critical) Uradićemo primer za korišćenje dugmića YES i NO. Zadatak: Uzećemo formu iz prethodnog zadatka i dodelićemo joj svojstvo Name - frmPrvaForma, a pored nje ubacićemo još jednu

formu i njoj dodeliti svojstvo Name - frmDrugaForma, dodaćemo još jedno dugme (svojstvo Name - btnPrelazak, svojstvo Text Pređi na drugu formu) i dodati kod kojim ćemo klikom na dugme dobiti poruku koja će postaviti pitanje "Da li želite da preĎete na drugu formu?" i koja će klikom na dugme YES preći na drugu formu a klikom na dugme NO poništiti pitanje. Rešenje: Nova forma se ubacuje tako što ćemo u glavnom padajućem meniju izabrati: Project > Add Windows Form... U prozoru Templates već je izabrana Windows Form, kliknućemo samo na ADD. Nakon toga promenićemo svojstvo druge forme Name - frmDrugaForma i uneti sledeći kod: Private Sub btnPrelazak_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrelazak.Click Dim Poruka As String Poruka = MsgBox("Da li želite da pređeta na drugu formu?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Pitanje") If Poruka = MsgBoxResult.Yes Then frmDrugaForma.Show() End If End Sub Napomena: u primeru je korišćen i naslov poruke koji se unosi posle simboličkih ikonica i dugmića Poruka = MsgBox("Da li želite da pređeta na drugu formu?", MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Pitanje") Naredba SELECT CASE Gornji zadatak (provera da li je broj manji ili veći od 100) može da se izvede i na drugi način korišćenjem naredbe Select Case: Private Sub btnProvera_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnProvera.Click Select Case Val(txtUnos.Text) Case 0 MsgBox("Niste uneli ni jedan broj!",MsgBoxStyle.Information) Case Is < 100 MsgBox("Broj je manji od 100.",MsgBoxStyle.Information) Case Is > 100 MsgBox("Broj je veći od 100.",MsgBoxStyle.Information) Case 100 MsgBox("Broj je jednak od 100.",MsgBoxStyle.Information) End Select End Sub Uradićemo još jedan primer za petlju IF. Zadatak: Na drugu formu iz prethodnog zadatka dodati dugme (svojstvo Name - btnDrugaProvera, svojstvo Text Druga provera), 2 CheckBox-a (prvi CheckBox / svojstvo Name - Opcija1, svojstvo Text - Opcija1), (prvi CheckBox / svojstvo Name - Opcija2, svojstvo Text - Opcija2) i ubaciti kod kojim ćemo klikom na dugme proveriti da li su čekirane opcije pojedinačno, odvojeno i da li su uopšte čekirane.

Rešenje: Private Sub btnDrugaProvera_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDrugaProvera.Click
If Opcija1.Checked = False And Opcija2.Checked = False Then

MsgBox("Nije čekirana ni jedna opcija.", MsgBoxStyle.Information) ElseIf Opcija1.Checked = True And Opcija2.Checked = True Then MsgBox("Obe opcije su čekirane.", MsgBoxStyle.Information) ElseIf Opcija1.Checked = True And Opcija2.Checked = False Then
MsgBox("Čekirana je Opcija 1.", MsgBoxStyle.Information)

Zadatak: Koristićemo prethodni zadatak. Ubaciti kod kojim će se klikom na dugme u ListBox izlistati NEPARNI brojevi od 1 do 1000 i nakon toga dobiti poruku "Brojevi su izlistani." Rešenje: Private Sub btnIzlistaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzlistaj.Click Dim i As Integer Lista.Items.Clear() For i = 1 To 1000 Step 2 Lista.Items.Add(i) Next MsgBox("Brojevi su izlistani.", MsgBoxStyle.Information) End Sub Namena: U kodu je korišćena linija Lista.Items.Clear() koja pre izvršenja FOR petlje briše sve članove liste jer bez nje svakim klikom na dugme na postojeću listu dodao bi se novi niz brojeva. Zadatak: Koristićemo prethodni zadatak. Ubaciti kod kojim će se klikom na dugme u ListBox izlistati PARNI brojevi od 1 do 1000 i nakon toga dobiti poruku "Brojevi su izlistani." Rešenje:
Private Sub btnIzlistaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzlistaj.Click

ElseIf Opcija1.Checked = False And Opcija2.Checked = True Then MsgBox("Čekirana je Opcija 2.", MsgBoxStyle.Information) End If End Sub Objašnjenje: U zadatku korišćena je relacija AND, u VB.Net-u koristićemo relacije AND, OR, NOT. NPR. da smo hteli da ispitamo da li je čekirana bilo koja od dve opcije koristili bi kod:
If Opcija1.Checked = True Or Opcija2.Checked = True Then ili ako smo hteli da proverimo da li Opcija1 "nije" čekirana koristili bi kod:

If Not Opcija1.Checked = True Then ovaj primer je isto što i: If Opcija1.Checked = False Then Napomena: Za vežbu isti zadatak uraditi sa RadioButton-om i uraditi nekoliko primera za AND, OR i NOT.

Lekcija 06 - Petlje FOR i DO WHILE UNTIL
Opšti oblik petlje FOR je: For i = 1 To n Step x Blok naredbi Next U ovom primeru i je brojač, a Step je korak brojanja. Radi lakšeg razumevanja prelazimo na primere. Zadatak: Na formu ubaciti dugme (svojstvo Name - btnIzlistaj, svojstvo Text - Izlistaj) i ListBox (svojstvo Name - Lista) i ubaciti kod kojim će se klikom na dugme u ListBox izlistati brojevi od 1 do 100 i nakon toga dobiti poruku "Brojevi su izlistani." Rešenje: Private Sub btnIzlistaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzlistaj.Click Dim i As Integer For i = 1 To 100 Lista.Items.Add(i) Next MsgBox("Brojevi su izlistani.", MsgBoxStyle.Information) End Sub

Dim i As Integer Lista.Items.Clear() For i = 2 To 1000 Step 2 Lista.Items.Add(i) Next
MsgBox("Brojevi su izlistani.", MsgBoxStyle.Information)

End Sub Petlja može da se prekine linijom Exit For u odreĎenom trenutku ako je zadovoljen neki uslov. Primer:
Private Sub btnIzlistaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzlistaj.Click

Dim i As Integer Lista.Items.Clear() For i = 2 To 1000 Step 2 Lista.Items.Add(i) If i >= 500 Then Exit For End If Next
MsgBox("Brojevi su izlistani.", MsgBoxStyle.Information)

End Sub

Objašnjenje: Iako je postaljena petlja koja izlistava parne brojeve od 1 do 1000 prekidom petlje izlistaće se samo parni brojevi od 1 do 500. DO WHILE UNTIL Ima dva oblika: sa izlazom na dnu i sa izlazom na vrhu. Petlja sa izlazom na dnu: Do Blok naredbi Exit Do Loop While Until Karakteristika ove petlje je da se jednom mora izvršiti jer se provera uslova za izlazak iz petlje vrši na dnu p etlje. Petlja sa izlazom na vrhu: Do While Until Blok naredbi Exit Do Loop Karakteristika ove petlje je da se najpre proverava uslov pa se tek onda ulazi u petlju. Zbog te osobine ove petlje se ne moraju ni jednom izvršiti. Uradićemo dva primera vezana za petlju Do While Until. Zadatak: Na postojeću formu dodati dugme (svojstvo Name btnPrebaci, svojstvoText - Prebaci), TextBox (svojstvo Name txtIzabrano) i jedan ComboBox (svojstvo Name PadajucaLista) i napisati kod kojim će se klikom na dugme btnIzlistaj u Listu izlistati brojevi od 1 do 100, klikom na neči član liste taj član prikazati u txtIzabrano a klikom na dugme btnPrebaci dodavati izabrani brojevi iz Liste u Padajucu Listu. Rešenje: Private Sub btnIzlistaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzlistaj.Click Dim i As Integer i = 1 Lista.Items.Clear() Do Lista.Items.Add(i) i = i + 1 Loop While i <= 100 End Sub

Private Sub btnIzlistaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzlistaj.Click Dim i As Integer i=1 Lista.Items.Clear() Do While i <= 100 Lista.Items.Add(i) i = i + 1 Loop End Sub Private Sub Lista_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Lista.MouseClick txtIzabrano.Text = Lista.SelectedItem End Sub Private Sub btnPrebaci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrebaci.Click PadajucaLista.Items.Add(txtIzabrano.Text) End Sub Razlika je u liniji DO WHILE. Program treba da izgleda ovako:

Isti zadatak sa izlistavanjem brojeva od 1 do 100 sa početka lekcije uradićemo samo što ćemo umesto ListBoxa koristiti TextBox. Rešenje: Sa forme iskoristićemo dugme btnIzlistaj a postojećem

Private Sub Lista_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Lista.MouseClick txtIzabrano.Text = Lista.SelectedItem End Sub Private Sub btnPrebaci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrebaci.Click PadajucaLista.Items.Add(txtIzabrano.Text) End Sub isto se dobija i sa kodom:

TextBox-u sa nazivom txtIzabrano promenićemo sledeća svojstva:

  

Name - txtLista Multiline - True (Više redova) ScrollBars - Vertical (Vertikalni klizač)

Nakon toga unećemo sledeći kod: Private Sub btnIzlistaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzlistaj.Click Dim i As Integer i = 1 Do

txtLista.Text += i & vbNewLine i = i + 1 Loop While i <= 100 End Sub Napomena 1: Linija koda txtLista.Text += i & vbNewLine je u skraćenom obliku isto što i txtLista.Text = txtLista.Text & i & vbNewLine Dakle, linija koja se piše kao: Rezultat = Rezultat + Broj1 može skraćeno da se napiše i kao: Rezultat += Broj1 Isto pravilo važi i za ostale operacije (+, -, *, /) Napomena 2: Isti zadatk smo mogli da rešimo korišćenjem reči Until umesto WHILE sa malom izmenom koda: Private Sub btnIzlistaj_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIzlistaj.Click Dim i As Integer i = 1 Do txtLista.Text += i & vbNewLine i = i + 1 Loop Until i = 100 End Sub Zadatak: Uraditi nekoliko primera vezanih za petlje FOR i DO WHILE, i provežbati upotrebu ListBox-a i ComboBox-a.

UCase (pretvara mala slova u velika) rez = UCase(String) Primer: rez = UCase("Nokia") daje rezultat rez="NOKIA" LCase (pretvara mala slova u velika) rez = LCase(String) Primer: rez = LCase("Nokia") daje rezultat rez="nokia" Mid - izdvaja n karaktera stringa počevši od pozicije m, gde je m ceo broj i m>0. Ako se izostavi parametar n onda izdvaja sve karaktere od pozicije m do kraja stringa. rez = Mid(String, m[, n]) Primer: rez = Mid("Nokia",2,2) daje rezultat rez="ok" Primer: rez = Mid("Nokia",2,4) daje rezultat rez="okia" Primer: rez = Mid("Nokia",2) daje rezultat rez="okia" Space (daje kao rezultat n praznih mesta) rez = Space(n) Primer: rez =Space(4) daje kao rezultat rez="

"

StrReverse (obrće karaktere stringa) rez = StrReverse (String) Primer: rez = StrReverse("Nokia") daje kao rezultat rez="aikoN" A sad prelazimo na primere: Zadatak: Napraviti program koji će da sadrži 4 dugmeta (Prvo dugme / Name - Desno, Text - Pomeri Desno),(Drugo dugme / Name - Levo, Text - Pomeri Levo), (Treće dugme / Name Gore, Text - Pomeri Gore), (Četvrto dugme / Name - Dole, Text - Pomeri Dole) i labelu (Name - pokretnaLabela, Text - Pokretna Labela) i napisati kod kojim će se labela pomerati u zavisnosti od toga koje je dugme kliknuto. Rešenje: Forma treba da ima ovakav izgled

Lekcija 07 - Primeri 2
U ovoj lekciji obradićemo funkcije koje rade sa nizovima znakova i uradićemo primere za do sad spomenute objekte. Funkcije koje rade sa nizovima znakova: Val (brojna vrednost stringa-pretvara string u broj) Len (daje dužinu stringa)
rez = Len(String) Primer: rez = Len("Nokia") daje rezultat rez=5

Left (izdvaja n levih karaktera stringa)
rez = Left(String,n) Primer: rez = Left("Nokia",2) daje rezultat rez="No"

Right (izdvaja n desnih karaktera stringa)
rez = Right(String,n) Primer: rez = Right("Nokia",2) daje rezultat rez="ia"

A kod koji treba da se unese: Private Sub Gore_Click(ByVal sender As System.Object, ByVal e
"

LTrim (uklanja samo početne prazne znakove stringa)
rez = LTrim(String) Primer: rez = LTrim(" Nokia ") daje rezultat rez="Nokia

As System.EventArgs) Handles Gore.Click pokretnaLabela.Top -= 10 End Sub

RTrim (uklanja samo krajnje prazne znakove stringa)
rez = RTrim(String) Primer: rez = RTrim(" Nokia ") daje rezultat rez=" Nokia"

Trim (uklanja početne i krajnje prazne znakove stringa)
rez = Trim(String) Primer: rez = Trim(" Nokia ") daje rezultat rez="Nokia"

Private Sub Dole_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Dole.Click pokretnaLabela.Top += 10 End Sub Private Sub Levo_Click(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Levo.Click pokretnaLabela.Left -= 10 End Sub Private Sub Desno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Desno.Click pokretnaLabela.Left += 10 End Sub Napomena: u zadatku su korišćena svojstva objekta LEFT i TOP koja označavaju udaljenost objekta od gornje/leve ivice forme. NPR ukoliko želimo da postavimo neki objekat mesto udaljeno 100 jedinica od leve ivice forme to ćemo uraditi na sledeći način: Objekat.Left = 100 ukoliko treba da postavimo neki objekat na mesto udaljeno 100 jedinica od gornje ivice forme to ćemo uraditi na sledeći način: Objekat.Top = 100 a ukoliko treba da postavimo neki objekat na mesto udaljeno 100 jedinica i od gornje i od leve ivice forme to ćemo uraditi na sledeći način: Objekat.Left = 100 Objekat.Top = 100 Zadatak: Iskoristiti postojeću formu i labelu na njoj a ostale objekte obrisati (četri dugmeta) i dodati objekat Timer (svojsvto Name Tajmer, svojstvo Enabled - True, svojstvo Interval - 10). Napisati kod za objekat tajmer kojim će se labela pomerati udesno i kad doĎe do desne ivice forme da se vrati na levu ivicu forme (na početak). Rešenje: Private Sub Tajmer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tajmer.Tick pokretnaLabela.Left += 1 If pokretnaLabela.Left > Me.Width Then pokretnaLabela.Left = -pokretnaLabela.Width End Sub Objašnjenje: Svojstvo WIDTH predstavlja širinu objekta. Ako leva ivica labele preĎe širinu forme onda se vraća na levu stranu ivice forme i ide u minus za širinu labele. :) Zadatak: Na postojeću formu dodati CheckBox (svojstvo Name Kretanje, svojstvo Text - Kretanje) i ubaciti kod kojim će se uključenjem CheckBox-a labela kretati a isključenjem prestati da se kreće. Rešenje: Private Sub Tajmer_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Tajmer.Tick pokretnaLabela.Left += 1 If pokretnaLabela.Left > Me.Width Then pokretnaLabela.Left = -pokretnaLabela.Width End Sub Zadatak: Na postojeću formu dodati TextBox (svojstvo Name txtBoja) i dugme (svojstvo Name - btnBoja, svojstvo Text Promeni Boju) i ubaciti kod kojim će se klikom na dugme menjati boja texta labele u zavisnosti od toga koja boja je upisana u

txtBoja. Ukoliko je upisano/promeniće se boja u (crna - text labele menja se u crnu boju, crvena - text labele menja se u crvenu boju, plava - text labele menja se u plavu boju, zuta - text labele menja se u zutu boju, zelena - text labele menja se u zelenu boju, a ako nije upisano ništa od navedenog boja texta promeniće se u belu).

Rešenje: Private Sub btnBoja_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBoja.Click Select Case txtBoja.Text Case "crna" pokretnaLabela.ForeColor = Color.Black Case "crvena" pokretnaLabela.ForeColor = Color.Red Case "plava" pokretnaLabela.ForeColor = Color.Blue Case "zuta" pokretnaLabela.ForeColor = Color.Yellow Case "zelena" pokretnaLabela.ForeColor = Color.Green Case Else pokretnaLabela.ForeColor = Color.White End Select End Sub Zadatak: Na postojeću formu dodati pet RadioButton-a (Prvi / Name - bBela, svojstvo Text - Bela Boja), (Drugi / Name bCrvena, Text - Crvena Boja), (Treći / Name - bPlava, Text Plava Boja), (Četvrti / Name - bZuta, Text - Zuta Boja), (Peta / Name - bZelena, Text - Zelena Boja), i napisati kod kojim će se izborom ogovarajuće boje promenitiboja pozadine forme. Podesiti svojstvo Checked na True za prvi RadioButton (bBela).

Rešenje: Private Sub bCrna_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.BackColor = Color.Black End Sub Private Sub bCrvena_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bCrvena.CheckedChanged Me.BackColor = Color.Red End Sub Private Sub bPlava_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bPlava.CheckedChanged Me.BackColor = Color.Blue End Sub Private Sub bZuta_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bZuta.CheckedChanged Me.BackColor = Color.Yellow End Sub Private Sub bZelena_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bZelena.CheckedChanged Me.BackColor = Color.Green End Sub Private Sub bBela_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bBela.CheckedChanged Me.BackColor = Color.White End Sub Objašnjenje: Svjostvo ForeColor se odnosi na boju slova objekta a svojstvo BackColor se odnosi na pozadinsku boju objekta.

Moduli su elementi VB.Net-a i koriste se za smeštanje promenljivih i funkcija koje se koriste u svim formama aplikacije. Modul dodajemo tako što u glavnom padajućem meniju izaberemo Project
> Add Module > Add

Zadatak: Na formu dodati dugme (btnPozovi, Text - Pozovi Funkciju), i dva TextBox-a (prvi / Name - txtBroj1), (drugi / Name - txtBroj2) i napisati kod kojim će se klikom na dugme izvršiti funkcija sabiranja dva broja koja će biti smeštena u modulu a rezultat će se prikazati u MsgBox-u u obliku "Zbir dva broja je: rezultat". Rešenje: Ubacićemo modul kao što je prikazano na slici i u njega upisati kod: Public Function Zbir(ByVal Broj1 As Double, ByVal Broj2 As Double) As Double Zbir = Broj1 + Broj2 End Function A u kod forme dodaćemo: Private Sub btnPozovi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPozovi.Click MsgBox("Zbir dva broja je: " & Zbir(txtBroj1.Text, txtBroj2.Text), MsgBoxStyle.Information, "Zbir brojeva") End Sub Ovako treba da izgleda zadatak:

Lekcija 08 - Funkcije, procedure i moduli
Funkcije Funkcije predstavljaju deo VB.Net paketa i koriste se kao olakšanje u pisanju koda. Npr. ukoliko imamo aplikaciju koja više puta koristi sabiranje dva broja to ćemo lakše izvesti korišćenjem već napisane funkcije koja sabira dva broja. Primer: Public Function Zbir(ByVal Broj1 As Double, ByVal Broj2 As Double) As Double Zbir = Broj1 + Broj2 End Function Funkcija vraća zbir dva uneta broja a poziva se na sledeći način: Rezultat = Zbir(prviBroj, drugiBroj) Moduli

Napomena: funkcije se često koriste pri izračunavanju površine, obima i drugih matematičkih operacija. Dodatni zadatak: otkloniti grešku u programu koja se pojavljuje ako nije unet broj u neki od TextBox-eva. Procedure Procedura predstavlja jedinicu VB.Net koda. Sastoji se iz naredbi za sprovoĎenje neke operacije ili izračunavanje neke vrednosti. Opšti oblik procedure je: Public Sub Procedura() naredbe End Sub ili Private Sub Procedura() naredbe End Sub Ukoliko se procedura nalazi u kodu forme ako ima oblik Public moći će da se pozove sa bilo koje forme a ako ima oblik Private moguće ju je pozvati samo sa forme na kojoj se nalazi.

Zadatak: Iskoristiti formu iz prethodnog zadatka i promeniti joj svojstva (Name - frmGlavna, Text - Glavna Forma). Nakon toga napisati proceduru tipa Public sa nazivom Boje u kojoj ćemo postaviti petlju IF koja će da smenjuje plavu i zelenu boju pozadine forme. Procedura će da se poziva prevlačenjem miša preko forme a prilikom otvaranja aplikacije boja pozadine forme će se promeniti u plavu. Rešenje: Public Sub Boje() If Me.BackColor = Color.Blue Then Me.BackColor = Color.Green ElseIf Me.BackColor = Color.Green Then Me.BackColor = Color.Blue End If End Sub
Private Sub frmGlavna_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Assembly name je naziv aplikacije a Startup form je forma koja se prva prikazuje prilikom otvaranja aplikacije. Na trećem koraku izabraćemo Publish, u Publih Location folder unećemo adresu u koju zelimo da exportujemo projekat i kliknuti na dugme Publish Now.

Me.BackColor = Color.Blue End Sub
Private Sub frmGlavna_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles

Me.MouseMove Call Boje() End Sub Zadatak: Samostalno provežbati upotrebu funkcija, procedura i modula.

Lekcija 09 - Publikovanje aplikacije
U poslednjoj lekciji naučićemo kako eksportovati našu aplikaciju i pripremiti je za izvršavanje. U glavnom padajućem meniju izabraćemo Project > Naziv Aplikacije Properties... Pripremljena aplikacija se nalazi u izabranom folderu a mi ovim završavamo naš mali kurs VB.Net 2008. Srećno... Korisni linkovi / pomoć, tutorials: Dosta znanja iz oblasti VB.Net-a možete pronaći na forumu Elite Security a ako ni tu baš ne možete da pronaĎete kod koji vam je potreban, tu je uvek staro dobro Guglanje :) Napomena:  Obzirom da je ovaj mali kurs pisan kao kurs za početnike, mnoge stvari su izostavljene, smatramo da je za kurs ovakvog tipa obraĎena odgovarajuća materija  Izvinjavamo se zbog eventualnih grešaka, ukoliko ih uočite molimo da nam javite kako bismo ih ispravili  Kurs je besplatan za korišćenje, svako kopiranje ili objava na bilo koji način zabranjena je bez prethodne dozvole autora. Copyright xMedia, oktobar 2008. Na prvom koraku pripreme aplikacije Application popunićemo i podesićemo parametre kao na slici:

Sponsor Documents

Or use your account on DocShare.tips

Hide

Forgot your password?

Or register your new account on DocShare.tips

Hide

Lost your password? Please enter your email address. You will receive a link to create a new password.

Back to log-in

Close