FOR ... NEXT, CONTINUE, EXIT FOR
Syntax
Arguments
- Variable_Name
The name of the numeric variable that counts iterations through the loop.
- Start_Value
The initial value of Variable_Name.
- End_Value
When Variable_Name exceeds End_Value the loop ends.
- Increment_Value
Optional. Default = 1. An value equal to 0 will cause a permanent loop. When Start_Value exceeds End_Value the STEP argument must be used with an negative Increment_Value.
Description
Repeats a series of Xbasic statements a specified number of times.
Discussion
FOR ... NEXT is used to repeat a series of Xbasic statements a specified number of times. The statements inside a FOR loop, between the FOR and NEXT statements, are executed ( Start_Value - End_Value ) / Increment_Value times or until an EXIT FOR statement is reached. Each FOR ... NEXT statement parameter must be an integer value. The counter or iterator is a numeric variable ( Variable_Name ) that is changed each time the loop is repeated. By default, the counter variable is incremented by 1 from the Start Value to the End_Value, where Start_Value is less than or equal to End_Value. When the End_Value is reached or when End_Value is zero (0), the loop terminates. To change the amount by which the counter variable is incremented, add the STEP statement and an Increment Value. The Increment_Value must be an integer greater than or equal to 1, or less than or equal to -1. For example, to count through the odd numbers from 1 to 10, use the following statement:
FOR i = 1 TO 10 STEP 2 trace.writeln( STR(i) ) NEXT
When including a negative Increment_Value (e.g., -1) the Start_Value and End_Value should be reversed, to proceed from a higher value to a lower value.
FOR i = 10 TO 1 STEP -2 trace.writeln( STR(i) ) NEXT
Adding the counter VariableName after the NEXT statement is necessary only when working with two or more nested FOR ... NEXT loops.
FOR x = 1 TO 50 FOR y = 1 TO 50 trace.writeln( "x:" + ltrim( str(x) ) + " y:" + ltrim( str(y) ) ) NEXT y NEXT x
Example
This script counts down from 10 to 1.
trace.writeln("Count down...") FOR i = 10 TO 1 STEP -1 trace.writeln( LTRIM( STR(i) ) ) NEXT trace.writeln("Blastoff!!!")
See Also