INSTALL
DESCRIPTION.
L'instruction INSTALL permet de charger des bibliothèques, c'est-à-dire des fichiers regroupant une ou plusieurs définition de procédures ou fonctions personnalisées et de les intégrer dans le script appelant, pour pouvoir les utiliser dans le programme.
SYNTAXE.
INSTALL fichier$
REMARQUES.
fichiers$ doit être un nom de fichier valide et existant, avec l’extension .bbc.
fichier$ doit être exprimé de façon absolue, c'est-à-dire qu'il doit contenir le chemin complet, répertoire et extension. Cependant, on pourra avoir recours aux variables système :
INSTALL @lib$ + fichier$, si fichier$ se trouve dans le répertoire des bibliothèques BBC BASIC.
INSTALL @dir$ + fichier$, si fichier$ se trouve dans le même répertoire que votre application.
On placera fichier$ dans le répertoire lib du BBC BASIC, retournée par la valeur de @lib$, si on souhaite utiliser son script pour plusieurs applications différentes sur sa machine, et dans le répertoire de l'application elle-même, retournée par la valeur de @dir$, si on désire pouvoir le partager et l'utiliser sur d'autres machines.
Les bibliothèques importées par l'instruction INSTALL doivent être des scripts au standard du langage BBC BAISC for SDL 2.0 qui ne peuvent contenir que des définitions de procédures ou de fonctions personnalisées.
Les fichiers chargés par l'instruction INSTALL ne doivent pas contenir d"ancre de saut inconditionnel, c'est-à-dire de numéro de ligne ou d"étiquette car elles ne seraient pas reconnues par le module principale. De ce fait, les instruction de saut inconditionnel : GOTO et GOSUB sont donc aussi à proscrire de ces fichiers.
De plus, seule La forme RESTORE +entier est admise pour restaurer des données contenues dans des instructions DATA, à condition d'être employées conjointement avec les instruction composées LOCAL DATA et RESTORE DATA. Voir l'instruction RESTORE pour plus de détails
Une fois chargée par l'instruction INSTALL, les procédures et fonctions personnalisées présentes dans la bibliothèque importée, pourront être appelées par leur nom et exécutées comme n'importe quelles autres procédurées ou fonctions personnalisées natives du script appelant.
Selon les besoins du programme, il est possible de charger plusieurs bibliothèques indépendantes, en utilisant autant d'instructions INSTALL que nécessaire. Si des plusieurs bibliothèques sont importées dans le programme, et qu'elles contiennent des procédures ou fonctions personnalisées ayant le même nom, c'est celle de la bibliothèque chargée en dernier qui sera exécutée si ce nom est appelé par le programme.
Note : l'utilisation de l'instruction CHAIN, ne supprime pas les procédures et fonctions personnalisées chargées précédemment. Vois l'instruction CHAIN pour plus de détails.
Note : les bibliothèques sont chargées en mémoire au-dessus de la valeur de la speudo variable HIMEM. La modification manuelle de cette valeur, au-dessus cette la valeur, supprimera toutes les procédures et fonctions personnalisées obtenues précédemment par l'appel d'instructions INSTALL et lors utilisation retournera une erreur.
Le script des procédures ou fonctions personnalisées chargées depuis une instruction INSTALL, n'étant pas fusionné avec celui du programme appelant, il faudra ouvrir le fichiers de la bibliothèque si une erreur est rencontrée lors de l"utilisation de l'une d"elles.
Les instructions INSTALL et CALL permettent de créer des fichiers de ressources qui pourront être utilisés ou partagés entre plusieurs programmes, plutôt que de les intégrer dans chacun de ces scripts. Cette pratique réduit la taille des scripts et de leur maintenance. On pourra, ainsi, constituer une bibliothèque de ressources personnalisée.
EXEMPLE.
REM --- A sauvegarder sous bibliotheque.bbc ---
DEF PROC_Circonference( Qrayon )
PRINT "Circonference : " ; 2 * PI * Qrayon
ENDPROC
DEF PROC_Aire( Qrayon )
PRINT "Aire : " ; 2 * PI * ( Qrayon ^ 2 )
ENDPROC
REM --- A sauvegarder sous principal.bbc ---
INSTALL @dir$ + "bibliotheque.bbc"
REPEAT
INPUT "Entrez le rayon du cercle " , krayon
PROC_Circonference( krayon )
PROC_Aire( krayon )
INPUT "Voulez-vous recommencer (O ou N)" ; kchoix$
UNTIL kchoix$ = "N" OR kchoix$ = "n"
PRINT "Test termine. Au revoir."
END
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.