Visual Basic Dersleri - 5
1 sayfadaki 1 sayfası
Visual Basic Dersleri - 5
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.
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.
eeisahin- admin
- Mesaj Sayısı : 409
Teknolojiyle aran nasıl : geçinip gidiyoruzz
Kayıt tarihi : 03/03/07
Similar topics
» Visual Basic Dersleri - 1
» Visual Basic Dersleri - 2
» Visual Basic Dersleri - 3
» Visual Basic Dersleri - 4
» Visual Basic Dersleri - 6
» Visual Basic Dersleri - 2
» Visual Basic Dersleri - 3
» Visual Basic Dersleri - 4
» Visual Basic Dersleri - 6
1 sayfadaki 1 sayfası
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz