Birkaç farklı kullanımı bulunmaktadır.
If şart Then
[ Şart doğruysa çalışacak işlemler ]
End If
If şart Then
[ Şart doğruysa çalışacak işlemler ]
Else
[Şart yanlışsa çalışacak işlemler ]
End If
If şart Then
[ Şart doğruysa çalışacak işlemler ]
Elseif şart then
[ Yeni şart doğruysa çalışacak işlemler ]
................................
Else
[Şart yanlışsa çalışacak işlemler ]
End If
If (şart1) and (şart2) or(şart3) .... Then
[ Şart doğruysa çalışacak işlemler ]
Else
[Şart yanlışsa çalışacak işlemler ]
End If
İf komutunda verilen şart doğru ise Then komutundan sonraki komut veya komutlar çalışır. Else deyimi ise kullanılması zorunlu değildir. Şartın doğru sonuç vermediği zaman işlem görmesini istediğimiz komut veya komutları Else deyiminden sonra kullanıyoruz . Elseif komutu ise her alternatif için yeni bir if-then-else kalıbı oluşturmaktan kurtarır. Ayrıca şartın sağlandığı anda diğer sorgulamaları atladığı için anahtarlama görevi görür.Her if cümlesi bir endif ile bitmek zorundadır. Bir programda iç içe girmiş if cümleleriyle oluşan bloklar bulunabilir. Bu durumda iç içe giren sorgulamaların if ile başlayan başlangıç noktası ile endif ile biten sınır noktaları kesişmemelidir.
Şimdi yukarda çeşitli formatlarda kullanılan if-then-else kalıbına örnekler verelim.
<html>
<script language="VBScript">
dim not1,not2,not3,sonuc
not1 = InputBox("Lütfen 1. notunuzu girin","NOT-1")
not2 = InputBox("Lütfen 2. notunuzu girin","NOT-2")
not3 = InputBox("Lütfen 3. notunuzu girin","NOT-3")
sonuc=(cint(not1)+cint(not2)+cint(not3))/3
if sonuc < 50 then
alert ("Dersten kaldınız")
else
msgbox ("Dersten geçtiniz Tebrikler")
end if
</script>
</html>
Örneğimizde öncelikle <script language="VBScript"> ayıracıyla scriptimizi açtık . Ardından not1,not2,not3 ve sonuc diye dört adet değişken tanımladık. Kullanıcıdan veri girişini sağlayan inputbox fonksiyonuyla sırayla bilgileri not1,not2,not3 değişkenlerine aktardık.Bu değişkenlerin içerdiği bilginin türü string olduğu için Cint fonksiyonu ile önce integer olarak değiştirdik ve ortalama bilgisini sonuc değişkenine attık . Eğer sonuc 50 den küçükse alert fonksiyonuyla kullanıcıya "Dersten kaldınız" diye uyarı mesajı verdik. Sonuç 50 den küçük değilse msgbox fonksiyonuyla "Dersten geçtiniz Tebrikler " ifadesiyle mesajı ilettik.
<%
dim gun,gunisimgun = weekday(date)
if gun=1 then
gunisim=Pazar
elseif gun=2 then
gunisim="Pazartesi"
elseif gun=3 then
gunisim="Salı"
elseif gun=4 then
gunisim="Çarşamba"
elseif gun=5 then
gunisim="Perşembe"
elseif gun=6 then
gunisim="Cuma"
else
gunisim="Cumartesi"
end if
response.write(" Bu gün günlerden "+gunisim)
%>
Bu örnekte VBScriptin hazır fonksiyonlarından weekday fonksiyonuna date parametresi gönderilerek haftanın kaçıncı gününde olduğumuzu gun değişkenine atmış olduk . Şayet birinci gün üzerindeysek gunisim değişkeni Pazar olacaktır. Diğer ihtimaller de elseif komutuyla gunisim içine uygun şekilde atamayı yapacaktır. Şayet hiçbirisi doğru yanıtını vermezse Else deyiminden sonra gunisim değişkenine Cumartesi bilgisi atanır.Son olarak ekrana bulunduğumuz günü response.write komutuyla yazdırdık.
Şimdide if-then-else kalıbı içinde aritmetik ve mantıksal operatörlerin kullanımına örnek verelim. Aritmetik ve mantıksal operatörlerin if-then-else kalıbı içinde kullanılması bir çok avantaj sağladığı gibi kimi durumlarda problemi programlama diline ifade edebilmek için kaçınılmaz olacaktır.
<%
dim a,b,c,d
a=500
b=300
c=200
d=0
if a>b and c<b then
response.write(" A , B den büyük B ise C den büyüktür.")
end if
if not d>0 and b+c=a then
response.write(" D sıfırdan büyük değildir ve B ile C toplamı A ya eşittir.")
end if
if d<a Xor b=c then
response.write(" D , A dan büyüktür yada B, C ye eşittir .")
end if
%>
Yukardaki örnekte öncelikle dim komutuyla a,b,c ve d isimli 4 değişken tanımlayıp bu değişkenlere çeşitli değerler verdik.
- İlk if cümlemizde a nın b den büyük olduğunu ve c nin b den küçük olduğunu test ettik.
- İkinci if cümlesinde d değişkeni 0 dan büyük değil ve a ile b toplanırsa c ye eşit olacaktır diye test ettik.
- Son if cümlemizde ise d nin a dan küçük olması yada b ile c nin birbirine eşit olması durumlarından bir tanesi doğru olacak şekilde özel veya işleminin sonucu test edildi
Değişkenlerin içerdiği bilgilere göre önermelerin hepsi doğru sonuç verdiğinden ekrana belirtilen ifadeler yazılacaktır.
Selim Ünüvar
![[Resim: 114ld.jpg]](http://b1112.hizliresim.com/s/c/114ld.jpg)