In For-Schleife 2 Variablen hochzählen
Mannix
- vb-script
Hallo zusammen,
ich würde gerne in einer For-Schleife 2 unterschiedliche Variablen in unterschiedlicher Schrittgröße hochzählen. In Java hab ich das schon mal gesehen, ungefähr so: for (i=0,j=0;i<10,j<20;i++,j+2). Geht das auch in VBScript?
Gruß Mannix
ungefähr so: for (i=0,j=0;i<10,j<20;i++,j+2).
^ ^
Ungefähr. Zwischen i<10 und j<20 sollte wohl ein logische Operation stehen: && oder ||. Und hinten willst du j einen neuen Wert zuweisen: j+=2 (oder j=j+2).
Geht das auch in VBScript?
Wieso nicht? Die eine ist deine Schleifenvariable, die zweite zählst du in der Schleife hoch. Brauchste nur noch evtl. innerhalb der Schleife eine Abbruchbedingung, wenn sich die Variablen unabhängig voneinander ändern können und die zweite Variable ihre Abbruchbedingung zuerst erreichen sollet.
Gunnar
Geht das auch in VBScript?
Wieso nicht? Die eine ist deine Schleifenvariable, die zweite zählst du in der Schleife hoch. Brauchste nur noch evtl. innerhalb der Schleife eine Abbruchbedingung, wenn sich die Variablen unabhängig voneinander ändern können und die zweite Variable ihre Abbruchbedingung zuerst erreichen sollet.
Gunnar
Und wie sieht das dann in VBScript aus? Die Syntax ist mir nicht klar.
Und wie sieht das dann in VBScript aus? Die Syntax ist mir nicht klar.
Mir auch nicht ohne Nachzulesen. Ich bin mir auch nicht sicher, ob es exit in VB gibt.
Und Franks Lösung https://forum.selfhtml.org/?t=90791&m=544967 ist sauberer.
Wenn sich deine Variablen allerdings wie in deinem Beispiel gemeinsam ändern, reicht eine Abbruchbedingung aus:
for (i=0, j=0; i<10; i++, j+=2)
Das geht dann auch in VB mit einer for-Schleife:
j=0
for i=0 to 9
' Anweisungen
j=j+2
next i
Gunnar
Hallo Mannix,
ich würde gerne in einer For-Schleife 2 unterschiedliche Variablen in unterschiedlicher Schrittgröße hochzählen. In Java hab ich das schon mal gesehen, ungefähr so: for (i=0,j=0;i<10,j<20;i++,j+2). Geht das auch in VBScript?
Die Syntax, siehe (bewußt kein anklickbarer Link [1])
http://msdn.microsoft.com/library/default.asp?url=/Flibrary/en-us/Fscript56/html/vsstmfor.asp
von 'for' scheint es nicht zu unterstützen. Du musst es also händig tun, wie Gunnar es in https://forum.selfhtml.org/?t=90791&m=544931 beschreibt.
Freundliche Grüsse,
Vinzenz
[1] Mir ist auch nach Lektüre von http://forum.de.selfhtml.org/archiv/2003/2/37011/#m202958 nicht klar geworden, wie ich anklickbare und dennoch funktionierende Links auf die MSDN setzen kann :-(
Hallo Vinzenz.
[1] Mir ist auch nach Lektüre von http://forum.de.selfhtml.org/archiv/2003/2/37011/#m202958 nicht klar geworden, wie ich anklickbare und dennoch funktionierende Links auf die MSDN setzen kann :-(
Bitte schön:
http://msdn.microsoft.com/library/en-us/script56/html/vsstmfor.asp
Hint 1:
1. Rechtsklick im Inhaltsframe auf das gewünschte Thema
2. "Verknüpfung kopieren" auswählen
3. In ein <> einfügen
Disclaimer:
Wer das MSDN mit einem anderen Browser als dem IE besucht, ist entweder Masochist oder selber schuld oder beides ;)
Freundschaft!
Siechfred
Danke, Siechfred!
- Rechtsklick im Inhaltsframe auf das gewünschte Thema
Da hätte ich selbst drauf kommen müssen :-(
- "Verknüpfung kopieren" auswählen
- In ein <> einfügen
Wer das MSDN mit einem anderen Browser als dem IE besucht, ist entweder Masochist oder selber schuld oder beides ;)
Das ist einer der wenigen Fälle, für die ich den IE verwende :-)
Freundliche Grüsse,
Vinzenz
Hi,
vielleicht nicht unbedingt mithilfe von <for> da die VB Syntax nicht
passt. Aber du könntest das mit einer anderen _Schleife_ machen:
dim i, j
i = 0
j = 0
do while (i<10) AND (j<20)
i = i + 1
j = j + 2
'...
loop
Ciao, Frank
Vielen Dank Leute, hab es jetzt mit ner "do while"-Schleife gemacht (danke Frank). Hätte ich auch selbst drauf kommen können