CASE

Sommaire

 


"case"permet de réaliser une structure de contrôle alternative en fonction de lavaleur d'une expression donnée.

 

Syntaxe

  Caseexpr_choix
        { When expr_v { ,expr_v } [ : ]
                                       instructions exécutées si
                   [ instructions ]    l'expressionexpr_choix prend
                                       l'une des valeurs de la liste
                                       des expressionsexpr_v.
        }
        [ When  Default[ : ]
                                       instructions exécutées si
                   [ instructions ]    l'expressionexpr_choix
                                       n'a pris aucune des valeurs
                                       des expressionsexpr_v.
        ]
  Endcase

 

Paramètres

Elément

Description

Restrictions

expr_choix

Expression dont la valeur permet dechoisir une alternative.

Aucune.

expr_v

Expression dont la valeur est comparée àcelle de expr_choix.

Du même type que expr_choix.

 

Exemples

  # Selon la valeur de CHOIX, on fera une action particulière
 # Si choix vaut "R", rien n'est fait
   Case toupper(CHOIX)
           When "A","E" :  Gosub EFFACEMENT
           When "Q","F" :  Goto FIN
           When "R"
           When "M"     :  Gosub MODIFICATION
           When Default
                   Gosub AIDE
   Endcase
   # Alternative sur l'expression date$ qui est comparée à
   # d'autres variables ou à des expressions complexes
   #
   Case date$
           When [29/05/1959]
                   Infbox "C'est ma date de naissance"
                   Gosub ANNIVERSAIRE
           When [18/06/1944],[08/05/1945],[11/11/1918]
                   Infbox "C'est une date historique"
                   Gosub COMMEMORATION
           When DATE_LIMITE+DELAI_GRACE
                   Infbox "Il faut payer les impôts avant ce soir !"
                   Gosub PERCEPTEUR
           When Default
                   Infbox "Rien de particulier aujourd'hui"
   Endcase

 

Description et commentaires

Case permet de réaliser des alternatives au sein d'untraitement, et ce en fonction de la valeur d'une expression qui peut êtrecomparée à des listes de valeurs.

 

Remarques

Au plus une alternative est exécutée (un "case" équivaut à une structure If... Elsif ... Else ... Endif). En l'absence de clause When Default, et siaucune valeur ne correspond à l'expression, aucune instruction délimitée par le"case"ne sera exécutée.

Aucune instruction ne peut être placée entre le "case" etle premier "when" (pasmême un commentaire).

Lorsqu'un "when"n'est suivi d'aucune instruction avant le "when" suivant, cela veut dire qu'il n'y a pas d'actionà effectuer, contrairement à certains langages tels le C. Pour exécuter un mêmechoix pour une série de valeurs, il faut mettre cette série dans une seuleliste précédée d'un "when".

 

Erreurs associées

Erreur

Description

ERMODE (10)

L'expressionexpr_v est d'un type non comparable à expr_choix.

 

Mots-clés associés

IF


SOMMAIRE

AdonixX3(r) L4G
Copyright (c) Adonix 1999 - All rights reserved