Ich muss eine bedingte For...Next
Schleife in meinem VBScript erstellen und es muss mehrere (Hier brauche ich fünf) Unterbedingungen in es, die Verhalten der Schleife steuern können.Bedingt für Schleifen in VBScript
Hier ist meine aktuellen Code:
TOTAL_1 = 1
TOTAL_2 = 2
TOTAL_3 = 3
TOTAL_4 = 4
TOTAL_5 = 5 '<< Those are values of sub "To" conditions
TOTAL = TOTAL_1 + TOTAL_2 + TOTAL_3 + TOTAL_4 + TOTAL_5 '<< Total value of main "To" condition
For I = 1 To TOTAL
If I = 1 Then WScript.Echo "Currently in Set 1" '<< For sub condition TOTAL_1
If I = 2 Then WScript.Echo "Currently in Set 2"
If I = 3 Then WScript.Echo "Currently in Set 2" '<< For sub condition TOTAL_2
If I = 4 Then WScript.Echo "Currently in Set 3"
If I = 5 Then WScript.Echo "Currently in Set 3"
If I = 6 Then WScript.Echo "Currently in Set 3" '<< For sub condition TOTAL_3
If I = 7 Then WScript.Echo "Currently in Set 4"
If I = 8 Then WScript.Echo "Currently in Set 4"
If I = 9 Then WScript.Echo "Currently in Set 4"
If I = 10 Then WScript.Echo "Currently in Set 4" '<< For sub condition TOTAL_4
If I = 11 Then WScript.Echo "Currently in Set 5"
If I = 12 Then WScript.Echo "Currently in Set 5"
If I = 13 Then WScript.Echo "Currently in Set 5"
If I = 14 Then WScript.Echo "Currently in Set 5"
If I = 15 Then WScript.Echo "Currently in Set 5" '<< For sub condition TOTAL_5
Next
Obwohl obige Code funktioniert, muss ich jedesmal, wenn ich Werte von Unter Bedingungen For-Schleife ändern wie
TOTAL_1 = 20, TOTAL_4 = 8
Diese For-Schleife ändern sollte 15 ausführen Zeiten wie in Variable TOTAL
zugewiesen, aber gerade Wert von I
ändert sich in der Schleife, sollte es überprüfen, was die Sub-Bedingung derzeit I
gehört und dann die gleiche Arbeit (hier eine gleiche Nachricht anzeigen) bis Wert von I
gehört zur nächsten Unterbedingung.
Wenn ich Wert von Unter Zustand ändern TOTAL_1
als 5, ich brauche in diesem For-Schleife folgende Änderung vornehmen:
If I = 1 Then WScript.Echo "Currently in Set 1"
If I = 2 Then WScript.Echo "Currently in Set 1"
If I = 3 Then WScript.Echo "Currently in Set 1"
If I = 4 Then WScript.Echo "Currently in Set 1"
If I = 5 Then WScript.Echo "Currently in Set 1" '<< For changed sub condition TOTAL_1
Ich brauche auch mehr Unter Bedingungen wie TOTAL_6
, TOTAL_7
hinzufügen ... in Zukunft.
Wie kann ich dies tun, ohne jedes Mal die for-Schleife zu ändern, und wie kann ich willkürliche Zeilen aus diesem Code entfernen, wodurch dieser kleiner wird?
Klicken Sie auf "Fall auswählen", da dies den Code für Sie verkürzen kann. Siehe das Beispiel am Ende dieses Links: https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/statements/select-case-statement –
@PaulT. Das ist sehr nützlich, egal, dass diese Schleife in VBScript existiert. – GTAVLover