VBScript petlje: Do While, Do Until, While, For Every (primjer)
Zaลกto se petlje koriste u VBScriptu?
Petlje se koriste za ponovno i ponovno izvrลกavanje istog bloka koda. Postoji niz VBScript izjava o petlji. Neke od naredbi VBScript petlje su Do While, Do Until, Forโฆ..Next i tako dalje. Dakle, kako ฤete odluฤiti koju naredbu petlje koristiti za svoje potrebe?
Dok izvrลกavate petlje, moลพete, ali ne morate biti svjesni koliko puta ลพelite izvrลกiti skup instrukcija. Na primjer, ลพelite izraฤunati zbroj dvaju brojeva deset puta. U ovom sluฤaju veฤ znate da ลพelite ponoviti blok koda 10 puta. Pretpostavimo da ลพelite izraฤunati zbroj dvaju brojeva dok odreฤena varijabla ne postane istinita. Ovdje ne znate koliko puta se petlja treba izvrลกiti. Dakle, ovisno o tome znate li ili ne znate broj izvrลกenja, moลพete koristiti razliฤite vrste naredbi petlje.
ForโฆNext naredbe petlje koriste se ako ลพelite ponoviti blok koda konaฤan broj puta, odnosno ako znate broj puta ako ลพelite ponoviti blok koda.
Izjave petlje Do While i Do Until koriste se kada ลพelite ponavljati blok koda dok uvjet ne postane istinit ili netoฤan, to jest kada niste svjesni koliko puta ลพelite izvrลกiti blok koda.
Pogledajmo ove izjave petlje jednu po jednu.
VBScript Do While petlja
Ako ne znate koliko puta trebate izvrลกiti blok koda, tada ฤete koristiti Do While petlje. Na primjer, ลพelite poslati poruku "Dobrodoลกli" dok je vrijednost varijable x manja od 5. U tom sluฤaju koristit ฤe se Do While petlja.
<script type="text/vbscript">
Dim x
x=1
Do While x<5
document.write("Welcome.")
x=x+1
Loop
</script>
Ako pokuลกate izvrลกiti kod, dobit ฤete rezultat poput ovog:
Blok se izvrลกava ฤetiri puta (kada je x=1,2,3 i 4) i petlja zavrลกava kada vrijednost x postane 5. Ako zaboravite naredbu x=x+1, vaลกa ฤe petlja postati beskrajna jedan. Ova vrsta petlji poznata je kao beskonaฤne petlje. Beskonaฤne petlje mogle bi ฤak i sruลกiti vaลก sustav. Dakle, dok koristite izjave petlje Do While, trebali biste se pobrinuti da postoji neki kod koji ฤe uvjet petlje uฤiniti istinitim u jednom ili drugom trenutku.
Ako varijabli x na poฤetku dodijelite vrijednost 7, tada se blok koda neฤe izvrลกiti niti jednom. Pretpostavimo da ลพelite izvrลกiti blok koda barem jednom bez obzira na uvjet, tada moลพete koristiti Do While petlju. Promijenite kรดd ovako:
Primjer VBScripta:
<script type="text/vbscript">
Dim x
x=7
Do
document.write("Welcome.")
x=x+1
Loop While x<5
</script>
Ako izvrลกite ovaj kod, dobit ฤete poruku "Dobrodoลกli" samo jednom. Ovdje se uvjet provjerava tek nakon jednog izvoฤenja petlje.
VBScript Do Until petlja
Petlja 'Do Until' takoฤer se koristi kada ne znate koliko vam je vremena potrebno za izvoฤenje bloka koda. Prvi blok koda u petlji Do Dok (Do Dok x<5) ekvivalentan je donjem bloku koda.
<script type="text/vbscript">
Dim x
x=1
Do Until x=5
document.write("Welcome.")
x=x+1
Loop
</script>
To ฤe vam dati isti izlaz kao i prvi blok koda u Do While petlji. Vidjet ฤete poruku dobrodoลกlice ฤetiri puta. Sliฤno Do โฆ..Loop While, moramo takoฤer DoโฆLoop Until.
Ako ลพelite izaฤi iz petlje Do While ili Do Until izmeฤu njih, tada moลพete upotrijebiti naredbu Exit Do. Pretpostavimo da ลพelite izaฤi iz bloka kada vrijednost x postane 3 u gornjem programu, tada trebate kodirati ovako:
<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>
Ako izvrลกite kod, vaลก ฤe izlaz izgledati ovako:
Ovdje se iz petlje izlazi kada vrijednost x postane 3.
VBScript while petlja
WhileโฆWend petlja sliฤna je Do While petlji iako se ne koristi ฤesto. Kako je Do While viลกe strukturiran od Whileโฆ..Wend petlje, programeri obiฤno koriste Do While izjave.
<script type="text/vbscript">
Dim x
x = 1
While x < 5
document.write("Welcome.")
x=x+1
Wend
</script>
Izlaz ฤe biti
VBScript za sljedeฤu petlju
For-Next petlja moลพe se koristiti za izvrลกavanje bloka koda odreฤeni broj puta. โVBScript For petljaโ navodi varijablu brojaฤa i njezinu poฤetnu i krajnju vrijednost. Naredba Next poveฤava varijablu brojaฤa za jedan.
For i = 1 To 5
document.write("The number is " & i & "
")
Next
Ako izvrลกite kod, dobit ฤete izlaz poput ovog:
VBScript za-korak-sljedeฤa petlja
Prema zadanim postavkama, varijabla brojaฤa se poveฤava za jedan. Ako ลพelite poveฤati ili smanjiti varijablu brojaฤa za vrijednost koju navedete, tada moลพete koristiti Forโฆ.Stepโฆ.Next petlju. Pretpostavimo da u gornjem kodu ลพelite poveฤati brojaฤ za 2, a zatim izmijenite svoj kod ovako:
For i = 1 To 5 Step 2
document.write("The number is " & i & "<br />")
Next
</script>
Izlaz ovog koda bit ฤe:
Ako ลพelite izaฤi iz petlje For Next ili For Step Next izmeฤu, tada moลพete koristiti Exit za izjavu. Pretpostavimo da ลพelite izaฤi iz bloka kada vrijednost i postane 3 u gornjem programu, tada trebate kodirati ovako:
<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>
Izlaz ฤe biti:
VBScript petlja za svaki sljedeฤi
Ako ลพelite ponoviti blok koda za svaku stavku u kolekciji ili za svaki element VBS niza, tada trebate koristiti ForโฆEachโฆNext petlju.
<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>
Izlaz gore navedenog koda bit ฤe
Primjer koda
<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>
Spremite datoteku kao loop.html na ลพeljenu lokaciju. Sada otvorite datoteku u Internet Exploreru i dobit ฤete okvir u koji se od vas traลพi da unesete svoje ime. Unesite ime, recimo Aaron, ovako:
Kliknite OK i vaลก ฤe rezultat izgledati ovako:
Rezime
- Izjave petlje koriste se za ponovno i ponovno izvrลกavanje istog bloka koda.
- Koristit ฤete Do-While, Do-Until i While-Wend petlje kada ne znate unaprijed koliko puta blok treba biti izvrลกen.
- Koristit ฤete petlje For-Next, For-Next-Step i For-Each-Next ako veฤ znate koliko puta trebate izvrลกiti blok koda.




