Chaînage, fonctions et sous-programmes
Sous le QBASIC et QuickBASIC, les programmes ou modules enregistrés sur un disque peuvent être chaînés. Lorsque les modules sont chaînés, un module en mémoire appelle un module à partir du disque; le module de disque remplace alors le programme en mémoire et commence l'exécution. Le chaînage est une technique particulièrement utile lorsqu'un programme est trop long pour tenir dans la mémoire disponible. Le chaînage vous permet également de créer un menu de programmes. L'utilisateur sélectionne un programme pour effectuer l'une des nombreuses tâches. Ensuite, lorsque ce travail est terminé, le menu est à nouveau proposé.
Le QBASIC et le QuickBASIC autorise les sous-programmes, vous fournissant un autre outil pour écrire des programmes structurés. Les sous-programmes sont similaires aux sous-programmes; mais contrairement aux GOSUB, ils sont indépendants du programme principal. Ils permettent d'utiliser des variables globales et locales dans le programme. Un avantage des sous-programmes est que différents programmeurs peuvent travailler sur des sous-programmes indépendamment sans avoir des noms de variables en conflit lorsque les sous-programmes sont liés entre eux.
En plus des fonctions intégrées de QuickBASIC, telles que TAB et INT, des fonctions peuvent être définies par le programmeur pour simplifier la programmation. Il n'est pas nécessaire de répéter les longues expressions numériques ou de chaîne de caractères souvent utilisées dans un programme. Vous pouvez les configurer une fois en tant que fonctions définies par l'utilisateur, puis il vous suffit de spécifier le nom de la fonction dans les instructions de programme ultérieures.
La commande CHAIN
L'instruction CHAIN de QBASIC et QuickBASIC vous permet d'utiliser des programmes séparés autant que vous utilisez des modules de programme et des sous-programmes. Étant donné que les programmes se trouvent dans des fichiers de disque individuels et non dans le texte du programme les appelant, ils sont généralement appelés sous-programmes externes.
Un programme étant en mémoire et appelant un autre programme à partir du disque est appelé programme appelant. Le programme appelé à partir d'un fichier disque est le programme chaîné. Le programme chaîné remplace le programme appelant en mémoire. Les variables ne sont transmises que si l'instruction en majuscules est utilisée. Les variables passées du programme appelant au programme chaîné sont communes aux deux programmes et sont appelées variables communes. L'instruction CHAIN de base présente les caractéristiques suivantes :
- Il laisse ouverts tous les fichiers ayant été ouverts par le programme appelant.
- Il ne conserve pas les types de variables (DEF) ou les fonctions définies par l'utilisateur (FN).
- Il ne conserve pas le paramètre OPTION BASE actuel du programme appelant.
Son format générale est le suivant :
CHAIN filespec |
Le paramètre Filespec est le nom du programme chaîné. Les variables du programme appelant ne sont pas transmises au programme chaîné. (Vous pouvez toutefois utiliser l'instruction COMMON pour transmettre des variables sélectionnées). Les exemples suivants illustrent l'utilisation de CHAIN :
CHAIN "PROG1.BAS"
L'instruction charge et exécute PROG1 à partir de la première instruction du programme. Aucune variable n'est transmise sauf si une instruction COMMON a été exécutée.
CHAIN "B:PROG1.BAS"
L'instruction se charge et exécute PROG1 à partir du l'unité de disque B. Aucune variable du programme appelant n'est transmise à PROG1, sauf si une instruction COMMON a été exécutée.
CHAIN PROG$
Si PROG$ = "PROG1.BAS", alors l'instruction se charge et exécute PROG1. Aucune variable n'est transmise du programme appelant au programme chaîné, sauf si une instruction COMMON a été exécutée.