View Categories

FOR

//Scriptfunktion 'FOR NEXT'
//Zählende Schleife von START bis einschließlich ENDE. Ohne STEP wird um 1 erhöht.
//Optional sind STEP, negative Schrittweiten und variable Grenzen möglich.

T1="10000"
T2="20000"
OUTER_PAUSE="5000"
INNER_MAX="1"

// Äußere FOR-NEXT-Schleife
FOR{OUTER=1 TO {T1}}

	RES=DLGPROCESS{FOR-NEXT-Demo Lauf 1,{OUTER} von {T1},{T1},{OUTER},True}

	IFBLOCK{OUTER={OUTER_Pause}}

		// Innere FOR-NEXT-Schleife
		FOR{INNER=1 TO {T2}}

			DO_1="0"

			// DO-LOOP Ebene 1
			DO{}
				DO_1=SUM{{DO_1}+1}
				DO_2="0"

				// DO-LOOP Ebene 2
				DO{}
					DO_2=SUM{{DO_2}+1}
					DO_3="0"

					// DO-LOOP Ebene 3
					DO{}
						DO_3=SUM{{DO_3}+1}
						DO_4="0"

						// DO-LOOP Ebene 4
						DO{}
							DO_4=SUM{{DO_4}+1}
							DO_5="0"

							// DO-LOOP Ebene 5
							DO{}
								DO_5=SUM{{DO_5}+1}

								RES=DLGPROCESS{FOR-NEXT-Demo Lauf 2,{Inner} von {T2}{RET}Zusätzliche DO-LOOP-Verschachtelung: Ebene 5,{T2},{Inner},True}

								IFBLOCK{DO_5={INNER_MAX}}
									EXIT{}
								ENDIF
							LOOP{}

							IFBLOCK{DO_4={INNER_MAX}}
								EXIT{}
							ENDIF
						LOOP{}

						IFBLOCK{DO_3={INNER_MAX}}
							EXIT{}
						ENDIF
					LOOP{}

					IFBLOCK{DO_2={INNER_MAX}}
						EXIT{}
					ENDIF
				LOOP{}

				IFBLOCK{DO_1={INNER_MAX}}
					EXIT{}
				ENDIF
			LOOP{}

		NEXT{}

		// Nach Lauf 2 wieder Lauf 1 anzeigen
		RES=DLGPROCESS{FOR-NEXT-Demo Lauf 1,{OUTER} von {T1},{T1},{OUTER},True}

	ENDIF

NEXT{}

// FortschriT1sdialog schließen
RES=DLGPROCESS{,,,,False}

DLG=DLGMESSAGE{{MSG}FOR-NEXT-Demo erfolgreich abgeschlossen.{RET}{RET}Lauf 1: {T1} Durchläufe{RET}Lauf 2: {T2} Durchläufe{RET}Zusätzliche DO-LOOP-Verschachtelung: 5 Ebenen}