Visual Basic If Else Yapisi

Giris:

Gündelik hayatimizda her zaman bazi kararlar aliriz: Eger yagmur yagiyorsa semsiyemizi açariz, eger yeterince paramiz varsa bilgisayar alabiliriz…

.

Karar alma programlama dillerinde de kilit roller oynar.  Verilen bilgiyi test eder ve isleme göre bir sonuç üretir. Iste bu karar alma hadisesini program, if ve/veya select  komutlarini kullanarak belirler.

Simdi  VB.net’te if komutunu kullanarak ufak bir uygulama yazalim:

Public Class Form1

 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim sifre As String

 

        Label2.Text = ""

        sifre = TextBox1.Text

        If sifre = "yazilim mutfagi" Then

            Label2.Text = "Sifre dogru"

        End If

    End Sub

End Class

 

Burada önce if komutu ile bir string olan ‘sifre’ degiskenini test ediyoruz.

Eger ‘sifre’,  ‘yazilim mutfagi’ ise islem if-End if blogu içerisinde gerçeklesiyor ve bu blok içerisinde verilen emirleri uyguluyor.

 

                                                              

If komutu iki kisimdan olusur:

1-) Kosulan sart arastirilir;

2-) Eger aranan sart mevcutsa, verilen emir yerine getirilir.

 

Buradaki döngü gayet açik:

1-) TextBox’a bit string ifade giriliyor;

2-) Program bunu test ediyor

3-) Eger aranan sart (yani sifre=yazilim mutfagi) dogru ise Label2’ye “sifre dogru” yaziliyor.

 

Peki ya dogru degilse?

O zaman program bunu da test etmek durumunda. Bu da Else komutuyla oluyor:

Public Class Form1

 

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim sifre As String

 

        Label2.Text = ""

        sifre = TextBox1.Text

        If sifre = "yazilim mutfagi" Then

            Label2.Text = "Sifre dogru"

        Else

            Label2.Text = "Sifre yanlis"

        End If

    End Sub

End Class

 

 

 

 

Diger karsilastirma operatörleri:

Simge:                                                 Manasi:

A > B

A büyüktür B’den

A<B

A küçüktür B’den

A=B

A esittir B’ye

A<>B

A farklidir B’den

A>=B

A büyüktür veya esittir B

A<=B

A küçüktür veya esittir B

 

Simdi bu operatörleri kullanarak bir uygulama gelistirelim:

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim yas As Integer

 

        Label2.Text = ""

        yas = TextBox1.Text

        If yas >= 18 Then

            Label2.Text = "Oy verebilirsin"

        Else

            Label2.Text = "Oy veremezsin"

        End If

End Sub

 

Vb.net ‘te operatörler bunlarla sinirli degil elbette.

And, Or, Not operatörleri:

Program yazarken cogu zaman bazi seyleri ayni anda test etmek zorunda kaliriz. Farzedelim ki 6 yasindan küçükler ve 65 yasindan büyükler bir etkinlige bedava katilabiliyor olsun. Bunu program diline And kullanarak su sekilde aktarabiliriz:

Dim yas As Integer

        Dim engelli As Boolean

 

        Label2.Text = ""

        yas = TextBox1.Text

        engelli = False

        If yas <= 6 And yas >= 65 Then

            Label2.Text = "Giris bedava"

        Else

            Label2.Text = "Giris 10 TL"

        End If

End Sub

      

Bunu biraz daha gelistirerek söyle bir sart daha kosalim; 6 yasindan küçükler veya 65 yasindan büyükler ve engelliler bedava katilabilirler. O zaman:

Dim yas As Integer

        Dim engelli As Boolean

 

        Label2.Text = ""

        yas = TextBox1.Text

        engelli = True

        If yas <= 6 And yas >= 65 And engelli = True Then

            Label2.Text = "Giris bedava"

        Else

            Label2.Text = "Giris 10 TL"

        End If

    End Sub

End Class

       

Buraya dikkat! Musterinin yasi 6’dan küçük olacak, degilse 65’ten büyük olacak ve kisi engelli olacak.

Örnegin musteri 19 yasinda bir engelli ise yine 10TL ödeyecek.

Musteri 6 yasindan küçük veya 65 yasindan büyük fakat engelli degilse yine 10TL ödeyecek.

 

Bu sefer söyle bir sey yapalim; musteri 6 yasindan küçük veya 65 yasindan büyükse veya engelli ise giris bedava olsun:

        Dim yas As Integer

        Dim engelli As Boolean

 

        Label2.Text = ""

        yas = TextBox1.Text

        engelli = True

        If (yas <= 6) Or (yas >= 65) Or engelli = True Then

            Label2.Text = "Giris bedava"

        Else

            Label2.Text = "Giris 10 TL"

        End If

    End Sub

 

 

 

