|
VBScript'de Program
Kontrolü
İster Script diliyle, ister gerçek programlama diliyle yazılsın,
bir bilgisayar programının varlık sebebi, çeşitli durumları
değerlendirerek, belirli durumlarda belirli kararlar verebilmesidir.
Bunu programın kontrol öğelerini kullanarak yaparız. Programlar, bu
öğeler sayesinde karşılaştırma yaparlar; belirli durumların oluşup
oluşmadığını sınarlar; veya belirli bir durumun oluşmasına veya sona
ermesine bağlı olarak bir iş yaparlar veya yapmazlar. Bunu
sınamalarla (koşullu ifadelerle) veya döngülerle sağlarız. Kimi
zaman da, programa (programın mantığı çerçevesinde) istediğimiz anda
yapmakta olduğu işi durdurarak, başka bir işi yapmasını
bildirebiliriz. Bunlara da Süreçler (veya Prosedürler) denir.
(Adındaki Basic'e bakarak, VBScript'i basit bir dil
sanmıyordunuz, umarım!)
Mantıksal Sınamalar
VBScript'te programın karar vermesini sağlayan ilk kontrol
ögesini "eğer ... ise... yap!" şeklinde özetleyebiliriz. VBScript bu
işlemi iki ayrı ifadeyle yaparız:
If.. Else
VBScript'in vereceğiniz bir durumun bulunup bulunmadığını
sınamasını sağlar. Genel yazım kuralı şöyledir:
|
|
If şart Then [şart doğru ise
yapılacak işler] Else [şart doğru değilse
yapılacak işler] End If
|
Bunu bir örnekle ifade edelim: Eğer saat 12'den önce ise sayfaya
"Günaydın" yazdır; saat 12'den sonra ise "Tünaydın" yazdır. Fakat
burada bir eksiklik var: Saat 18'den sonra ise sayfaya "İyi
akşamlar!" yazdırmamız daha doğru olmaz mı? If döngüsü kendi
içinde sınırsız Elseif (ikinci şartlı döngü) imkanı vererek
bize bunu sağlar. Her Elseif'i yeni bir If gibi
düşünebilirsiniz. İşte şu senaryoyu gerçekleştirecek kod
örneği : ( hosgeldiniz01.asp
):
|
|
<HTML> <HEAD> <TITLE>ASP
ILE SAATE GORE SELAM</TITLE> <META
http-equiv="content-type" content="text/html;
charset=ISO-8859-9"> <META http-equiv="Content-Type"
content="text/html;
charset=windows-1254"> </HEAD> <BODY> <H2> <CENTER>
<% If Hour(Now) <12
Then Response.Write "Günaydın!
" ElseIf
Hour(Now) >= 18 Then
Response.Write "İyi akşamlar! " Else
Response.Write "Tünaydın! " End
If Response.Write "<BR>" Response.Write
"Site Onarım Sitesine Hoşgeldiniz" %>
</CENTER> </H2> </BODY> </HTML> |
Bu programı çalıştırdığınız zaman, çalıştırdığınız saate göre
sayfadaki selamın değiştiğini göreceksiniz. (Bu örnekte,
sadece şartlı döngü işlemi yapmıyoruz; fakat aynı zamanda Hour
(Now) fonksiyonu ile tanışıyoruz ve sayfadaki bütün unsurları
ASP yöntemiyle yazdırıyoruz! Fakat şimdilik bu iki unsurun üzerinde
de durmayın.) Programımız nasıl çalışıyor? Yukarıda başka vesile ile
VBScript'in kullanılmaya hazır fonksiyonları vardır, demiştik.
Bunlardan biri de o andaki saati ve tarihi bildiren Now()
fonksiyonudur. Bu fonksiyondan dönen değerle bu andaki saati
öğreniyoruz; ve bunu önce 12 ile karşılaştırıyoruz. Fonksiyondan
dönen değer, eğer 12'den küçükse, programımız Response
(Karşılık) Nesnesi'nin .Write Metodu'nu kullanarak (Nesneler
ve Metodlar meselesi üzerinde de durmayın!) ziyaretçinin Browser
penceresine "Günaydın"
yazdırıyor.
|