Visual Basic Dersleri - 5

Discussion in 'Programlama' started by sha., Oct 19, 2009.

  1. sha.

    sha. ..daha çirkin, daha huysuz

    VİSUAL BASİC 6’da KARAR YAPILARI IF-THEN-ELSE


    Selamlar.Programcılığın en önemli unsurlarından biriside karar yapıları adı verdiğimiz, programı koşullu bir şekilde dallandıran yapılardır. If –Then karar yapısıda bunlardan en çok kullanılanıdır. Anlamı ‘Eğer’ dir. Şimdi bir örnek program verelim ve açıklayalım.


    Dim Sifre As Integer

    Private Sub Command1_Click()

    Sifre = Text1.Text

    If Sifre = 444 Then

    MsgBox "Şifre Geçerli", , "Doğru Şifre"

    Else

    MsgBox "Şife Geçersiz!", , "Yanlış Şifre!"

    End If

    End Sub



    Bu örnek için 1 TextBox ve 1 CommandButton yeterlidir.Basit bir şifre kutusu yapacağız.Nesneleri istediğiniz gibi boyutlandırın ve textBox nesnesinin PasswordChar özelliğine * yazın.Aslında her hangi bir şeyde yazabilirsiniz fakat adettendir şifreler genelde **** şeklinde görülür.Şimdi kodu inceleyelim.

    Gördüğünüz gibi Sifre adında bir değişken tanımlanmış.Bu tanımlama General bölümünde yapılmış.Butonun kod bölümüne baktığımızda. Sifre değişkeninin TextBox kutusundaki veriyi saklayabilmesi için Sifre = Text1.Text denmiş.Böylece Text1 nesnesinin Text özelliği Sifre değişkeninin içinde saklanmış olacak.Yani Sifre değişkeni kullanıcıdan gelen girdileri tutacak.

    Hemen altında If bloğunun başlangıcını görüyoruz. If Sifre = 444 Then yazan kısmın anlamı şudur. Eğer TextBox’a 444 sayısı girilmişse şunu yap. Altındaki satırda ne yapacağını söylüyor. MsgBox “Şifre Geçerli”,,”Doğru Şifre”.Burada VB’nin araç kutusunda olmayan bir nesne ile karşılaşıyoruz. MsgBox nesnesi.Mesaj Kutusu nesnesi Bir çok programda ve Windows’ta gördüğünüz hata mesajları, uyarılar ve bilgilendirme amaçlı olarak ekrana gelen kutulardan.Gördüğünüz gibi bu msgbox bize girdiğimiz şifrenin doğru olduğunu söylüyor. Altındaki satırda Else bildirisini görüyoruz.Anlamı ‘Değilse’.Yani girdiğimiz şifre 444 değilse hemen alt satıra geç ve oradakileri uygula.Alt satırda başka bir Mesaj Kutusu bize girdiğimiz şifrenin yanlış olduğunu söylüyor ve bir alt satırda ise if bloğunun bittiğini bildiren End If ibaresi yer alıyor.Şimdi Programı hazırlayıp çalıştırın ve nasıl çalıştığını görün.


    If-Then Yapıları Mantıksal İfadelerle Güçlendirilebilir


    ifadeler şunlardır:

    And (Ve) : Her iki koşul doğru olduğunda işlem doğrudur.

    örnek :

    If KullanıcıAdı = “King_Ermac” And Sifre = “ 444” Then

    Msgbox “Hoş Geldiniz King_Ermac!”,,”Üye Girişi!”

    Else

    Msgbox “Yanlış kullanıcı adı veya şifre!”,,”Hata!”

    End if

    Or (Veya) : Koşullardan herhangi biri doğru olduğunda işlem doğrudur.

    örnek :

    If Sifre = 114 Or Sifre = 6666 Then

    Msgbox “Doğru Şifre”,,”hoş geldiniz!”

    End If

    Not (Değil): Koşullu ifadede koşul doğru ise işlem yanlış,koşul yanlış ise işlem doğrudur.

    örnek :

    If Not Kelime = “Küfür” Then

    Msgbox “Muhabbete Devam”,,”Chat 1.0”

    Else

    MsgBox “Lütfen Küfür Etmeyiniz!”,,”Chat 1.0 Uyarı!”

    End If

    Xor(Özel Veya) :Koşullu ifadelerden sadece biri doğruysa işlem doğrudur.İkiside Doğruysa ya da ikiside yanlışsa işlem yanlıştır.

    örnek :

    If Akvaryum = “Pirana” Xor Akvaryum = “SüsBalığı” Then

    MsgBox “Akvaryumda Balık Var! Pirana ya da SüsBalığı”,,”Rapor!”

    Else

    MsgBox “Dikkat Piranalar ve SüsBalıkları aynı Akvaryumda! ya da Akvaryum boş!”,,”Rapor!”

    End If

    Örneklerde elimden geldiği kadar açıklayıcı olmaya çalıştım.Umarım mantığını anlamışsınızdır. If karar yapıları bir blokta bir çok koşul içerebilirler.Bunu yapan ibare ise ElseIf ibaresidir. Anlamı “değilse eğer” anlamındadır.

    örnek:

    If Yas < 18 Then

    Msgbox “Daha reşit bile değilsin!”,,”Yaş!”

    ElseIf Yas >= 18 And Yas < 30 Then

    MsgBox “Daha çok gençsin.Önünde uzun bir ömür var”,,”Yaş!”

    ElseIf Yas >30 Then

    MsgBox “Sen Yolu yarılamışsın.Belkide yolcusun !”,,”Yaş!”

    End If

    Evet arkadaşlar gördüğünüz gibi matematikte bulunan “>, <, =, >=, <=” Gibi işleçler VB için de geçerli.
    SELECT-CASE

    Şimdi de Karar yapılarının ikinci bölümü olan Select-Case’i işleyeceğiz.Select-Case’te tıpkı If-Then gibi çalışır.Fakat tek bir değişken içindeki veriler ele alındığında If-Then yapısına göre daha okunaklı ve etkilidirler.Örnek bir kodla açıklayalım.Önce aşağıdaki formu hazırlayın.



    Şimdi General kısmına şu değişkeni tanıtın:

    Dim Renkler As String

    ‘Ve CommandButon’a da şunları yazın

    Private Sub Command1_Click()

    Renkler = Text1.Text

    Select Case Renkler

    Case "kırmızı"

    Label1.ForeColor = RGB(255, 0, 0)

    Label1.Caption = "KIRMIZI"

    Case "yeşil"

    Label1.ForeColor = RGB(0, 255, 0)

    Label1.Caption = "YEŞİL"

    Case "mavi"

    Label1.ForeColor = RGB(0, 0, 255)

    Label1.Caption = "MAVİ"

    Case "beyaz"

    Label1.ForeColor = RGB(255, 255, 255)

    Label1.Caption = "BEYAZ"

    Case "siyah"

    Label1.ForeColor = RGB(0, 0, 0)

    Label1.Caption = "SİHAY"

    Case Else

    MsgBox "Bu Renk tanımlı değil!", , "Renkler"

    End Select

    End Sub



    Butondaki kodun başlangıcına bakacak olursak. Renkler adlı değişkeni Text1.Text nesnesine girilen verileri tutması için Renkler = Text1.Text yazdığını görüyoruz. Daha sonra altında Select Case Renkler yazıyor.Yani Renkler değişkeninin taşıdığı değere göre program dallanacak. Case “kırmızı” kullanıcı TextBox’a kırmızı yazdığında hemen altında ve birdahaki case’e kadar olan program satırları icra olacak.Baktığımızda Label1.Forecolor = RGB(255, 0, 0) kodunu görüyoruz.Yani etiket nesnesinin yazı rengi özelliği RGB(Red, Green, Blue) komutuyla değiştirilmiş.Altındaki satırda ise Label1.Caption = “KIRMIZI” yazıyor.Etiket nesnesinin yazı özelliği KIRMIZI olacak şekilde değişiyor.Case Else’ye kadar olan kısım gördüğünüz gibi hep aynı kalıp içinde.Case Else ise Renkler değişkeni bu değerlerden birini almadığında yani TextBox’a gidip mor yazarsak Mesaj Kutusu bize girdiğimiz rengin tanımlı olmadığını söylüyor.Bloğun son satırında ise End Select ile select case kod bloğunun bittiğini görüyoruz.End Sub Command1 nesnesinin komut sonu oluyor.şimdi programı çalıştırın ve tanımladığımız renkleri tanımladığımız gibi küçük harfle yazın ve test edin.
     

Share This Page