Loops VBScript: Do While, Do Until, While, For Each (exemplo)
Por que Loops são usados em VBScript?
Loops são usados para executar o mesmo bloco de código repetidamente. Existem várias instruções de loop VBScript. Algumas das instruções de loop do VBScript são Do While, Do Until, For…..Next e assim por diante. Então, como você decidirá qual instrução de loop usar para sua necessidade?
Ao executar os loops, você pode ou não estar ciente do número de vezes que deseja executar um conjunto de instruções. Por exemplo, você deseja calcular a soma de dois números dez vezes. Nesse caso, você já sabe que deseja repetir um bloco de código 10 vezes. Suponha que você queira calcular a soma de dois números até que uma variável específica se torne verdadeira. Aqui, você não sabe quantas vezes o loop será executado. Portanto, dependendo de você saber ou não o número de execuções, você pode usar diferentes tipos de instruções de loop.
As instruções de loop For…Next são usadas se você quiser repetir um bloco de código um número finito de vezes, ou se você souber o número de vezes se quiser repetir o bloco de código.
As instruções de loop Do While e Do Until são usadas quando você deseja repetir um bloco de código até que uma condição se torne verdadeira ou falsa, ou seja, quando você não tem conhecimento do número de vezes que deseja executar o bloco de código.
Vamos dar uma olhada nessas instruções em loop, uma por uma.
VBScript faz loop while
Se você não sabe quantas vezes precisa executar um bloco de código, estará usando loops Do While. Por exemplo, você deseja gerar a mensagem “Bem-vindo” enquanto o valor da variável x for menor que 5. Nesse caso, o loop Do While será usado.
<script type="text/vbscript"> Dim x x=1 Do While x<5 document.write("Welcome.") x=x+1 Loop </script>
Se você tentar executar o código, obterá uma saída como esta:
O bloco é executado quatro vezes (quando x = 1,2,3 e 4) e o loop termina quando o valor de x se torna 5. Se você esquecer a instrução x = x + 1, seu loop se tornará interminável. um. Este tipo de loop é conhecido como loops infinitos. Loops infinitos podem até travar seu sistema. Portanto, ao usar instruções de loop Do While, você deve certificar-se de que haja algum código que tornará a condição de loop verdadeira em um ponto ou outro.
Se você atribuir o valor 7 à variável x no início, o bloco de código não será executado nem uma vez. Suponha que você queira executar o bloco de código pelo menos uma vez, independentemente da condição, então você pode usar o loop Do While. Altere o código assim:
Exemplo de VBScript:
<script type="text/vbscript"> Dim x x=7 Do document.write("Welcome.") x=x+1 Loop While x<5 </script>
Se você executar este código, receberá a mensagem “Bem-vindo” apenas uma vez. Aqui a condição é verificada somente após a execução do loop uma vez.
VBScript fazer até loop
O loop 'Do Until' também é usado quando você não sabe quanto tempo precisa para executar um bloco de código. O primeiro bloco de código no loop Do Until (Do While x<5) é equivalente ao bloco de código fornecido abaixo.
<script type="text/vbscript"> Dim x x=1 Do Until x=5 document.write("Welcome.") x=x+1 Loop </script>
Isso lhe dará a mesma saída do primeiro bloco de código no loop Do While. Você verá a mensagem de boas-vindas quatro vezes. Semelhante a Do…..Loop While, temos que Do…Loop Until também.
Se quiser sair de um loop Do While ou Do Until intermediário, você pode usar a instrução Exit Do. Suponha que você queira sair do bloco quando o valor de x se tornar 3 no programa acima, então você precisa codificar assim:
<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>
Se você executar o código, sua saída ficará assim:
Aqui, o loop é encerrado quando o valor de x se torna 3.
VBScript durante o loop
O loop While…Wend é semelhante ao loop Do While, embora não seja usado comumente. Como Do While é mais estruturado do que o loop While…..Wend, os programadores geralmente usam instruções Do While.
<script type="text/vbscript"> Dim x x = 1 While x < 5 document.write("Welcome.") x=x+1 Wend </script>
A saída será
Loop For-Next VBScript
O loop For-Next pode ser usado para executar um bloco de código por um número específico de vezes. O “loop VBScript For” especifica a variável do contador e seus valores inicial e final. A instrução Next aumenta a variável do contador em um.
For i = 1 To 5 document.write("The number is " & i & " ") Next
Se você executar o código, obterá a saída assim:
Loop VBScript For-Step-Next
Por padrão, a variável do contador é incrementada em um. Se você deseja aumentar ou diminuir a variável do contador pelo valor especificado, você pode usar o loop For….Step….Next. Suponha que no código acima você queira incrementar o contador em 2 e, em seguida, modifique seu código assim:
For i = 1 To 5 Step 2 document.write("The number is " & i & "<br />") Next </script>
A saída deste código será:
Se quiser sair de um loop For Next ou For Step Next intermediário, você poderá usar Exit para a instrução. Suponha que você queira sair do bloco quando o valor de i se tornar 3 no programa acima, então você precisa codificar assim:
<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>
A saída será:
Loop VBScript para cada próximo
Se você deseja repetir um bloco de código para cada item em uma coleção ou para cada elemento de uma matriz VBS, então você precisa usar o loop 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>
A saída do código especificado acima será
Exemplo de Código
<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>
Salve o arquivo como loop.html no local de sua preferência. Agora abra o arquivo no Internet Explorer e você verá uma caixa solicitando que você insira seu nome. Digite um nome, digamos Aaron, assim:
Clique em OK e sua saída ficará assim:
Resumo
- Instruções de loop são usadas para executar o mesmo bloco de código repetidamente.
- Você usará os loops Do-While, Do-Until e While-Wend quando não souber antecipadamente quantas vezes o bloco será executado.
- Você usará os loops For-Next, For-Next-Step e For-Each-Next se já souber o número de vezes que precisa executar o bloco de código.