Boucles VBScript : faire pendant, faire jusqu'à, pendant, pour chaque (exemple)
Pourquoi les boucles sont utilisées dans VBScript ?
Les boucles sont utilisées pour exécuter le même bloc de code encore et encore. Il existe un certain nombre d'instructions de boucle VBScript. Certaines des instructions de boucle VBScript sont Do While, Do Until, For…..Next et ainsi de suite. Alors, comment déciderez-vous quelle instruction de boucle utiliser pour vos besoins ?
Lors de l'exécution des boucles, vous pouvez ou non être conscient du nombre de fois où vous souhaitez exécuter un ensemble d'instructions. Par exemple, vous souhaitez calculer dix fois la somme de deux nombres. Dans ce cas, vous savez déjà que vous souhaitez répéter un bloc de code 10 fois. Supposons que vous souhaitiez calculer la somme de deux nombres jusqu'à ce qu'une variable particulière devienne vraie. Ici, vous ne savez pas combien de fois la boucle doit être exécutée. Ainsi, selon que vous connaissez ou non le nombre d'exécutions, vous pouvez utiliser différents types d'instructions en boucle.
Les instructions de boucle For…Next sont utilisées si vous souhaitez répéter un bloc de code un nombre fini de fois, ou si vous connaissez le nombre de fois si vous souhaitez répéter le bloc de code.
Les instructions en boucle Do While et Do Until sont utilisées lorsque vous souhaitez répéter un bloc de code jusqu'à ce qu'une condition devienne vraie ou fausse, c'est-à-dire lorsque vous ne connaissez pas le nombre de fois que vous souhaitez exécuter le bloc de code.
Jetons un coup d'œil à ces instructions en boucle une par une.
Boucle VBScript Do While
Si vous ne connaissez pas le nombre de fois dont vous avez besoin pour exécuter un bloc de code, vous utiliserez alors les boucles Do While. Par exemple, vous souhaitez afficher le message « Bienvenue » alors que la valeur de la variable x est inférieure à 5. Dans ce cas, la boucle Do While sera utilisée.
<script type="text/vbscript"> Dim x x=1 Do While x<5 document.write("Welcome.") x=x+1 Loop </script>
Si vous essayez d'exécuter le code, vous obtiendrez le résultat suivant :
Le bloc est exécuté quatre fois (quand x=1,2,3 et 4) et la boucle se termine lorsque la valeur de x devient 5. Si vous oubliez l'instruction x=x+1, alors votre boucle deviendra une boucle sans fin. un. Ce type de boucles est connu sous le nom de boucles infinies. Des boucles infinies pourraient même faire planter votre système. Ainsi, lorsque vous utilisez les instructions de boucle Do While, vous devez vous assurer qu'il existe du code qui rendra la condition de boucle vraie à un moment ou à un autre.
Si vous attribuez la valeur 7 à la variable x au début, le bloc de code ne sera pas exécuté une seule fois. Supposons que vous souhaitiez exécuter le bloc de code au moins une fois quelle que soit la condition, vous pouvez alors utiliser la boucle Do While. Changez le code comme ceci :
Exemple de script VB :
<script type="text/vbscript"> Dim x x=7 Do document.write("Welcome.") x=x+1 Loop While x<5 </script>
Si vous exécutez ce code, vous recevrez le message « Bienvenue » une seule fois. Ici, la condition n'est vérifiée qu'après avoir exécuté la boucle une fois.
VBScript faire jusqu'à la boucle
La boucle « Do Until » est également utilisée lorsque vous ne connaissez pas le nombre de fois dont vous avez besoin pour exécuter un bloc de code. Le premier bloc de code dans la boucle Do Until (Do While x<5) est équivalent au bloc de code donné ci-dessous.
<script type="text/vbscript"> Dim x x=1 Do Until x=5 document.write("Welcome.") x=x+1 Loop </script>
Cela vous donnera le même résultat que le premier bloc de code de la boucle Do While. Vous verrez le message de bienvenue quatre fois. Semblable à Do…..Loop While, nous devons également Do…Loop Until.
Si vous souhaitez quitter une boucle Do While ou Do Until entre les deux, vous pouvez utiliser l'instruction Exit Do. Supposons que vous souhaitiez quitter le bloc lorsque la valeur de x devient 3 dans le programme ci-dessus, vous devez alors coder comme ceci :
<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>
Si vous exécutez le code, votre résultat ressemblera à ceci :
Ici, la boucle est quittée lorsque la valeur de x devient 3.
Boucle While VBScript
La boucle While… Wend est similaire à la boucle Do While bien qu’elle ne soit pas couramment utilisée. Comme Do While est plus structuré que la boucle While…..Wend, les programmeurs utilisent généralement les instructions Do While.
<script type="text/vbscript"> Dim x x = 1 While x < 5 document.write("Welcome.") x=x+1 Wend </script>
La sortie sera
Boucle VBScript For-Next
La boucle For-Next peut être utilisée pour exécuter un bloc de code un nombre de fois spécifique. La «boucle For VBScript» spécifie la variable compteur et ses valeurs de début et de fin. L'instruction Next augmente la variable compteur de un.
For i = 1 To 5 document.write("The number is " & i & " ") Next
Si vous exécutez le code, vous obtiendrez le résultat comme ceci :
Boucle VBScript For-Step-Next
Par défaut, la variable compteur est incrémentée de un. Si vous souhaitez augmenter ou diminuer la variable du compteur de la valeur que vous spécifiez, vous pouvez utiliser la boucle For….Step….Next. Supposons que dans le code ci-dessus, vous souhaitiez incrémenter le compteur de 2, puis modifier votre code comme ceci :
For i = 1 To 5 Step 2 document.write("The number is " & i & "<br />") Next </script>
La sortie de ce code sera:
Si vous souhaitez quitter une boucle For Next ou For Step Next entre les deux, vous pouvez utiliser Exit pour l'instruction. Supposons que vous souhaitiez quitter le bloc lorsque la valeur de i devient 3 dans le programme ci-dessus, vous devez alors coder comme ceci :
<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>
La sortie sera:
Boucle VBScript For-Each-Next
Si vous souhaitez répéter un bloc de code pour chaque élément d'une collection ou pour chaque élément d'un tableau VBS, vous devez alors utiliser la boucle For…Each…Next.
<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>
La sortie du code spécifié ci-dessus sera
Exemple de code
<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>
Enregistrez le fichier sous loop.html à votre emplacement préféré. Ouvrez maintenant le fichier dans Internet Explorer et vous obtiendrez une boîte vous demandant de saisir votre nom. Entrez un nom, dites Aaron, comme ceci :
Cliquez sur OK et votre résultat ressemblera à ceci :
Résumé
- Les instructions de bouclage sont utilisées pour exécuter le même bloc de code encore et encore.
- Vous utiliserez les boucles Do-While, Do-Until et While-Wend lorsque vous ne savez pas à l'avance combien de fois le bloc doit être exécuté.
- Vous utiliserez les boucles For-Next, For-Next-Step et For-Each-Next si vous connaissez déjà le nombre de fois dont vous avez besoin pour exécuter le bloc de code.