# Difference between revisions of "OPTION BASE"

imported>Stylin (updated to new blueprint, added descriptions and examples) |
imported>Clippy m |
||

Line 3: | Line 3: | ||

{{PageSyntax}} | {{PageSyntax}} | ||

:<code>{{KW|OPTION BASE}} 0|1</code> | :<code>{{KW|OPTION BASE}} {0|1}</code> | ||

{{PageDescription}} | {{PageDescription}} | ||

* This statement affects array declarations where the lower bound of a dimension is not specified. See {{KW|DIM}}, {{KW|REDIM}}, {{KW|STATIC}}, {{KW|COMMON}}. | * This statement affects array declarations where the lower bound of a dimension is not specified. See {{KW|DIM}}, {{KW|REDIM}}, {{KW|STATIC}}, {{KW|COMMON}}. | ||

* By default, the lower bound for arrays is zero, and may be changed to one | * When used {{KW|OPTION BASE}} must be used before any array declarations ({{KW|DIM}}). | ||

* By default, the lower bound for arrays is zero, and may be changed to one using the statement. | |||

* Otherwise, arrays will be dimensioned from element 0 if you DIM just the upper bounds. | * Otherwise, arrays will be dimensioned from element 0 if you DIM just the upper bounds. | ||

* | * You can also set other array boundaries by using {{KW|TO}} in the DIM such as: DIM array(5 TO 10) | ||

Line 26: | Line 26: | ||

{{CodeStart}}' Set the default lower bound for array declarations to zero. This statement has no real effect, | {{CodeStart}}' Set the default lower bound for array declarations to zero. This statement has no | ||

' real effect, but it may be useful to emphasize the default behavior in order to eliminate | |||

'any chance of confusion. | |||

{{Cl|OPTION BASE}} 0 | {{Cl|OPTION BASE}} 0 | ||

## Revision as of 17:44, 1 March 2010

The OPTION BASE statement is used to set the default lower bound of arrays.

## Syntax

`OPTION BASE {0|1}`

## Description

- This statement affects array declarations where the lower bound of a dimension is not specified. See DIM, REDIM, STATIC, COMMON.
- When used OPTION BASE must be used before any array declarations (DIM).
- By default, the lower bound for arrays is zero, and may be changed to one using the statement.
- Otherwise, arrays will be dimensioned from element 0 if you DIM just the upper bounds.
- You can also set other array boundaries by using TO in the DIM such as: DIM array(5 TO 10)

## Examples

' Set the default lower bound for array declarations to one. OPTION BASE 1 ' Declare a 5-element one-dimensional array with element indexes of one through five. DIM array(5) AS INTEGER PRINT LBOUND(array)

1

' Set the default lower bound for array declarations to zero. This statement has no ' real effect, but it may be useful to emphasize the default behavior in order to eliminate 'any chance of confusion. OPTION BASE 0 ' Declare an 18-element two-dimensional array with element indexes of zero through two for the first dimension, ' and 10 through 15 for the second dimension. DIM array(2, 10 to 15) AS INTEGER PRINT LBOUND(array, 1) PRINT LBOUND(array, 2)

0 10

*Alternative:* DIM arrays using upper and lower bounds as shown:

- DIM Array(1 TO 200)

## See also

*Navigation:*