Turkish Online

Web Hosting – Web Design – Sesli Chat Hosting – Radio Hosting – Oyun Sunucusu

Döngüler

ASP sayfalarımızda önceki derslerde öğrendiğimiz If..Else gibi sınama elemanları nasıl gerekliyse döngüler de o kadar gereklidir.
Döngü adı üzerinde dönen bir değeri temsil eder. Değeri durdurmazsak eğer sonsuza kadar döner ve buna Endless Loop (Sonsuz Döngü) denir. Şimdiki konumuz For..Next döngüsü.

Programın bir işi belirli kere yapmasını istiyorsak, ona yapacağı işi sayaç ile birlikte For döngüsü ile bildirmeliyiz:

For sayac =baslangıcTo sonStep adım

Yapılacak İşler

Next

Burada sayac değeri yerine istediğiniz bir adı yazabilirsiniz. baslangıc yerine sayacın başlamasını istediğiniz sayıyı, son yerine sayacın durmasını istediğiniz sayıyı, adım yerine de sayacın kaçar kaçar artmasını istediğinizi yazabilirsiniz.Sondaki Next deyimi ise döngünün bir sonraki adıma geçmesini sağlar. Burada bir de Step kelimesi varsa, karşısındaki değer kadar arttırılır ve yapılacak işler tekrarlanır.
Bir örnek yapalım ve dögü olayına daha derinlemesine bakalım. Bu sayfasyı dongu1.asp adı ile kaydedin:

<html>
<head>
<title> ASP’ de Döngüler </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>

<%
Dim isimler

isimler = Array(“Hasan” , “Ayşe” , “Emrah” , “Fatma” , “Barış”, “Buse”, “Selim”)

For sayac = 0 to 6

Response.Write isimler(sayac)

Response.Write “br”

Next
%>

</center>
</h2>
</body>
</html>

Şimdi bu sayfanın kodlamasına daha yakından bakalım.
Bilindik HTML kodları ile başlıyor sayfamız. BODY bölümünden sonra asp kodlarımızı yazıyoruz.
isimler isimli değişkenimizi tanımlıyoruz. isimler = Array bölümünde ise bunun bir dizi değişken olduğunu görüyoruz. Yani içinde bir çok ismi, kelimeyi ya da sayıyı barındırabilecek. Biz burada 7 tane isim yazdık. Sonra da döngümüzü başlattık: For sayac = 0 to 6. İsimleri 0′ dan 6′ ya kadar olanı dedik. Burada sayac isimli bir sayacımız var. Bu bir değişken değil. O yüzde tanımlamadık. Kafanız karışmasın.. Alt satırda da bu 0′ dan 6′ ya kadar olan isimleri sayfaya yazdır dedik= ” Response.Write“. Next ile döngünün durmasını değil, devam etmesini istiyoruz.

For sayac = 0 to 6
deyiminde 6 yerinde 5 ya da 4 yazıp tekrar terar deneyin. 5 yazdığınızda 6 isim yazılacaktır sayfaya. Çünkü VBScript (bunu daha sonrada göreceğiz) saymaya 0′ dan başlar. Buna şimdiden alışmamız gerektiğini düşünüyorum.

Select İngilizce’ de -seçme, -seçim anlamlarına gelir. Case ise durum anlamına gelir. Select Case ile (bildiğiniz:) ) Durum Seç anlamına geliyor.
(burada niyetim inglizce kursu vermek değil, ama daha iyi öğrenebilmek için bu deyimlerin anlamlarını bilsek daha iyi olur düşüncesindeyim!)
Select Case’ in kullanımını şöyledir:

Durum Seç (Durumların listesi ve bunları belirten bir değişken)

Durum1 : Yapılacak İşler
Durum2 : Yapılacak İşler
Durum3 : Yapılacak İşler
Durum4 : Yapılacak İşler

Seçmeyi Bitir

Burada durum seç dediğimiz için, VBScript verdiğimiz durum listesine veya değişkene bakacaktır. Bu değişkenin her bir değerini bir “durum” sayacak ve ona hangisi uyuyorsa ona göre hareket edecektir.
Konuya daha derinlemesine bakarsak, Durum Seç ( yani Select Case) deyiminin yanına bir durum yazarız ya da durumu belirten bir değişken yazarız. Daha sonra bu durum için yapılacak işleri listeleriz. Bu kadar basit…
Yine bir örnek yapalım ve durum seçme olayına daha yakından bakalım. Bu sayfayı durumsec.asp adı ile kaydedin:

<html>
<head>
<title> Durum Seçme </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>

<%
Select Case Hour(Now)

Case 0,1,2,3,4,5,6,7,8,9,10,11

Response.Write “Günaydın

Case 12,13,14,15,16,17

Response.Write “Tünaydın

Case Else

Response.Write “İyi Akşamlar

End Select

Response.Write “<br>

Response.Write “Sitemize Hoşgeldiniz
%>

</center>
</h2>
</body>
</html> 

 

Bu sayfada, daha önce gördüğümüz Şimdiki Saat anlamına gelen Hour(Now) fonksiyonunu görüyoruz. Daha öncede söylediğimiz gibi Hour(Now) VBScript’in hazır fonksiyonlarındandır. Biz burada durum olarak Şimdiki Saat seçeneğini kullandık. İlk seçimimizde saat 0,1,2,3,4,5,6,7,8,9,10,11 ise sayfaya “Günaydın” yazdır dedik. İkinci seçimimizde ise 12′ den 17′ ye kadar olan sayıları yazdık ve saat bunlardan biri ise sayfaya “Tünaydın” yazdır dedik. Case Else ile diğer seçimler olmazsa eğer sayfaya “İyi akşamlar” yazdır demiş olduk. End Select ile de seçme işlemini bitirdik.

Böylece Select Case yani Durum seçme olayını da öğrendik..
Küçük bir hatırlatma, bu ve bunun gibi örnekleri ne kadar çok yazarsanız o kadar çok akılda kalıcı olurlar..

Request.QueryString adres satırında gelen soru işaretinden sonraki değerlerdir. Birden fazla değer burada gönderilebilir. Her bir değer & ile ayrılır. Örnekler:

<%

dim p_degeri

p_degeri=Request.QueryString(”p”)

Response.Write (”Adres satırından gelen p değeri : ” & p_degeri)

%>

Bir tüyo verelim, bilmeyenler için. Request.QueryString(”p”) yerine Request(”p”) de kullanabilirsiniz.

Birden çok değer de gönderelim.

http://www.oiyi.net/?s=ornekler&submit.x=0&submit.y=0

şeklindedir.