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