Not operatörü: Eger aranan sart saglanamiyorsa verilen emirleri yerine getirir:

        If Not (engelli = True) Then

            Label2.Text = "Giris 10 TL"

        Else

            Label2.Text = "Giris bedava"

        End If

Eger kisi engelli degil ise “Giris 10TL”

Iç içe ‘if – Else’ döngüleri:

If-Else döngüsü tek basina kullanildigi gibi bazi durumlarda da iç içe gelecek sekilde de kullanilir.

Hemen bir örnek uygulama tasarlayalim; diyelim ki 3 yasindan kucuk biri “bebek”, 3-16 yaslari arasindaki biri “çocuk” 16 yasindan buyukler ise “yetiskin” olsun:

 

        Dim yas As Integer

       

        Label2.Text = ""

        yas = TextBox1.Text

 

        If yas > 3 Then

            If yas < 16 Then

                Label2.Text = "çocuk"

            Else

                Label2.Text = "yetiskin"

            End If

 

        Else

            Label2.Text = "bebek"

        End If

    End Sub

 

       

If-Else döngülerini iç içe yerlestirerek bu testi bu sekilde yaptirabiliriz. Bu islemin aynisini diger operatörleri kullanarak da saglayabiliriz.

 

 

 

 

 

9 thoughts on “Visual Basic If Else Yapisi

  1. ii günler.projemde personel formu ma resim eklemek istiyorum.1 adet picturebox,1 adet resimseç butonu ekledim.resim seç butonuna tikladigim zaman openfiledialog açiliyor.resmi secip tamam dedigim zaman resim picturebox da görünüyor.daha sonra bu resimi insert etmek istiyorum.ekle adinda bir adet butonum var.ekle dedigim zaman "Failed to convert parameter value from a PictureBox to a Byte[]."seklinde hata aliyorum ne yapmam gerekiyor.yazmam gereken bir kod varsa kodu belirtebilirseniz çok memnun olurum. 

  2. Bir sayinin faktoriyelini if kullanmadan da bulabilirsin. Buldugun iki sonuç üzerinde de istedigin islemi yap. 

  3. q basicte tek if komutuyla iki sayinin faktoriyelini alan kodu yazabilir misiniz?

    yani sayi1! – sayi2!

  4. Yorumu silmeniz önemli degil okumaniz yeter Ahmet Bey.

    Ahmet Bey, beni aydinlattiginiz için çok tesekkür ederim.

     

  5. (devami…)

    Boolean da bunlardan birisidir ve konusma diline var-yok, evet-hayir, dogru-yanlis, olumlu-olumsuz seklinde çevrilebilir.  Deger olarak True (dogru)  veya False (yanlis) alir. Mesela;

     Dim SifreDogru as Boolean

    SifreBulundu=False

    kod parçasindan istenilen sifrenin henüz bulunamadigi anlasiliyor. Yazilmis basit program kodlarini incelerseniz anlasilmasi daha kolay olur. Bir de bahsi geçen Sitring, integer, boolean gibi kelimeleri sözlükten arastirirsaniz islevlerinin ne oldugunu kavramaniz daha da kolaylasir. Kolay gelsin.

     

  6. Tabiî ki,

    Visual Basic programlama dilinde degiskenler programa su sekilde tanimlanir: Dim degiskenismi as degiskentürü.

    Degisken (variable) dedigimiz sey program içerisinde kullanmak istedigimiz nesnelerdir. Bunlar ne olabilir; butonlar, metinler, sayilar, karakterler, etiketler (label)…

    Örnegin bize sayi lazim ise, Dim sayi as Integer; tekst lazim ise, Dim tekst as String seklinde tanimlariz.

    Boolean da bunlardan birisidir ve konusma diline var-yok, evet-hayir, dogru-yanlis, olumlu-olumsuz seklinde çevrilebilir.  Deger olarak True (dogru)  veya False (yanlis) alir. Mesela;

     Dim SifreDogru as Boolean

    S

  7. Ihsan OLMEZ bey, kusura bakmayin yanlislikla yorumunuzu sildim, özür dilerim.

    Sorunuz suydu: Ahmet Bey "As Boolean" degiskenini bana açiklaya bilirmisin? Ben daha yeni oldugum için ögrenmek istiyorum. Sende bana yardimci olursan cok makbule geçer. Simdiden tesekkür ederim. 

     

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir