Koşullu ifadeler
Koşullu ifadeler yapılan çalışmada istenilen sonuca uygun kararlar elde etmemiz için vazgeçilmez kod parçacıklarıdır, türkçe karşılığı (eğer şu veya buysa şunu yap) ifadeleri diyebiliriz her programlama dilinde bu tür ifadelere rastlayabilirsiniz mantık aynıdır sadece yazılma şekillerinde farklılıklar vardır.
Bir If...Then koşulu doğru olduğunda birden fazla deyimi ayrı satırlara yazmanız ve deyimi End If anahtar sözcüğü ile sonlandırmanız gerekir.
Daha öndecen veritabanından veya baska bir sonuçtan kul_adi değişkenine işlenmiş bir verinin kontrolunu yapalım.
<%
If kul_adi="Mehmet" Then
Response.Write("Merhaba: ")
Response.Write(kul_adi)
Response.Write("<br>Bugün If...Then koşullu ifadeleri öğreniyoruz")
End If
%>
Kopyala
İf koşulu kul_adi değişkenine atanmış değer Mehmet ise içeriğindeki kodları yorumlayacaktırBir koşul doğru olduğunda yalnızca bir deyimi işlemek istiyorsak tek satıra yazabiliriz ancak End If deyimi kullanmayız
<% If kul_adi="Mehmet" Then Response.Write("Merhaba: " & kul_adi) %>
Kopyala
AND ve OR deyimleri
Birden çok koşul doğruysa ve bu koşullara aynı işlemler yapılacaksa AND ve OR (VE VEYA) deyimleri kullanılır aşağıdaki kod kul_adi değişkeni Mehmet ve yasi değişkeni 45 ten küçükse işlem yapar eğer ifadeyi If kul_adi="Mehmet" OR yasi<45 Then olarak kullansaydık her iki kontrolün de doğru olmasını beklemez değişkenlerden birinin doğru olması sonucu işlemesine yeterli olurdu.
<%
If kul_adi="Mehmet" AND yasi<45 Then
Response.Write("Merhaba: ")
Response.Write(kul_adi)
Response.Write("<br>Henüz genç sayılırsınız!")
End If%>
Kopyala
Else Deyimi
Bazen bir koşul doğru değilse bile işlem yapmamız gerekebilr bu durumda Else deyimini kullanırız İf....Then koşulunu End if ile kapamadan önce kullanılır ve if şartı doğru değilse devreye girer.
<%
If kul_adi="Mehmet" Then
Response.Write("kul_adi şartı Doğru")
Else
Response.Write("kul_adi şartı Doğru değil")
End If%>
Kopyala
ElseIf Deyimi
Bu deyim, bir değişkenin birden çok farklı sonucunu olduğu durumda kullanılır örnekte kul_adi değişkeni Mehmet, Fatih, Ender olduğu durumda ve Else deyimi ile herhangi biri olmadığı durumda işlemler yapar her duruma farkli bir sonuç çıktısı verir.
<%
If kul_adi="Mehmet" Then
Response.Write("Merhaba: " & kul_adi)
ElseIf kul_adi="Fatih" Then
Response.Write("Merhaba: " & kul_adi)
ElseIf kul_adi="Ender" Then
Response.Write("Merhaba: " & kul_adi)
Else
Response.Write("Bunlardan hiçbiri değil")
End If
%>
Kopyala
ElseIf deyiminde de If...Then deyiminde olduğu gibi AND ve OR (VE VEYA) deyimleri kullanılıp duruma göre farklı işlemler yaptırılabilir ElseIf kul_adi="Mehmet" AND yasi<45 Then gibi.
Karşılaştırma işlemleri
Karşılaştırma işlemlerini If ve Elseif kontrollerinde kullanılan eşittir eşit değildir büyüktür küçüktür işlemleri için kullanırız (If yasi > 10 Then kırmızı ile belirtilen yere yazılır).
İşlem | Tanım | Kullanım |
---|---|---|
= | Eşittir | a = b |
<> | Eşit değildir | a <> b |
< | Küçüktür | a < b |
> | Büyüktür | a > b |
<= | Büyüktür ve Eşittir | a <= b |
>= | Büyüktür ve Eşittir | a >= b |
Select Case işlemi
Bir değişkenin birden çok farklı sonucunu olduğu durumda Select Case deyimini de kullanabilirsiniz If...Else koşulundan farkı burda büyüktür küçüktür gibi işlemler yerine sadece eşittir işlemlerinin kullanılmasıdır.
Değişkenin değeri, yapıdaki her bir Durum için olan değerlerle karşılaştırılır. Bir eşleşme varsa, o Case ile ilişkili kod bloğu yürütülür.
<%
kul_adi = "Ender"
Select Case kul_adi
Case "Mehmet"
response.write("Merhaba: " & kul_adi)
Case "Fatih"
response.write("Merhaba: " & kul_adi)
Case "Ender"
response.write("Merhaba: " & kul_adi)
Case else
response.write("Malesef eşleşme yok")
End Select
%>
Kopyala
Select Case deyimi içinde denklem aranıp bulunamadığı durumda bir mesaj vermek yada işlem yaptırmak istersek Case else kullanılır üstteki örnekte kul_adi değişkenindeki değer herhangi bir Case ile eşleşmediği durumda devreye girer ve ilişkili kod bloğu yürütülür.
Bu makalemizde ASP de Koşullu ifadeler If Then Else ve Select Case deyimlerinin kullanımını anlattık detaylara değindik.
Başka bir makalede buluşmak üzere...