| COMPILE LONG IF | commande |
Syntaxe : COMPILE LONG IF condition
[blocInstructions1] [COMPILE XELSE [blocInstructions2]] COMPILE END IF Description : Vous pouvez utiliser la commande COMPILE LONG IF pour inclure ou exclure, de manière conditionnelle, certaines lignes de code de la version compilée du programme. Ceci est utile si vous avez besoin de maintenir des versions légèrement différentes de votre programme; grâce à la commande COMPILE LONG IF, vous pouvez les gérer toutes à la fois dans le même fichier source.
Si la condition qui suit COMPILE LONG IF est évaluée à “vrai” ou si elle est différente de zéro, alors les instructions de blocInstructions1 sont incluses lors de la compilation tandis que les instructions de blocInstructions2 (s’il y en a) sont ignorées par le compilateur. Si la condition est évaluée à “faux” ou à zéro, alors les instructions de blocInstructions1 sont ignorées par le compilateur et les instructions (s’il y en a) blocInstructions2 sont incluses lors de la compilation. condition doit être de l’une des formes suivantes :
constExpr est une “expression statique entière”. Une expression statique entière est une expression valide constituée seulement par :
(En particulier, elle ne peut contenir ni variables, ni références à des fonctions). Si vous utilisez cette forme de COMPILE LONG IF, alors l’expression sera considérée comme “vraie” si sa valeur est différente de zéro. _constanteSymbolique représente le nom d’une constante symbolique. DEF _constanteSymbolique est évalué à “vrai” si la constante indiquée a été précédemment définie. NDEF _constanteSymbolique est évalué à “vrai” si la constante indiquée n’a pas été précédemment définie. La condition TRON est évaluée à “vrai” si le mode débogage est actif pour cette partie du code. La condition TRON = _false est évaluée à “vrai” si le mode débogage n’a pas été activé pour cette partie du code. (Voyez la commande TRON pour plus de détails.) Si vous utilisez le mot-clé cpu68K comme condition, elle est évaluée à “vrai” si la compilation en cours génère du code machine pour le Motorola 680x0 (“68k”). Si vous utilisez le mot-clé cpuPPC comme condition, elle est évaluée à “vrai” si la compilation en cours génère du code machine pour le PowerPC. Exemple : Du fait que des lignes (y compris celles qui sont non-exécutables) peuvent être complètement ignorées par le compilateur, vous pouvez employer la commande COMPILE LONG IF pour contrôler des choses comme la déclaration de variables, d’étiquettes de programme, de constantes, et même de fonctions. Par exemple :
COMPILE LONG IF _grosBesoinMemoire
DIM monTableau&(3000) COMPILE XELSE DIM monTableau&(30) COMPILE END IF COMPILE LONG IF _dimensions = 3 DEF FN Diagonale!(a!, b!, c!) = SQR(a!*a! + b!*b! + c!*c!) COMPILE XELSE DEF FN Diagonale!(a!, b!) = SQR(a!*a! + b!*b!) COMPILE END IF Note : Les blocs COMPILE LONG IF peuvent être imbriqués jusqu’à une profondeur de 16 niveaux.
Voir Aussi : |