Bütün programlama dillerinde olduğu gibi VBScriptte de if –Then –Else Kalıbı kodlar üzerinde önemli bir yer tutar. Şarta bağımlı olarak çalışacak işlemlerde sıkça kullanılan bir komuttur. Böylelikle programımızın akışını şarta bağımlı olarak belirleyebiliriz.
Birkaç farklı kullanımı bulunmaktadır.
If şart Then
[ Şart doğruysa çalışacak işlemler ]
End If
Kontrol edilen bir ifade doğruysa End if arasındaki bloğa kadar yer alan komutları çalıştırır.
If şart Then
[ Şart doğruysa çalışacak işlemler ]
Else
[Şart yanlışsa çalışacak işlemler ]
End If
Sonucun Doğru veya Yanlış ( True / False ) olarak ele alınabileceği bir ifadede , sonuca göre işlemi önce belirler ardından çalışmasını sağlar.
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
Bu kalıpta ise belirtilen şart doğru veya yanlışsa çalışacak işlemler tespit edilebileceği gibi kalıb içinde istenildiği kadar yeni Elseif kullanılarak sorgu içinde yeni sorguların oluşturulması sağlanır.Sorgulardan herhangi birisi doğru olarak sonuç verirse program End if satırından itibaren çalışmasını sürdürür . Diğer sorgular kontrol edilmez. Böylelikle her kontrol için yeni bir if-then-else kalıbı kullanmak zorunda kalmayız.
If (şart1) and (şart2) or(şart3) .... Then
[ Şart doğruysa çalışacak işlemler ]
Else
[Şart yanlışsa çalışacak işlemler ]
End If
Bu kullanımda ; Operatörler ile mantıksal işleme girmiş olan ifadelerin türettiği sonuca göre işlem çalışır. Şartlar arasında istediğimiz aritmetik ve mantıksal operatörü kullanabiliriz.
İ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üvarTüm forumdan rastgele konular:
- » Sokağa çıkma yasağı olan yerlerde YGS...
- » Osman Gökçek vuruldu mu?
- » İşte rakamlarla utanılacak tablo
- » 60 Bin Çeşit Font (Özel Upload)
- » Emine Erdoğan bana bakıp ağladı
- » Başlangıç ve Orta Seviye Fireworks...
- » KKTC'de Anketlerde Eroğlu Önde
- » Laiklik karşıtı isimler de kabinede
- » Çarşaflı stand up'çı
- » 'Bir gün bize uğradı'
Aynı kategoriden rastgele konular:
- » Asp.Net'te DataList Kontrolü
- » Asp.net de recordset tanımı
- » Microsoft Visual Studio 2010 ile...
- » ASP'de Function(Replace) Yapımı
- » Datareader Özellikleri
- » Visual Studio 2010 ile Asp.Net 4.0...
- » Asp.NET İle Oracle Tablosundan Kayıt...
- » ASP ile Resimlerin Üzerine Yazı Yazma
- » Kayıt Silme
- » ASP Kayıt arama
Ben göremem daha uzun boyunuAhret derler kısaltamam yolunuBugün Sahı Merdan sarsın oglunuYetis Ya Üseyin baban gidiyo
Şu an 1 kullanıcı var. (0 üye ve 1 konuk)