Kontakt

KONTAKTIRAJTE NAS

Tel: +381 11 373 2078
Mob: +381 63 83 67 667
E-mail: office@xmedia.rs

Kontakt forma...

Akcija

AKCIJA

• Izrada sajta za Vašu firmu
• BESPLATAN domen
• BESPLATAN hosting
= 299 EUR
= 199 EUR

Detaljnije...

Lekcija 05 - Petlja IF i naredba SELECT CASE El. pošta
Napisao Administrator   
četvrtak, 23 oktobar 2008 11:36

 

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

<= Manje ili jednako

>= Veće 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 MsgBox-u 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!".

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)
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.