Şub
9Döngü ifadelerinden birisi olan do loop döngüsünü genel olarak ele alıyoruz. Kullanımı hakkında öneriler ve kullanım şeması incelenmektedir.
Koşul doğru olduğu sürece tekrarlanan döngü
Do...Loop ifadesi ile birlikte While anahtar kelimesi de kullanılır. While anahtarı, Do...Loop ifadesi içinde, koşulu kontrol eder. Koşulu döngüye girmeden kontrol edebileceği gibi ifadenin sonunda kullanılarak döngünün bir kereye mahsus çalışmasından sonra da kontrol edebilir.
Basit bir Do...Loop döngüsünün şeması şöyledir;
say = 0
I = 5
Do while I = 10
I = I + 1
say = say + 1
Loop
response.write "Döngü "&say&" kez tekrarlandı."
%>
İfade çalıştırıldığında I değeri 5'ten 10'a kadar tekrarlanır ve I değeri 10 olduğunda döngü sonuçlanır.
Koşul doğru olana kadar tekrarlanan döngü
Do...Loop ifadesinde Until koşul kontrol ifadesi kullanılır. Bu kontrolü kullanmanın iki yolu vardır. Döngüye girilmeden yapılan kontrol veya göndüye bir sefer girildikten sonra, sonunda yapılan kontrol.
Döngüye girilmeden kontrol şöyle yapılabilir;
say = 0
I = 5
Do until I = 10
I = I + 1
say = say + 1
Loop
response.write "Döngü "&say&" kez tekrarlandı."
%>
İfade çalıştırıldığında I değeri 5'ten 10'a kadar tekrarlanır ve I değeri 10 olduğunda döngü sonuçlanır.
Döngü sonunda kontrol ise şöyle yapılmaktadır;
say = 0
I = 5
Do
I = I + 1
say = say + 1
Loop Until I = 10
response.write "Döngü "&say&" kez tekrarlandı."
%>
Do..Loop Döngüsünün İçinden Çıkmak
Eğer do.loop ifadesinden çıkmak, döngüyü sonlandırmak istersek Exit Do ifadesi ile bunu gerçekleştirebiliriz.
say = 0
I = 5
Do until I = 10
I = I + 1
say = say + 1
If I > 8 then Exit Do
Loop
response.write "Döngü "&say&" kez tekrarlandı."
%>
Döngümüz bir önceki örneklerde olduğu gibi çalışacak fakat belirtilen döngü sonuçlandırma değeri olan I = 10 ifadesini göremeden bitecektir. Çünkü I > 8 ifadesini gördüğünde Exit Do ifadesi gerçekleşecek ve 9-10 gibi değerlere ulaşamayacaktır.
4 yorum var
#224.-tayyar tar-13 Haziran 2007 Çarşamba
Merhaba arkadaşlar asp ye başladım. Umarım soruma cevap verebilecek arkadaşalar vardır. Ben bir form üstünden veritabanına bilgi kaydettim yalnız birde fazla kaydettm yani yedi sekiz satır. Daha sonra bu bilgi başka bir sayfa geri çekmeye çalıştım ancak üsttede söylediğim gibi 7-8 bilgi girdim. Ancak sadece 1 tanesinin bilgisi geliyorum. Umarım sorun döngüleri kurmakla ilili yardımcı olusanız sevinirim. İyi çalışmalar şimdiden teşekkürler.
#227.-SrcnCkr-14 Haziran 2007 Perşembe
veritabanına bağlantı adını vtbaglan olarak düşün. Kodu incelersen anlarsın zaten koyu alanlar ilgini çekebilir
<%
Set aspogren = vtbaglan.execute("Select * from tabloadi")
If not aspogren.eof then
Do while not aspogren.eof
response.write tabloadi("alanadi")
aspogren.movenext
loop
Else
response.write "kayıt yok"
End If
aspogren.close
%>
Kolay gelsin.
#527.-Semih Masat-11 Mart 2008 Salı
Merhaba arkadaşlar ben asp de yeniyim . Öncelikle hazırlanan metin için gerçekten teşekkür ediyorum !!
Sormak istediğim soru ise while ile until arasındaki fark ne ? ikisindede aynı sonuca ulaşmıs !!
#544.-Arif Bensuhan-25 Mart 2008 Salı
Emeginiz icin tesekkürler ,Gercekten basarılı bir calısma olmus....
