Ayant souvent utilisé des basics évolués (RapidQ, Visual Basic et GFA basic), je pense que l'amélioration des fonctions "Select... Case" gagnerai en lisibilité dans un programme.
Exemple:
If caracter > 64 and caracter < 91
action 1 ; A - Z
ElseIf caracter > 96 and caracter < 123
action 2 ; a - z
ElseIf caracter > 47 and caracter < 58 or caracter = 44 or caracter = 46
action 3 ; decimals and . or ,
EndIf
Select caracter
Case 65 to 90
action 1
Case 97 to 122
action 2
Case 48 to 57, 44, 46
action 3
EndSelect
Pour le pré-compilateur (?) il suffit juste de remplacer le code Select... case par les If... ElseIf correspondant et -- éventuellement -- ajouter un "exit" avant chaque nouveau "case" (et encore plus optionnellement, une fonction "continue" qui empèche le "exit" par défaut).
Dans le musée ce sujet avait été abordé et (de mémoire) Denis je crois (excuse moi si je me trompe ) avait dis que se serait trop dur à mettre en ouvre. Mais c'est vraiq ue se serait pratique
For t = 0 To 20
Select t
Case 0 To 4
Debug "inférieur à 5"
Case 2,4,6,8,10,12,14,16,18,20
Debug "Pair"
Case 5 To 15
Debug "Entre 5 et 15"
Default
Debug "Cas imprévu"
EndSelect
Debug "----------------------"
Next t
inférieur à 5
----------------------
inférieur à 5
----------------------
inférieur à 5
----------------------
inférieur à 5
----------------------
inférieur à 5
----------------------
Entre 5 et 15
----------------------
Pair
----------------------
Entre 5 et 15
----------------------
Pair
----------------------
Entre 5 et 15
----------------------
Pair
----------------------
Entre 5 et 15
----------------------
Pair
----------------------
Entre 5 et 15
----------------------
Pair
----------------------
Entre 5 et 15
----------------------
Pair
----------------------
Cas imprévu
----------------------
Pair
----------------------
Cas imprévu
----------------------
Pair
----------------------