Page 1 sur 1

Select... case... endSelect

Publié : ven. 10/sept./2004 16:36
par Golfy
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:

Code : Tout sélectionner

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
devient

Code : Tout sélectionner

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).

Golfy

Publié : ven. 10/sept./2004 16:56
par filperj
C'est vrai que ça serai pratique :wink:
Tant qu'on y est, dans le même ordre d'idée : qu'on puisse remplacer

Code : Tout sélectionner

If  x > a And x < b
par

Code : Tout sélectionner

If  a < x < b

Publié : ven. 10/sept./2004 18:11
par Oliv
Dans le musée ce sujet avait été abordé et (de mémoire) Denis je crois (excuse moi si je me trompe :oops: ) avait dis que se serait trop dur à mettre en ouvre. Mais c'est vraiq ue se serait pratique

Publié : jeu. 09/mars/2006 0:22
par Golfy
Ca y est :lol: : la version 4 permet enfin le select-case :

Code : Tout sélectionner

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
Résultat :

Code : Tout sélectionner

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
----------------------

Publié : jeu. 09/mars/2006 9:22
par Dr. Dri
Et pour être encore plus clair pourquoi ne pas utiliser tout ce qiu est à disposition ?

Code : Tout sélectionner

Select caracter
  Case 'A' To 'Z'
     ;action 1
     
  Case 'a' To 'z'
     ;action 2
     
  Case '0' To '9', '.', ','
     ;action 3
     
EndSelect
Dri ;)