SELECT
SELECT [ CASE ] Expression
[ CASE [ Expression ] [ TO Expression #2 ] [ , ... ]
... ]
[ CASE [ Expression ] [ TO Expression #2 ] [ , ... ]
... ]
[ CASE LIKE Expression [ , ... ]
... ]
[ { CASE ELSE | DEFAULT }
... ]
END SELECT
Selects an expression to compare, and execute the code enclosed in the corresponding matching
CASE
statement.
If no
CASE
statement matches, the
DEFAULT
or
CASE ELSE
statement is executed.
A
CASE
statement is a list of single values or interval of two values separated by the
TO
keyword.
The first expression is optional:
CASE TO Expression
will match all values up to
Expression.
Expressions can be a comma separated list, Eg:
CASE "A", "B", "C"
Finally, you can match against a regular expression with the
CASE LIKE
syntax.
Note
The
TO
keyword can also be used without a lower bound which makes the case like a
less than
range. For example.
CASE TO 0
will act as
CASE < 0
and since the cases are evaluated in succession
CASE TO -1
...
CASE TO 1
....
CASE ELSE
....
provides an effective range filter for -infinity ... -1 ... 1 ... infinity.
Example
' You want to check the random function of a dice.
' So you repeat the random function a thousand times
' and you count, how many times 1, 2, 3, 4, 5 or 6
' have been thrown.
DIM x AS Integer
DIM w AS Integer
DIM a AS Integer
DIM b AS Integer
DIM c AS Integer
DIM d AS Integer
DIM e AS Integer
DIM f AS Integer
FOR x = 1 TO 1000
w = Int(Rnd(6) + 1)
SELECT CASE w
CASE 1
a = a + 1
CASE 2
b = b + 1
CASE 3
c = c + 1
CASE 4
d = d + 1
CASE 5
e = e + 1
CASE 6
f = f + 1
CASE ELSE
PRINT "This is impossible!"
END SELECT
NEXT
PRINT a, b, c, d, e, f
See also