★ APPLICATIONS ★ BUREAUTIQUE ★ UN RÉPERTOIRE À ACCÈS MULTIPLES ★ |
Un répertoire à accès multiples | Applications Bureautique |
Nous vous proposerons ce mois-ci un petit programme utilitaire. Il s'agira en effet d'un répertoire informatique. Sa vocation première sera de mémoriser noms, adresses et numéros de téléphone. Cependant nous l'avons doté d'une recherche à accès multiples. C'est-à-dire qu'il sera possible de retrouver le contenu de l'une de ses fiches à partir de divers critères de sélection: par exemple, nom, ville ou code postal. De plus, afin de raccourcir au maximum le temps de recherche d'une fiche, nous créerons une copie en mémoire du contenu de la disquette, voire de la cassette. L'ordinateur n'aura donc à utiliser ce périphérique, relativement lent, que lors de la mise en route du programme, et lors de sa fm d'utilisation afin de remettre à jour son fichier. En dehors de ces deux cas, c'est la mémoire vive de la machine qui sera consultée, d'où un énorme gain de temps lors de l'exploitation du répertoire.De plus, à la demande de nombreux lecteurs, nous avons étudié ce programme sur un compatible PC de la série 286 sous GW Basic de Microsoft. Ce basic et l'Amstrad utilisé jusqu'ici ne présentent que peu de différences. Les modifications de programme à effectuer pour l'adapter sur ce dernier type d'appareil restent réduites et nous les avons signalées dans les lignes REM du listing. En fait, conçu au départ pour être en mesure de gérer 1000 fiches sur PC, nous réduirons ce nombre à 100 pour les machines de capacité plus modeste. Seconde et dernière modification, les coordonnées X et Y d'adressage curseur de l'instruction LOCATE de GW Basic sont inversées par rapport à celle du basic Amstrad. Si, sous ce dernier, elles se présentent sous la forme LOCATE X,Y, en GW Basic elles deviennent LOCATE Y,X. Donc si, par exemple, dans notre listing, une ligne indique LOCATE 10,25, pour l'adapter sur Amstrad il suffira de la transformer en LOCATE 25,10. Deux modifications très simples. Ces quelques points précisés, passons donc à l'écriture de nos deux programmes. En effet, étant donné que nous allons gérer des fichiers disquette, il nous faut préparer la disquette à cette opération sinon le programme principal se “casserait le nez” sur des fichiers inexistants lors de sa première utilisation. Nous aurons donc un programme d'initialisation (voir ci-dessous), à n'utiliser qu'une seule fois pour “préparer” la disquette, puis un programme principal chargé de la gestion du fichier. Le programme d'initialisation peut être logé sur une disquette différente de celle comportant le fichier. Il est, en contrepartie, impératif que la disquette qu'il sera chargé d'initialiser soit celle qui portera le programme principal. De même cette dernière ne devra jamais être protégée en écriture. Le programme d'initialisation crée sur la disquette les fichiers de sauvegarde des tableaux de mémorisation que nous entrerons dans le programme principal. Notons que si des fichiers portant le même nom existent déjà sur la disquette ils seront détruits. C'est pour cela qu'avant d'entreprendre quelque opération que ce soit le programme vous demandera de confirmer la demande d'initialisation. Cette dernière sera effectuée par les lignes 400 à 470. Précisons enfin que ce programme d'initialisation pourra également être utilisé en tant que “gomme” pour effacer d'un bloc toutes les fiches d'un répertoire. Le programme principal (voir page suivante) aura pour mission de gérer l'ensemble du répertoire. Nous allons copier en mémoire vive de la machine l'ensemble des fichiers contenus sur la disquette afin de réduire les temps d'accès aux informations lors de l'exploitation du programme. Nous commencerons par dimensionner des tableaux de mémorisation de taille adéquate. Cette opération est assurée par les lignes 140 à 210.. Sur l'ordinateur dont nous disposons, un Victor V286M, la capacité mémoire est largement suffisante pour mémoriser 1000 fiches. Nous dimensionnerons donc chacun de ces tableaux à 1000. Cependant sur des appareils dotés d'une capacité mémoire plus modeste un tel choix aboutit à la saturation de celle-ci. Il est donc conseillé de se limiter à un dimensionnement de 100. 100 fiches pourront donc être mémorisées sur un même répertoire. Ensuite ces tableaux seront remplis par le contenu de la disquette. Cela sera aspiré par les lignes 400 à 480 du programme. Cette opération terminée, le répertoire sera prêt à l'emploi et la page du menu principal sera présentée à l'écran grâce à l'utilisation de la sous-routine 1980. L'ordinateur demandera alors si on souhaite saisir une nouvelle fiche, consulter le répertoire ou le quitter. En fonction de la réponse fournie au clavier, "S" pour saisie, "C" pour consulter, ou "Q" pour quitter, le programme sera aiguillé vers l'une des trois sous-routines. Cet aiguillage se situe au niveau des lignes 540 à 640.
La mise en place et l'utilisation de ce programme sont simples. En premier lieu il faudra taper le programme d'initialisation, le sauvegarder sur une disquette, insérer dans le lecteur la disquette sur laquelle sera sauvegardé le programme principal (il est possible d'utiliser la même disquette, mais cela présente des risques d'effacement accidentel des fichiers) et de demander RUN. NEW sera alors demandé, de manière à effacer le programme d'initialisation de la mémoire de la machine, puis le programme principal sera frappé et sauvegardé. RUN sera demandé et l'ordinateur affichera la page du menu principal accompagné du commentaire CHARGEMENT EN COURS. Dès que cette inscription disparaîtra de l'écran, il sera possible d'utiliser le répertoire en suivant les commentaires présentés en bas d'écran. Enfin, pour quitter le programme, on tapera Q , le commentaire SAUVEGARDE FICHIER apparaîtra alors, puis lamain sera rendue au MS Dos, ou au Basic dans le cas de l'Amstrad. Henri-Pierre PENEL , Science&Vie n°886
|