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:

VBScript Do While petlja

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:

VBScript Do Until petlja

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 while petlja

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 sljedeฤ‡u petlju

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:

VBScript za-korak-sljedeฤ‡a petlja

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 za-korak-sljedeฤ‡a petlja

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

VBScript petlja za svaki sljedeฤ‡i

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:

VBScript petlja za svaki sljedeฤ‡i

Kliknite OK i vaลก ฤ‡e rezultat izgledati ovako:

VBScript petlja za svaki sljedeฤ‡i

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.

Saลพmite ovu objavu uz: