VBScript-Schleifen: Do While, Do Until, While, For Each (Beispiel)
Warum werden Schleifen in VBScript verwendet?
Schleifen werden verwendet, um denselben Codeblock immer wieder auszufรผhren. Es gibt eine Reihe von VBScript-Schleifenanweisungen. Einige der VBScript-Schleifenanweisungen sind Do While, Do Until, Forโฆ..Next und so weiter. Wie entscheiden Sie also, welche Schleifenanweisung Sie fรผr Ihren Bedarf verwenden?
Wรคhrend Sie die Schleifen ausfรผhren, wissen Sie mรถglicherweise nicht, wie oft Sie einen Satz von Anweisungen ausfรผhren mรถchten. Sie mรถchten beispielsweise die Summe zweier Zahlen zehnmal berechnen. In diesem Fall wissen Sie bereits, dass Sie einen Codeblock zehnmal wiederholen mรถchten. Angenommen, Sie mรถchten die Summe zweier Zahlen berechnen, bis eine bestimmte Variable wahr wird. In diesem Fall wissen Sie nicht, wie oft die Schleife ausgefรผhrt werden soll. Je nachdem, ob Sie die Anzahl der Ausfรผhrungen kennen oder nicht, kรถnnen Sie also unterschiedliche Arten von Schleifenanweisungen verwenden.
ForโฆNext-Schleifenanweisungen werden verwendet, wenn Sie einen Codeblock endlich oft wiederholen mรถchten, d. h. wenn Sie wissen, wie oft Sie den Codeblock wiederholen mรถchten.
Do While- und Do Until-Schleifenanweisungen werden verwendet, wenn Sie einen Codeblock wiederholen mรถchten, bis eine Bedingung wahr oder falsch wird, wenn Sie also nicht wissen, wie oft Sie den Codeblock ausfรผhren mรถchten.
Schauen wir uns diese Schleifenanweisungen einzeln an.
VBScript Do While-Schleife
Wenn Sie nicht wissen, wie oft Sie einen Codeblock ausfรผhren mรผssen, verwenden Sie Do While-Schleifen. Sie mรถchten beispielsweise die Nachricht โWillkommenโ ausgeben, wรคhrend der Wert der Variablen x kleiner als 5 ist. In diesem Fall wird die Do While-Schleife verwendet.
<script type="text/vbscript">
Dim x
x=1
Do While x<5
document.write("Welcome.")
x=x+1
Loop
</script>
Wenn Sie versuchen, den Code auszufรผhren, erhalten Sie die folgende Ausgabe:
Der Block wird viermal ausgefรผhrt (wenn x=1,2,3 und 4) und die Schleife endet, wenn der Wert von x 5 wird. Wenn Sie die Anweisung x=x+1 vergessen, wird Ihre Schleife zu einer Endlosschleife eins. Diese Art von Schleifen wird als bezeichnet Endlosschleifen. Endlosschleifen kรถnnten sogar Ihr System zum Absturz bringen. Wenn Sie also Do While-Schleifenanweisungen verwenden, sollten Sie sicherstellen, dass Code vorhanden ist, der die Schleifenbedingung an der einen oder anderen Stelle wahr macht.
Wenn Sie der Variablen x zu Beginn den Wert 7 zuweisen, wird der Codeblock kein einziges Mal ausgefรผhrt. Angenommen, Sie mรถchten den Codeblock unabhรคngig von der Bedingung mindestens einmal ausfรผhren, dann kรถnnen Sie die Do While-Schleife verwenden. รndern Sie den Code wie folgt:
VBScript-Beispiel:
<script type="text/vbscript">
Dim x
x=7
Do
document.write("Welcome.")
x=x+1
Loop While x<5
</script>
Wenn Sie diesen Code ausfรผhren, erhalten Sie nur einmal die Meldung โWillkommenโ. Hier wird die Bedingung erst nach einmaliger Ausfรผhrung der Schleife รผberprรผft.
VBScript Do Until-Schleife
Die โDo Untilโ-Schleife wird auch verwendet, wenn Sie nicht wissen, wie oft Sie einen Codeblock ausfรผhren mรผssen. Der erste Codeblock in der Do Until-Schleife (Do While x<5) entspricht dem unten angegebenen Codeblock.
<script type="text/vbscript">
Dim x
x=1
Do Until x=5
document.write("Welcome.")
x=x+1
Loop
</script>
Dadurch erhalten Sie die gleiche Ausgabe wie der erste Codeblock in der Do While-Schleife. Die Willkommensnachricht wird Ihnen viermal angezeigt. รhnlich wie bei โDo โฆ..Loop Whileโ mรผssen wir auch โDoโฆLoop Untilโ ausfรผhren.
Wenn Sie eine Do While- oder Do Until-Schleife dazwischen verlassen mรถchten, kรถnnen Sie die Exit Do-Anweisung verwenden. Angenommen, Sie mรถchten den Block verlassen, wenn der Wert von x im obigen Programm 3 wird, dann mรผssen Sie wie folgt programmieren:
<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>
Wenn Sie den Code ausfรผhren, sieht Ihre Ausgabe folgendermaรen aus:
Hier wird die Schleife verlassen, wenn der Wert von x 3 wird.
VBScript While-Schleife
While...Wend-Schleife รคhnelt der Do While-Schleife, wird jedoch nicht hรคufig verwendet. Da Do While strukturierter ist als die Whileโฆ..Wend-Schleife, verwenden Programmierer normalerweise Do While-Anweisungen.
<script type="text/vbscript">
Dim x
x = 1
While x < 5
document.write("Welcome.")
x=x+1
Wend
</script>
Die Ausgabe wird sein
VBScript For-Next-Schleife
Die For-Next-Schleife kann verwendet werden, um einen Codeblock fรผr eine bestimmte Anzahl von Malen auszufรผhren. Die โVBScript For-Schleifeโ gibt die Zรคhlervariable und ihre Start- und Endwerte an. Die Next-Anweisung erhรถht die Zรคhlervariable um eins.
For i = 1 To 5
document.write("The number is " & i & "
")
Next
Wenn Sie den Code ausfรผhren, erhalten Sie die Ausgabe wie folgt:
VBScript For-Step-Next-Schleife
Standardmรครig wird die Zรคhlervariable um eins erhรถht. Wenn Sie die Zรคhlervariable um den von Ihnen angegebenen Wert erhรถhen oder verringern mรถchten, kรถnnen Sie die Forโฆ.Stepโฆ.Next-Schleife verwenden. Angenommen, Sie mรถchten im obigen Code den Zรคhler um 2 erhรถhen und dann Ihren Code wie folgt รคndern:
For i = 1 To 5 Step 2
document.write("The number is " & i & "<br />")
Next
</script>
Die Ausgabe dieses Codes lautet:
Wenn Sie zwischendurch eine For Next- oder For Step Next-Schleife verlassen mรถchten, kรถnnen Sie Exit fรผr die Anweisung verwenden. Angenommen, Sie mรถchten den Block verlassen, wenn der Wert von i im obigen Programm 3 wird, dann mรผssen Sie wie folgt codieren:
<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>
Der Ausgang wird:
VBScript For-Each-Next-Schleife
Wenn Sie einen Codeblock fรผr jedes Element in einer Sammlung oder fรผr jedes Element eines VBS-Arrays wiederholen mรถchten, mรผssen Sie die ForโฆEachโฆNext-Schleife verwenden.
<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>
Die Ausgabe des oben angegebenen Codes erfolgt
Codebeispiel
<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>
Speichern Sie die Datei als loop.html an Ihrem gewรผnschten Ort. รffnen Sie die Datei nun im Internet Explorer. Sie erhalten ein Feld, in dem Sie Ihren Namen eingeben mรผssen. Geben Sie einen Namen ein, z. B. Aaron, wie folgt:
Klicken Sie auf OK und Ihre Ausgabe sieht folgendermaรen aus:
Zusammenfassung
- Schleifenanweisungen werden verwendet, um denselben Codeblock immer wieder auszufรผhren.
- Sie verwenden Do-While-, Do-Until- und While-Wend-Schleifen, wenn Sie nicht im Voraus wissen, wie oft der Block ausgefรผhrt werden soll.
- Sie verwenden die Schleifen For-Next, For-Next-Step und For-Each-Next, wenn Sie bereits wissen, wie oft Sie den Codeblock ausfรผhren mรผssen.




