Un ciclo serve a ripetere delle operazioni per un certo numero di volte, oppure finchè una certa condizione non avviene.
Il ciclo FOR - NEXT incrementa ad ogni ciclo una variabile. Quando questa variabile sarà arrivata ad una valore stabilito, il ciclo finirà.
<script language="VBScript">
<!--
Option Explicit
Dim i
For i=4 to 20
document.write i & "<br>"
next
//-->
</script>
Questo programma stampa i valori da 4
a 20 incolonnati.
Attraverso il parametro STEP, posso anche contare al contrario e con passi diversi:
<script language="VBScript">
<!--
Option Explicit
Dim i
For i=20 to 4 step -2
document.write i & "<br>"
next
//-->
</script>
Questo programma visualizzerà in numeri 20, 18, 16, 14, 12, 10, 8, 6, 4
Simile è il ciclo FOR - EACH. Questo ciclo si basa su un insieme di oggetti e viene ripetuto per ogni elemento dell'insieme.
In questo esempio viene usato un vettore. Dopo essere stato dichiarato e riempito, attraverso un ciclo For Each viene visualizzato:
<script language="VBScript">
<!--
Option Explicit
Dim vettore(5),elemento
vettore(0)="Html"
vettore(1)="Asp"
vettore(2)="Php"
vettore(3)="JavaScript"
vettore(4)="VBScript"
for each elemento in vettore
document.write elemento & "<br>"
next
//-->
</script>
Il ciclo DO LOOP viene ripetuto finchè una condizione non diventa falsa. Il codice seguente viene ripetuto finchè non è trascorso un secondo da quando parte. Ad ogni ciclo incrementa la variabile conta. É un modo per apprezzare le qualità del proprio computer!
<script language="VBScript">
<!--
Option Explicit
dim TempoStart, TempoEnd, conta
conta=0
TempoStart=now()
TempoEnd=now()+1/(100000)
do While now()<=TempoEnd
conta=conta+1
loop
document.write "Il ciclo si è ripetuto " & conta & " volte"
document.write " in 1 secondo"
//-->
</script>
Se la condizione non è mai verificata, il ciclo non è eseguito neanche una volta. Spostando la condizione al fondo, viene eseguito il test e poi verificata la condizione.
Nel seguente esempio la parola "Test Until" viene visualizzata anche se la condizione è falsa.
<script language="VBScript">
<!--
Option Explicit
dim a
a=10
do
document.write "Test Until"
loop While a < 0
//-->
</script>
I cicli possono essre anche annidati. Nel codice seguente visualizziamo il contenuto di una matrice.
<script language="VBScript">
<!--
Option Explicit
dim cRighe,cColonne, matrice(3,2)
matrice (1,1)=1
matrice (2,1)=2
matrice (3,1)=3
matrice (1,2)=4
matrice (2,2)=5
matrice (3,2)=6
for cRighe=1 to 3
for cColonne=1 to 2
document.write matrice(cRighe,cColonne) & " "
next
document.write "<br>"
next
//-->
</script>