VB'de if-then-else, select-case

guclusat

Tanınmış Üye
Süper Moderatör
VB'de if-then-else, select-case Evet bu yazıda if then ve else'nin kullanımlarının yanı sıra select case komutunun kullanımını anlatacağım.Bunların hepsi kontrol komutları başlığı altında toplanabilirdi ama ben bu komutları döngülerden ayrı bir şekilde anlatmak istedim,bundan sonraki ders ise döngüler olacak.

if-then-else
if koşul then KOMUTU
Belirtilen koşulun olması hainde programa yaptırmak istediğimiz şeyleri yaptırmaya yardımcı koddur. kullanımı;

if koşul then

KOMUTLAR

end if

Şeklindedir.Yani belirttiğimiz koşul sağlanırsa program, if ile end if arasında belirttiğimiz komutları uyguluyacaktır.Eğer belirttiğimiz koşul sağlanmamışsa program direk -end if- komutunun 1 alt satırına atlayacaktır.Yani if ve end if komutları arasındaki hiç bir işlemi yapmayacaktır.

Örnek:

Standart.exe olarak açmış olduğunuz formunuza bir textbox (text1) ve bir commandbutton (command1) ekleyiniz.Sonra tasarım penceresindeyken command buttona çift tıklayarak açılan kod penceresine aşağıdaki kodlarıyazınız.Daha sonra F-5'e basarak programı çalıştırınız.Program sayınızın tek mi çift mi olduğunu kontrol ediyor ve ona göre mesaj veriyor.

Private Sub Command1_Click()
a = Text1.Text
a = Val(a)
If a Mod (2) = 0 Then
MsgBox "girdiğiniz sayı çifttir"
End If
If a Mod (2) <> 0 Then
MsgBox "girdiğiniz sayı tektir"
End If
End Sub
if koşul then.... else...KOMUTU
If ... end if 'ten tek farki vardır,koşulun sağlanmadığı durumda da programa mudahale edebilirsiniz.Örneğin belirttiğiniz koşulun olup olmadığını if ile kontrol ediyordunuz,şimdi burada da else diyerek,programa; koşulun olmadığı durumda da şunu yap diye emir veriyorsunuz.Kullanımı şu şekildedir:

if koşul Then

KOMUTLAR

else

KOMUTLAR

End if

Daha önce de dediğim gibi,eğer belirttiğiniz koşul varsa if'in altındaki komutlar yerine getiriliyor,eğer belirttiğiniz koşullar yoksa else nin altındaki komutlar yerine getiriliyor.

Örnek: Yukarıda 2 tane if komutu kullanarak yazdığımız komutu daha kısa satırda else kullanarak yazacak olursak;

Private Sub Command1_Click()
a = Text1.Text
a = Val(a)
If a Mod (2) = 0 Then
MsgBox "girdiğiniz sayı çifttir"
Else
MsgBox "girdiğiniz sayı tektir"
End If
End Sub
If koşul then..... ElseIf koşul then.....KOMUTU
Birden fazla koşulumuzun olduğu durumlarda defalarca if kullanmaktansa if ve else if lerle durumu bağlayabiliriz.Belki programı daha az satırda yazma adına çok şey yapmış olmayız ama programı yazmada hakimiyeti kaybetmeyiz,programı takip etmek daha kolay olur...

If koşul Then

KOMUTLAR

ElseIf Koşul1 Then

KOMUTLAR

ElseIf Koşul2 Then

KOMUTLAR

End If

Örnek: Şimdiki örnekte 1'den 5 e kadar olan sayıların kontrolünü yapan,girdiğiniz sayının kaç olduğunu size söyleyen ve 5 ten büyük bir sayı girmişseniz uyaran 1 program yazıyoruz.Formunuza bir textbox ve bir command buton ekleyin ve tasarım aşamasındayken command butona cift tıklayıp açılan pencerede bu kodu yazın..

Private Sub Command1_Click()
a = Text1.Text
a = Val(a)
If a > 5 Then
MsgBox "5'ten büyük sayı giremezsiniz"
End If
If a = 1 Then
MsgBox "Girdiğiniz sayı=1"
ElseIf a = 2 Then
MsgBox "Girdiğiniz sayı=2"
ElseIf a = 3 Then
MsgBox "Girdiğiniz sayı=3"
ElseIf a = 4 Then
MsgBox "Girdiğiniz sayı=4"
ElseIf a = 5 Then
MsgBox "Girdiğiniz sayı=5"
End If
End Sub
Select .... Case
Mantık olarak yukarıda anlattığımız If..ElseIf yapısının aynısıdır.Mevzu bahsi olan değişken Select Case DEGİŞKEN komutuyla seçilir ve bu değişkenin birden fazla durumları Case Deger1... Case Değer2.... komutlarıyla kontrol edilir.Kullanımı;

Select Case Değişken

Case Değer1

.....

Case Değer2

.....

Case Değer3 to Değer 10

.....

Case Else

End Select

Gördüğünüz gibi 1 den fazla koşullu durumda select case yi kullandık.Case deger 3 to deger 10 yazan satır dikkatinizi çekmiştir sanırım.Değişkenin değerinin belli bir şeyden diğer şeye kadar olan durumda şunu şunu yap anlamına gelir.Dikkat edilmesi gereken diğer komut da Case Else.Bu da belirtilen tüm seçeneklerin dışında başka 1 değer olması durumunda altında belirtilen koomutları uygulatır.


 
Geri
Yukarı