VBScript-silmukat: Do While, Do Until, While, For Every (esimerkki)
โก รlykรคs yhteenveto
VBScript-silmukat selittรคvรคt, miten toimintoja toistetaan Do While-, Do Until-, While Wend-, For Next-, For Step- ja For Each-rakenteiden avulla. Silmukat kattavat syntaksin, lopetusehdot ja esimerkit.

Miksi VBScriptissรค kรคytetรครคn silmukoita?
Silmukoita kรคytetรครคn saman koodilohkon suorittamiseen yhรค uudelleen ja uudelleen. VBScript-kielellรค on useita silmukoita.ping lausekkeet. Jotkin VBScript-sivutping lausekkeet ovat Tee samalla kun (Do While), Tee kunnes (Do Until), Seuraavaksi (Forโฆ..Next) ja niin edelleen. Joten miten pรครคtรคt, minkรค vessanping lauseke, jota haluat kรคyttรครค tarpeisiisi?
Suorittaessasi silmukoita saatat olla tietoinen siitรค, kuinka monta kertaa haluat suorittaa joukon kรคskyjรค. Esimerkiksi haluat laskea kahden luvun summan kymmenen kertaa. Tรคssรค tapauksessa tiedรคt jo, ettรค haluat toistaa koodilohkon 10 kertaa. Oletetaan, ettรค haluat laskea kahden luvun summan, kunnes tietty muuttuja tulee tosiksi. Tรคssรค tapauksessa et tiedรค, kuinka monta kertaa silmukka suoritetaan. Joten sen perusteella, tiedรคtkรถ suoritusten mรครคrรคn vai et, voit kรคyttรครค erityyppisiรค silmukoita.ping lausuntoja.
Seuraavaksiโฆvessassaping lauseita kรคytetรครคn, jos haluat toistaa koodilohkon รครคrellisen mรครคrรคn kertoja, eli jos tiedรคt kuinka monta kertaa haluat toistaa koodilohkon.
Tee samalla ja tee vessan รครคreen astiping lauseita kรคytetรครคn, kun haluat toistaa koodilohkoa, kunnes ehto muuttuu tosiksi tai epรคtosiksi, eli kun et ole tietoinen siitรค, kuinka monta kertaa haluat suorittaa koodilohkon.
Katsotaanpa nรคitรค vessanpรถnttรถjรคping lausunnot yksi kerrallaan.
VBScript Do While Loop
Jos et tiedรค, kuinka monta kertaa sinun on suoritettava koodilohko, kรคytรคt Do While -silmukoita. Esimerkiksi haluat tulostaa viestin "Tervetuloa", kun muuttujan x arvo on pienempi kuin 5. Tรคllรถin kรคytetรครคn Do While -silmukkaa.
<script type="text/vbscript"> Dim x x=1 Do While x<5 document.write("Welcome.") x=x+1 Loop </script>
Jos yritรคt suorittaa koodin, saat seuraavanlaisen tulosteen:
Lohko suoritetaan neljรค kertaa (kun x=1,2,3 ja 4) ja silmukka pรครคttyy, kun x:n arvosta tulee 5. Jos unohdat lauseen x=x+1, silmukastasi tulee loputon yksi. Tรคmรคntyyppiset silmukat tunnetaan nimellรค รครคrettรถmรคt silmukatLoputtomat silmukat voivat jopa kaataa jรคrjestelmรคn. Joten Do While -toimintoa kรคytettรคessรค...ping lauseita, sinun tulee varmistaa, ettรค on olemassa koodia, joka tekee vessastaping ehto totta jossain vaiheessa.
Jos annat muuttujalle x arvon 7 alussa, koodilohkoa ei suoriteta edes kerran. Oletetaan, ettรค haluat suorittaa koodilohkon vรคhintรครคn kerran ehdosta riippumatta, niin voit kรคyttรครค Do While -silmukkaa. Vaihda koodi seuraavasti:
VBScript-esimerkki:
<script type="text/vbscript"> Dim x x=7 Do document.write("Welcome.") x=x+1 Loop While x<5 </script>
Jos suoritat tรคmรคn koodin, saat viestin "Tervetuloa" vain kerran. Tรคssรค ehto tarkistetaan vasta silmukan kerran suorittamisen jรคlkeen.
VBScript Tee silmukkaan asti
'Do Until' -silmukkaa kรคytetรครคn myรถs silloin, kun et tiedรค, kuinka monta kertaa sinun on suoritettava koodilohko. Ensimmรคinen koodilohko Do Until -silmukassa (Do While x<5) vastaa alla annettua koodilohkoa.
<script type="text/vbscript"> Dim x x=1 Do Until x=5 document.write("Welcome.") x=x+1 Loop </script>
Tรคmรค antaa sinulle saman tulosteen kuin Do While -silmukan ensimmรคinen koodilohko. Nรคet tervetuloviestin neljรค kertaa. Samanlainen kuin Do โฆ..Loop While, meidรคn on myรถs tehtรคvรคโฆ Loop Until.
Jos haluat lopettaa Do While- tai Do Until -silmukan vรคlissรค, voit kรคyttรครค Exit Do -kรคskyรค. Oletetaan, ettรค haluat poistua lohkosta, kun x:n arvo tulee 3:ksi yllรค olevassa ohjelmassa, sinun on koodattava seuraavasti:
<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>
Jos suoritat koodin, tulos nรคyttรครค tรคltรค:
Tรคssรค silmukasta poistutaan, kun x:n arvosta tulee 3.
VBScript While Loop
WhileโฆWend-silmukka on samanlainen kuin Do While -silmukka, vaikka sitรค ei kรคytetรค yleisesti. As Do While on jรคsennellympi kuin Whileโฆ..Wend-silmukka, ohjelmoijat kรคyttรคvรคt yleensรค Do While -lauseita.
<script type="text/vbscript"> Dim x x = 1 While x < 5 document.write("Welcome.") x=x+1 Wend </script>
Tulos tulee olemaan
VBScript seuraavalle silmukalle
For-Next-silmukkaa voidaan kรคyttรครค koodilohkon suorittamiseen tietyn mรครคrรคn kertoja. "VBScript For loop" mรครคrittรครค laskurimuuttujan ja sen alku- ja loppuarvot. Next-lause lisรครค laskurin muuttujaa yhdellรค.
For i = 1 To 5 document.write("The number is " & i & " ") Next
Jos suoritat koodin, saat seuraavanlaisen tulosteen:
VBScript For-Step-Next Loop
Oletusarvon mukaan laskurimuuttujaa kasvatetaan yhdellรค. Jos haluat suurentaa tai pienentรครค laskurimuuttujaa mรครคrittรคmรคsi arvon verran, voit kรคyttรครค Forโฆ.Stepโฆ.Seuraava silmukka. Oletetaan, ettรค yllรค olevassa koodissa haluat kasvattaa laskuria kahdella ja muokata sitten koodiasi seuraavasti:
For i = 1 To 5 Step 2 document.write("The number is " & i & "<br />") Next </script>
Tรคmรคn koodin lรคhtรถ on:
Jos haluat poistua For Next- tai For Step Next -silmukasta vรคlissรค, voit kรคyttรครค lauseessa Exit-toimintoa. Oletetaan, ettรค haluat poistua lohkosta, kun i:n arvosta tulee 3 yllรค olevassa ohjelmassa, sinun on koodattava seuraavasti:
<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>
Tuotos on:
VBScript For-Each-Next Loop
Jos haluat toistaa koodilohkon jokaiselle kokoelman alkiolle tai jokaiselle VBS-taulukon elementille, sinun on kรคytettรคvรค ForโฆEachโฆNext-silmukkaa.
<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>
Yllรค mรครคritellyn koodin tulos on
Code esimerkki
<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>
Tallenna tiedosto nimellรค loop.html haluamaasi paikkaan. Avaa nyt tiedosto Internet Explorerissa ja saat ruudun, jossa sinua pyydetรครคn antamaan nimesi. Kirjoita nimi, sano Aaron nรคin:
Napsauta OK ja tuloste nรคyttรครค tรคltรค:




