★ CODING ★ BUG ★ Basic ★ Bug du MERGE|CPC Revue) ★ |
Bug du MERGE (CPC Revue) | Menu - Soft - Basic |
Une bizarrerie se produit parfois avec la commande MERGE. Voici les faits :Nous voulons mettre bout à bout le programme "DEBUT" et le programme "SUITE". Si ce dernier a ses numéros de lignes plus grands que le dernier numéro de ligne de "DEBUT", il suffit d'avoir DEBUT chargé en mémoire puis de taper : MERGE"SUITE" ("SUITE" étant sur cassette ou disquette.) Or, parfois, au lieu du "READY", on a "EOF met" ( = fin de fichier rencontré). Vous faites LIST, plus rien en RAM ! Cela se produit quand vous avez fait préalablement un RENUM sur "SUITE", parce que lui aussi commençait en ligne 10. Vous avez fait, par exemple RENUM 20000,10 afin de sauvegarder cette version pour la "MERGER" à "DEBUT". Voilà le remède :
Remarquez que l'on a pris la précaution de modifier le nom (pour disquette, c'est obligatoire). Ça marche alors à tous les coups. Après le "Ready', vous pourrez vérifier que la fusion s'est bien faite, par LIST, et même faire RUN ou RUN 20000. Il est normal que la version ASCII de "SUITE" ("SUITE2") fasse nettement plus d'octets (=+30%) que la version BASIC. Chaque fonction Basic est représentée par son code, sur un octet (c'est le TOKEN), alors qu'en ASCII il y a un octet par lettre, exemple LOCATE prend 1 octet en Basic et six octets en ASCII.
|