★ APPLICATIONS ★ BUREAUTIQUE ★ ANNUAIRE ★ |
Annuaire (CPC HS 20) | Annuaire (CPC HS 21) |
Pour tous ceux qui n'aiment pas réfléchir en programmant les utilitaires tels que les multiples gestion de fichiers, ce programme est le bienvenu et, de plus, évite de s'occuper des sauvegardes et chargements toujours critique lorsqu'on les oublie. Nouveau !! On gère aussi des fiches minitel... !
Dans l'encart réservé aux programmeurs il est toujours demandé de ne pas envoyer d'annuaire, scrabble,... etc, la rédaction croulant sous les envois. Alors pourquoi un tel programme ici ? Je l'ai fait pour une personne n'ayant pas le bagout de la programmation et qui voulait utiliser son ordinateur sans se «casser la tête». En présentant un autre programme à la rédaction, celui-ci a paru intéressant par sa conception, je vous le propose donc. Je suis parti, en effet, sur une utilisation des plus simplifiée d'un tel programme :
Avant de passer à l'étude de la conception et au mode d'utilisation, je vais brièvement vous expliquer l'évolution de la conception. Ma première idée de faire un programme débouchant sur une série de fichiers pré-installés sur disquette, représentant chacun une lettre de l'alphabet. En y ajoutant une page mémoire pour y mettre des informations personnelles, cela ressemblait à un agenda de poche. Mais l'utilisation s'avérait délicate. Ceux qui l'ont testé me l'on rendu avec l'idée qu'il faudrait faire des fichiers thématiques, que chacun pourrait ouvrir et fermer à volonté. J'ai donc crée un fichier d'initialisation avec compteur, création et effacement automatique. Plus tard, j'y ajoutait une gestion des données MINITEL, progrès oblige, et une page d'informations générales. A ce moment, mon programme s'est planté. Les calculs de place mémoire que j'avais fait s'avérait faux. Lorsque je chargeais un fichier complet de 14 Ko, j'avais un superbe «MEMORY FULL». J'avais simplement omis de compter l'espace mémoire réservé par les instructions «DIM». C'est pourquoi ce programme est maintenant en deux parties. La dernière chose faite a été de faire une présentation du «menu général» par page écran grâce à l'utilisation de BANK-MANAGER. Tous ne possédant pas le lancement automatique paru dans CPC. J'ai modifié la version CPM et je l'ai introduite au listing, sans modifier les entrées mémoire pour éviter les manipulations toujours trop nombreuses dans ces cas là. A - La conception 1 - La gestion des fenêtres A priori cela semble le plus facile. La gestion des fenêtres du C.P.C. est un peu lourde : si on utilise toutes les ressources de notre ordinateur, il nous reste 5 fenêtres graphiques ce qui est peu. J'ai donc fait une routine BASIC qui permet de gérer un nombre infini de fenêtres à partir d'un seul canal, ici le canal 1. Il est très facile pour chacun de modifier, suivant ses goûts, l'encadrement de cette fenêtre. Cette routine se compose de deux parties, la mise en place et l'effacement. A la mise en place, on crée deux fenêtres, l'une sur l'autre, la première servant à l'encadrement, la deuxième, réduite d'une matrice de chaque côté, au texte. L'effacement du texte se fait par «CLS#1», l'effacement total se fait par appel d'une routine d'effacement, ligne 180. Cette routine est un sous-programme, pour laquelle il faut désigner les quatre paramètres de dimension (gauche, droite, haut, bas) et les trois paramètres de couleur (fond, texte, graphique) avant de l'appeler par un gosub. La routine d'effacement remet simplement la couleur de fond de base à partir des données de dimension en cours. On ne retrouve donc pas les fenêtres précédentes. 2 - La procédure d'écriture en double hauteur Elle est tirée du programme «générateur de menus» de Gaétan Bourrée paru dans CPC n° 25, mais elle peut être remplacée par celle de votre manuel. 3 - Les menus Ils utilisent l'instruction «INSTR» que Michel Archambault nous avait décrite dans l'un des ses articles. La formule d'attente à la ligne 1250 ne peut être changer. Pas de «CALL &BB06» ou autre formule sinon plantage ! ! 4 - Sauvegarde et chargement des fichiers Ces procédures sont classiques. Les fichiers sont indicées (nbfic, nbfich, nbfi = nombre de fiches) afin d'en déterminer leur longueur. Chaque fois que l'on veut créer un nouveau fichier, celui-ci est d'abord inscrit dans un fichier d'initialisation (INIT.ANN), puis il est ouvert sur la disquette avec un indice 0. Lorsqu'on veut le supprimer, l'opération inverse est faite. A l'écriture, l'instruction «WRITE» a été préférée à «PRINT» pour un gain de place en mémoire évident. Mais, à cause de cela, la procédure de tri, méthode de substitution, a été faite en plusieurs parties. La sélection se fait sur le premier champ enregistré, les autres étant échangés un par un lorsque le premier fait lui-même l'objet d'un échange. Rassurez-vous, cette routine reste très rapide. Attention ! La place mémoire étant un peu juste, un fichier complet de 14 Ko ne peut être chargé, à condition d'avoir supprimé tous les REMs. Mais je suis sûr que vous n'utiliserez jamais un fichier de 14 Ko. On peut gérer 10 fichiers de 40 fiches, chaque fichier occupant 14 Ko s'il est rempli complètement. Chaque fichier est erasé après son utilisation pour laisser la place au suivant. 5 - Lancement automatique de BANKMANAGER Les lignes 21 à 27 utilisent la routine de lancement de BANKMANAGER de CPM. J'ai supprimé toutes les lignes de contrôle des erreurs pour ne garder que la routine de lancement qui gère automatiquement la place de l'entrée mémoire en fonction de l'Himem. B - L'utilisation Le programme se divise en 2 parties, «ANN» et «ANN1», fonctionnant par chaînage. ANN gère l'annuaire téléphonique et la fin de programme. ANN1 gère l'accès MINITEL, l'impression des fiches et l'impression des adresses sur enveloppes, les informations. Chargez "ANN" par LOAD"ANN. BAS" Faites GOTO 2400 et ne tenez pas compte des messages d'erreurs. -> Chargez "ANN1" par load"ANNl. BAS" Faites GOTO 3100 et après le message d'erreur éventuel relancez l'ensemble par RUN"ANN.BAS" 1 - L'annuaire téléphonique Tout se gère automatiquement, sauvegarde et chargement des fichiers, inutile de vous en faire. On peut ouvrir et supprimer un fichier, créer, modifier, supprimer une fiche, les fiches étant classées par ordre alphabétique et indicées automatiquement II manque juste la fonction recherche, mais, est-ce bien utile ici ? 2 - L'accès MINITEL Le fonctionnement est identique à l'annuaire. On gère 20 fiches présentées à l'écran 2 par 2. 3 - L'impression On peut imprimer une fiche complète, suffisamment petite pour être mise dans un portefeuille. On peut aussi imprimer une adresse sur une enveloppe dont on a choisi le format (moyen, grand). 4 - Les informations Elles sont utiles pour démarrer le programme. 5 - Quelques modifications a) - Le programme est présenté dans sa version avec l'utilisation de BANK-MANAGER pour la présentation de la page du «menu général». Pour ceux qui ne veulent pas de cette version ou qui ne la possèdent pas, les explications sont fournies tout au long du listing par des REMs, afin de pouvoir apporter les modifications nécessaires. Pour les possesseurs de 464, il faut modifier les DRAWs, les PLOTs et les ouvertures et fermetures de fichier. b) - L'effacement de l'écran avant chaque menu: c'est possible, dans la yersion sans utilisation de BANKMAN, si vous le désirez, en plaçant un «CLS» ligne 1025, et en n'oubliant pas de faire appel au menu par cette ligne chaque fois que cela est nécessaire. c) - Suppression des REMs et des blancs du basic : il est conseillé de supprimer tous les REMs, pour gagner de la place mémoire, celle-ci étant nécessaire lors de l'utilisation de fichiers complets. Dans ce cadre, ce programme a été fait en supprimant complètement les blancs du basic. Pour l'instant tapez «POKE &AC00,255» puis «ENTER» avant la frappe du listing pour obtenir ce résultat. (Voir aussi les rubriques «TRUCS ET ASTUCES» de CPC). d) - Une dernière chose : n'oubliez pas de modifier les lignes 4120 et 4130 du listing «ANN1» en fonction de la numérotation que vous aurez adopté. 6 - Liste des variables : mcy : valeur de HIMEM dans la routine de lancement BANKMAN droit, haut, bas de bords de fenêtre cpa, cte, cgr : couleur papier, texte, graphique des fenêtres dh, dh$ : double hauteur nbc : nombre de caractères
J'espère maintenant que vous ferez une bonne utilisation de ce logiciel. Si, malgré tout, vous avez quelques problèmes vous pouvez toujours me contacter puisque mes coordonnées sont incluses dans le programme. CPC REVUE HS n°20 |
|
|