ASP'de Temel Bilgiler: Döngüler (Do..Loop)

cartman

Katılımcı Üye
28 Ara 2005
932
17
zBjk
[FONT=Verdana, Arial, Helvetica, sans-serif]Temel Bilgiler: Döngüler (Do..Loop)[/FONT] Döngüler
Döngüler daha bitmedi demiştim.Şimd*** konumuz Do..Loop döngüsü.
Do İngilizce'de -yapmak anlamına gelir. Bizde burada Do yani şu işi yap! diyeceğiz.
Ama bu işi yaptırmanın *** yolu olabilir, bir dizi komutu, bir koşul doğru iken veya doğru oluncaya kadar kadar yaptırabiliriz.
Bir koşul doğru ikenbazı işlerin biteviye (yani bitmeden) yapılmasını istiyorsak Do ile birlikte While yöntemini kullanırız. Genel olarak yazım kuralı şöyledir:
Do While koşul
koşul doğru iken yapılacak işler
loop

Do While ' ın karşısına koşulu bir alt satıra da koşul doğru ise yani koşul gerçekleşebilecek durumda ise yapılacak işleri yazıyoruz. Loop ile yapılacak işleri tekrarlıyoruz.
Bir örnek yapalım ve Do While olayına daha yakından bakalım. Ama önce bu örneğimizin içeriği hakkında biraz bilgi vermek istiyorum. Örneğimizde bir isim olsun ve onu sayfaya 3 kez yazdırana kadar döngümüz dönmeye devam etsin. Bu sayfayı dongu2.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>

<%
Dim Donen, Seren, Esra, Gelen

Randomize
Seren = 0
Esra = 0
Gelen = 0
Do While Seren < 3

Gelen = Gelen +1
Donen = Int(Rnd *2) +1
If Donen = 1 Then
%>


<p> Esra! </p>
<%
Esra = Esra +1
Else
%>


<p> Seren </p>

<%
Seren = Seren +1
End If
Loop
%>


Sayfaya 3 kere Seren yazdırmamız için isimleri <%= Gelen %> kez döndürmemiz gerekti!

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


Bu sefer uzunca bir kodlama yaptık. Kodları incelemeye geçmeden önce bu sayfayı kaydedin ve çalıştırın. Bir kaç kez sayfanın yenile düğmesine basın. Her seferinde isimler sayfaya farklı sayılarda yazılacaktır ve isimlerin altında 3 kez Seren yazılabilmesi için kaç kez dönülmesi gerektiği yazacaktır. Şimdi kodlalarımıza daha yakında bakalım. Çünkü bizi en çok ilgilendiren konu onlar.

Önce değişkenlerimizi tanımlıyoruz. 4 tane değişkenimiz var. Burada değişken adları önemli değil. Değişkenlere istediğiniz ismi verebilirsiniz (cicek, bocek vs.). Ama türkçe karakter kullanmamaya dikkat edin! Değişkenler tanımlandı.. O da ne? Randomize diye bir şey yazmışız. Nedir bu Randomize?
Randomize = Tesadüfi Sayı nedir?
Randomize Tesadüfi Sayı anlamına gelir. Yani sayfamızın yenile düğmesine bastığımızda isimlerin hep değişik sayıda dönmesinin sebebi buydu. Randomize tek başına işe yaramaz. Randomize tesadüfi sayıyı üretir. Ama onu bize veren Rnd komutudur. Rdn komutunun bize verdiği sayılar tamsayı değildir! Bunları tam sayı yapmak için Int komutunu kullanırız.

Randomize ' nin ne olduğunu öğrendikten sonra kodları incelemeye devam edelim.
Randomize satırının altında Do While döngümüzü görüyoruz. Do While Seren < 3 demişiz. Yani Seren değişkeni sayfada 3' ten küçükse işlem gerçekleşmiş olacak. 3 ' ten büyük olmayacak. İşlemcileri hatırlayın!
Şu satıra bakalım:
Donen = Int(Rnd *2) +1
Donen değişkenimizin karşına Int(Rnd... yazmışız.Yani Randomize ile gelen sayıyı Rnd ile göster bunu Int ile tamsayıya çevir demiş oluyoruz.

Bir If deyimimiz var. Bu olayların akışını düzene sokmak için gerekli.
Sayfaya Esra yazdırdıktan sonra Esra = Esra +1 komutu ile bir arttırıyoruz. Daha sonra da Seren isimli değişkenimizi 1 arttırıyoruz. End If ile If deyimini sonlandırırken, Loop ile sayfaya 3 kez Seren yazılana dek döngümüzü döndürmeye devam ediyoruz. Kaç kez döndüğünü bize söylemesi için Gelen isimli değişkeni sayfaya yazdırıyoruz: <%= Gelen %>.
Burada Do While..Loop döngüsünü öğrendik. Dögüler ileride çok işimize yaracaklar. Gerçek hayatta bize arkadaş olmayacaklar, ama web uygulamalarımızda önemli bir yer tutacaklar. Bizden söylemesi.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.