VBScript Döngüleri: Do While, Do Until, While, For Her Biri (Örnek)
VBScript'te neden Döngüler kullanılıyor?
Döngüler aynı kod bloğunun tekrar tekrar çalıştırılması için kullanılır. Çok sayıda VBScript döngü ifadesi vardır. VBScript döngü ifadelerinden bazıları Do While, Do Until, For…..Next vb.'dir. Peki ihtiyacınıza göre hangi döngü ifadesini kullanacağınıza nasıl karar vereceksiniz?
Döngüleri yürütürken, bir dizi talimatı kaç kez yürütmek istediğinizin farkında olabilirsiniz veya olmayabilir. Örneğin iki sayının toplamını on kere hesaplamak istiyorsunuz. Bu durumda, bir kod bloğunu 10 kez tekrarlamak istediğinizi zaten biliyorsunuzdur. Belirli bir değişken doğru olana kadar iki sayının toplamını hesaplamak istediğinizi varsayalım. Burada döngünün kaç kez yürütüleceğini bilmiyorsunuz. Dolayısıyla, yürütme sayısını bilip bilmediğinize bağlı olarak farklı türde döngü ifadeleri kullanabilirsiniz.
For…Next döngü ifadeleri, bir kod bloğunu sınırlı sayıda tekrarlamak istiyorsanız, kaç kez olduğunu biliyorsanız, kod bloğunu tekrarlamak istiyorsanız kullanılır.
Do While ve Do Until döngü ifadeleri, bir kod bloğunu bir koşul doğru veya yanlış olana kadar tekrarlamak istediğinizde, yani kod bloğunu kaç kez çalıştırmak istediğinizin farkında olmadığınızda kullanılır.
Gelin bu döngüsel ifadelere tek tek bakalım.
VBScript While Döngüsü Yapmak
Bir kod bloğunu kaç kez çalıştırmanız gerektiğini bilmiyorsanız, Do While döngülerini kullanacaksınız. Örneğin x değişkeninin değeri 5'ten küçükken “Hoş Geldiniz” mesajının çıktısını almak istiyorsunuz. Bu durumda Do While döngüsü kullanılacaktır.
<script type="text/vbscript"> Dim x x=1 Do While x<5 document.write("Welcome.") x=x+1 Loop </script>
Kodu çalıştırmayı denerseniz aşağıdaki gibi çıktı alırsınız:
Blok dört kez çalıştırılır (x=1,2,3 ve 4 olduğunda) ve x'in değeri 5 olduğunda döngü sona erer. Eğer x=x+1 ifadesini unutursanız döngünüz hiç bitmeyen bir döngüye dönüşür. bir. Bu tür döngülere şu ad verilir: sonsuz döngüler. Sonsuz döngüler sisteminizin çökmesine bile neden olabilir. Bu nedenle, Do While döngü ifadelerini kullanırken, döngü koşulunu bir noktada doğru kılacak bazı kodların bulunduğundan emin olmalısınız.
Eğer x değişkenine başlangıçta 7 değerini atarsanız kod bloğu bir kez bile çalıştırılmayacaktır. Koşul ne olursa olsun kod bloğunu en az bir kez çalıştırmak istediğinizi varsayalım, ardından Do While döngüsünü kullanabilirsiniz. Kodu şu şekilde değiştirin:
VBScript Örneği:
<script type="text/vbscript"> Dim x x=7 Do document.write("Welcome.") x=x+1 Loop While x<5 </script>
Bu kodu çalıştırdığınızda yalnızca bir kez “Hoş Geldiniz” mesajını alacaksınız. Burada koşul yalnızca döngü bir kez çalıştırıldıktan sonra kontrol edilir.
VBScript Döngüye Kadar Yap
'Do Until' döngüsü aynı zamanda bir kod bloğunu çalıştırmak için gereken süreyi bilmediğiniz durumlarda da kullanılır. Do Until döngüsündeki ilk kod bloğu (Do While x<5), aşağıda verilen kod bloğuna eşdeğerdir.
<script type="text/vbscript"> Dim x x=1 Do Until x=5 document.write("Welcome.") x=x+1 Loop </script>
Bu size Do While döngüsündeki ilk kod bloğuyla aynı çıktıyı verecektir. Hoş Geldiniz mesajını dört kez göreceksiniz. Do …..Loop While'a benzer şekilde, bizim de yapmamız gereken…Loop Until'dir.
Aradaki bir Do While veya Do Until döngüsünden çıkmak istiyorsanız Exit Do ifadesini kullanabilirsiniz. Yukarıdaki programda x değeri 3 olduğunda bloktan çıkmak istediğinizi varsayalım, o zaman şu şekilde kodlamanız gerekir:
<script type="text/vbscript"> Dim x x=1 Do Until x=5 If x=3 Then Exit Do document.write("Welcome.") x=x+1 Loop </script>
Kodu çalıştırırsanız çıktınız şöyle görünecektir:
Burada x'in değeri 3 olduğunda döngüden çıkılır.
VBScript While Döngüsü
While…Wend döngüsü, yaygın olarak kullanılmasa da Do While döngüsüne benzer. Do While döngüsü, While…..Wend döngüsünden daha yapılandırılmış olduğundan, programcılar genellikle Do While ifadelerini kullanır.
<script type="text/vbscript"> Dim x x = 1 While x < 5 document.write("Welcome.") x=x+1 Wend </script>
Çıktı olacak
Sonraki Döngü İçin VBScript
For-Next döngüsü, bir kod bloğunu belirli sayıda çalıştırmak için kullanılabilir. “VBScript For döngüsü” sayaç değişkenini ve onun başlangıç ve bitiş değerlerini belirtir. Next ifadesi sayaç değişkenini bir artırır.
For i = 1 To 5 document.write("The number is " & i & " ") Next
Kodu çalıştırırsanız aşağıdaki gibi bir çıktı elde edersiniz:
VBScript For-Adım-Sonraki Döngü
Varsayılan olarak sayaç değişkeni bir artırılır. Sayaç değişkenini belirttiğiniz değer kadar artırmak veya azaltmak istiyorsanız For….Step….Next döngüsünü kullanabilirsiniz. Yukarıdaki kodda sayacı 2 artırmak ve ardından kodunuzu şu şekilde değiştirmek istediğinizi varsayalım:
For i = 1 To 5 Step 2 document.write("The number is " & i & "<br />") Next </script>
Bu kodun çıktısı şöyle olacaktır:
Aradaki For Next veya For Step Next döngüsünden çıkmak istiyorsanız, ifade için Exit'i kullanabilirsiniz. Yukarıdaki programda i değeri 3 olduğunda bloktan çıkmak istediğinizi varsayalım, o zaman şu şekilde kodlamanız gerekir:
<script type="text/vbscript"> For i = 1 To 5 Step 2 If i=3 Then Exit For document.write("The number is " & i & "<br />") Next </script>
çıkış olacaktır:
Her Sonraki Döngü İçin VBScript
Bir koleksiyondaki her öğe için veya bir VBS dizisinin her öğesi için bir kod bloğunu tekrarlamak istiyorsanız For…Each…Next döngüsünü kullanmanız gerekir.
<script type="text/vbscript"> Dim students(4) students(0)="John" students(1)="Hanah" students(2)="Sarah" students(3)="Kevin" students(4)="Emma" For Each x In students document.write(x & "<br />") Next </script>
Yukarıda belirtilen kodun çıktısı şu şekilde olacaktır:
Kod Örneği
<html> <head> <script type="text/vbscript"> Dim name, length name = InputBox("Enter your name") length = Len(name)’Gives length of the input string For i = 1 To length txt = Mid(name,i,1)'Returns a specified number of characters from a string, the first parameter is the string, second parameter is the starting position and third parameter is the number of characters to return If txt="a" or txt="A" or txt="e" or txt="E" or txt="i" or txt="I" or txt="o" or txt="O" or txt="u" or txt="U" Then counter = counter+1 End If Next document.write("Hi " & name & "!!!Your name contains " & counter & " vowels.") </script> </head> <body> </body> </html>
Dosyayı loop.html olarak tercih ettiğiniz konuma kaydedin. Şimdi dosyayı Internet Explorer'da açın ve sizden adınızı girmenizi isteyen bir kutu göreceksiniz. Şöyle bir ad girin, Aaron diyelim:
Tamam'ı tıkladığınızda çıktınız şöyle görünecektir:
ÖZET
- Döngü ifadeleri aynı kod bloğunu tekrar tekrar çalıştırmak için kullanılır.
- Bloğun kaç kez çalıştırılacağını önceden bilmediğiniz durumlarda Do-While, Do-Until ve While-Wend döngülerini kullanacaksınız.
- Kod bloğunu kaç kez çalıştırmanız gerektiğini zaten biliyorsanız, For-Next, For-Next-Step ve For-Each-Next döngülerini kullanacaksınız.