★ CODING ★ BASIC TECHNIQUE DU CHAINE MERGE ★ |
Basic Technique du Chaine Merge |
Cette commande Basic permet, dans un programme en marche, de 'se grossir” d'un sous-programme tout en conservant les variables en cours puis, après usage, de l'effacer afin de charger un autre sous-programme. Ainsi, la RAM n'est pas occupée par des modules non en service, d'où plus de place pour le gros fichier à traiter. Disons tout de suite que le lecteur de disquette s'impose car c'est sans grand intérêt avec les cassettes.UN EXEMPLE CONCRET Certains "gestionnaires de fichier" du commerce sont très performants mais une fois chargés, ils font 25 à 30 kilo-octets en RAM, d'où moins de 10 k-o disponibles pour le fichier... Une misère ! Avec un logiciel bâti en CHAIN MERGE, il est aisé de renverser la situation. Exemple : le total des programmes sur la disquette dépasse les 60 kilo-octets, mais en RAM seulement 6 kilo-octets (environ) en permanence, d'où 35 k-o pour votre fichier ! Soyons plus précis : Un programme d'environ 2000 octets (ou moins) va rester constamment en RAM, c'est le "programme-souche" ou "permanent". C'est essentiellement le MENU proposant les diverses options, telles que saisie, modification, recherche, tri, etc... Le choix que vous faites ne se traduit plus par un GOSUB ou un GOTO mais par un CHAIN MERGE "nom de sous-programme". Celui-ci vient se greffer à la suite du programme-souche, et s'exécute. Ce sera, par exemple, le tri de votre fichier (un tableau DIM) qui lui, toujours en RAM, n'est pas altéré par cette manœuvre. Ceci fait, retour au MENU, effacement par DELETE programmé du "greffon" et attente d'un autre CHAIN MERGE. Il va de soi que ces sous-programmes commencent tous au même numéro de ligne, par exemple 5000, et sont logés sur une même face de disquette, soit un maximum de 169 kilo-octets... Cette technique est utilisée sur les logiciels "professionnels" comme le "PC-FILE" pour "IBM-PC". L'avantage pour le programmeur est qu'il peut, par la suite, augmenter le nombre et la taille de ses modules sans rogner sur la place mémoire du fichier, lequel peut donc devenir énorme. Oui, mais y a-t-il des inconvénients ? Bien sûr I Le plus visible est la lenteur à chaque changement d'option ; fini le GOSUB immédiat. Les autres défauts sont plus anodins : des précautions à prendre ou certains petits interdits... du moins avec le CPC 464 ; vous aurez plus de libertés avec les CPC 664 et 6128. Après le principe, voyons la pratique : rien de tel qu'un petit gestionnaire de fichiers volontairement incomplet, que vous pourrez ensuite transformer en "petit monstre". LE PROGRAMME-SOUCHE (lignes 10 à 5000) Nous y illustrons la plupart des précautions à prendre. Tout d'abord, ligne 50, le classique et obligatoire OPENOUT"BIDON". Puis on définit les DIM. On a prévu un tableau de chaînes de 200 lignes avec trois variables (ou colonnes). Les noms des sous-programmes sont eux aussi mis en DIM PROG$.
|