VBScript - schleife in einer schleife
Hallo Leute,
Möchte in VBScript eine schleife in einer schleife ausführen....
Hier mein Ziel:
das ergebnis soll so sein:
hier mein code:
nur bekomme ich hier immer das ergebnis:
wo ist mein fehler?
Möchte in VBScript eine schleife in einer schleife ausführen....
Hier mein Ziel:
das ergebnis soll so sein:
1 start a
2 mitte b
3 ende c
2 mitte b
3 ende c
hier mein code:
option explicit
dim aussen, innen, test, zaehler, strInnen, test_innen
aussen = array("start", "mitte", "ende")
innen = array("a", "b", "c")
for each test in aussen
zaehler = zaehler + 1
for each test_innen in innen
strInnen = test_innen
next
wscript.echo zaehler & " " & test & " " & strInnen
Next
nur bekomme ich hier immer das ergebnis:
1 start c
2 mitte c
3 ende c
2 mitte c
3 ende c
wo ist mein fehler?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 159694
Url: https://administrator.de/contentid/159694
Ausgedruckt am: 23.11.2024 um 11:11 Uhr
2 Kommentare
Neuester Kommentar
Die inner Schleife wird ja komplett durchlaufen und die endet nun mal auf dem letzten Token (strInnen= c). D.h. insgesamt werden bei dieser Schleifen-Art 9 Ergebnisse erzielt außen(3) * innen(3), wenn das WScript.Echo in der Innen-Schleife stehen würde.
Wenn Du dieses Ergebnis
haben möchtest, dann entweder so Arrays 0-2 auslesen:
oder Arrays 1-3 auslesen (0 = Dummy = Leer):
oder 1 Array mit Step 2 in 2er Schritten auslesen:
Gruß Dieter
PS. oder auch so:
Wenn Du dieses Ergebnis
1 start a
2 mitte b
3 ende c
aussen = Array("start", "mitte", "ende")
innen = Array("a", "b", "c")
For i=0 To UBound(aussen)
WScript.Echo i + 1 & " " & aussen(i) & " " & innen(i)
Next
aussen = Array("", "start", "mitte", "ende")
innen = Array("", "a", "b", "c")
For i=1 To UBound(aussen)
WScript.Echo i & " " & aussen(i) & " " & innen(i)
Next
EinArray = Array("start", "a", "mitte", "b", "ende", "c")
For i=0 To UBound(EinArray) Step 2
WScript.Echo i + 1 & " " & EinArray(i) & " " & EinArray(i+1)
Next
Gruß Dieter
PS. oder auch so:
EinArray = Array(Array("start", "a"), Array("mitte", "b"), Array("ende", "c"))
For i = 0 To UBound(EinArray)
WScript.Echo i + 1 & " " & EinArray(i)(0) & " " & EinArray(i)(1)
Next