Visual Basic Dersleri - 5

Önceki başlık Sonraki başlık Aşağa gitmek

Visual Basic Dersleri - 5

Mesaj tarafından eeisahin Bir C.tesi 30 Haz. 2007, 11:14 pm

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.
avatar
eeisahin
admin
admin

Erkek Mesaj Sayısı : 409
Teknolojiyle aran nasıl : geçinip gidiyoruzz
Kayıt tarihi : 03/03/07

Kullanıcı profilini gör

Sayfa başına dön Aşağa gitmek

Önceki başlık Sonraki başlık Sayfa başına dön

- Similar topics

 
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz