ON PROC
DESCRIPTION.
L'instruction ON ... PROC provoquera l'exécution d'une certaine procédure selon la valeur d'une référence.
SYNTAXE.
ON reference PROC procedurea , procedureb , ... , proceduren ELSE alternative
REMARQUES.
reference doit être un nombre entier strictement positif, supérieur à zéro. En général, reference sera l'identifiant d'une variable valide, mais reference peut aussi être une valeur retournée par une opération ou une fonction du BBC Basic ou personnalisée. Si reference est une valeur numérique autre qu'un entier, la partie décimale sera tronquée.
procedure doit être le nom d'une procédure existante et valide. Si l définition de la procédure attends des paramètres, ils deront être passés entre parenthèses à la suite de procedure.
alternative peut être une ancre ou procédure personnalisée ou tout autre instruction valide du BBC BASIC. Si altenative est absente à la suite de l'instruction ELSE, le programme se poursuivra à l'instruction suivante.
Note : la clause ELSE alternative est optionnelle mais vivement recommandée, car en son absence, si référence et en dehors des options prévues, une erreur se produira et le programme sera interrompu.
Les instructions composées ON ... PROC permet de diriger la suite de l'application en fonction de la valeur de référence au moment de l'appel de l'instruction composée. Si la valeur de reference est inférieur à 1 ou si elle est supérieur aux options prévues à la droite de la clause PROC, une erreur se produira arrêtant le programme, sauf si une clause ELSE est présente.
Le choix de l'instruction composée ON ... PROC pour diriger le flux de l'application n'est pas considérée comme une solution élégante, on préférera utiliser un bloc selon que avec l'instruction CASE ... OF.
Voir l'instruction composée ON ... GOTO pour un saut inconditionnel sans retour vers une ancre selon la valeur d'une référence.
Voir l'instruction composée ON ... GOSUB pour un saut inconditionnel avec retour vers une ancre selon la valeur d'une référence.
Voir l'instruction CASE ... OF pour plus de détails sur tests conditionnels selon que.
Voir l'instruction PROC pour définir une procédure personnalisée.
EXEMPLE.
REPEAT
kvaleur = RND( 4 )
ON kvaleur PROC PROC_A , PROC_B , PROC_C , ELSE PRINT "Le tirage est 4"
UNTIL kvaleur= 4
END
DEF PROC_A : PRINT "Le tirage est 1" : ENDPROC
DEF PROC_B : PRINT "Le tirage est 2" : ENDPROC
DEF PROC_C : PRINT "Le tirage est 3" : ENDPROC
Votre aide est précieuse pour améliorer ce site, alors n'hésitez pas à faire part de
Dans la RETROGICIEL vous trouvez des suggestions simples et classiques pour
TESTER - DÉCOUVRIR - PRATIQUER - APPROFONDIR - EXPLORER
avec un exemple de résolution à télécharger pour vous inspirer.