SELECT
SELECT [ CASE ] Expression
[ CASE [ Expression ] [ TO Expression #2 ] [ , ... ]
... ]
[ CASE [ Expression ] [ TO Expression #2 ] [ , ... ]
... ]
[ CASE LIKE Expression [ , ... ]
... ]
[ { CASE ELSE | DEFAULT }
... ]
END SELECT
Sélectionne une expression à comparer, et exécute le code inclus dans l'instruction
CASE correspondante.
Si aucune instruction
CASE
ne correspond, alors l'instruction
DEFAULT
ou
CASE ELSE
est exécutée.
Une instruction
CASE
est une liste de valeurs uniques ou un intervalle de deux valeurs séparées par le mot-clé
TO
.
La première expression est optionnelle :
CASE TO Expression
testera toutes les valeurs jusqu’à
Expression.
Les expressions peuvent être une liste de valeurs séparées par une virgule, par ex. : CASE "A", "B", "C"
Enfin, vous pouvez tester toute expression régulière avec la syntaxe
CASE LIKE
.
Note
Le mot-clé
TO
peut également être utilisé sans borne inférieure, ce qui assimile le cas à une plage
moins que
. Par exemple.
CASE TO 0
agira comme
CASE < 0
et comme les cas sont évalués l'un après l'autre
CASE TO -1
...
CASE TO 1
....
CASE ELSE
....
fournit un filtre de plage efficace pour -infini ... -1 ... 1 ... infini.
Exemples
' Vous voulez tester la fonction aléatoire d’un dé.
' Vous répétez la fonction aléatoire un millier de fois
' et vous comptez combien de fois 1, 2, 3, 4, 5 ou 6
' est sorti.
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 "C’est impossible !"
END SELECT
NEXT
PRINT a, b, c, d, e, f
Voir aussi