APPLICATIONSBUREAUTIQUE ★ UN RÉPERTOIRE À ACCÈS MULTIPLES ★

Un répertoire à accès multiplesApplications 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 sous-routine de saisie occupe les lignes 930 à 1330 du programme. En premier lieu elle recherche la première fiche libre. Cette recherche est indispensable afin d'éviter de “gâcher” de la place en mémoire. En effet si une fiche a été détruite elle est effectivement vide bien que n'étant pas placée en queue de fichier. Il est donc judicieux de l'utiliser pour saisir de nouvelles données plutôt que d'aller directement les loger à la suite de celles déjà créées. Cependant, si à la suite de cette recherche, l'ordinateur ne trouve aucun emplacement vacant, il le signalera en annonçant : “Désolé ; fichier complet. Libérez des fiches.” puis reviendra automatiquement à la page du menu principal afin de passer en mode consultation de manière à éventuellement détruire une ou plusieurs fiches. En cas contraire, dès la première fiche libre trouvée, le programme demandera de la remplir. Pour cela il faudra fournir les informations souhaitées ligne par ligne en validant chacune d'entre elles par la touche ENTREE. Notons que lors de la saisie de la ligne TELEPHONE , le commentaire SAISIE OBLIGATOIRE s'inscrit à l'écran : c'est grâce à la présence d'informations, ou non, dans cette ligne que le programme détectera les fiches libres. Si on souhaite mémoriser l'adresse d'un correspondant dont on ignore le numéro téléphonique il suffira de remplir cette ligne par un commentaire du genre NON COMMUNIQUE. Aucune analyse du contenu de la ligne n'étant effectué par le programme cela lui conviendra parfaitement, l'essentiel, pour lui, étant que cette dernière ne soit pas vide.
  • La sous-routine de consultation des fiches occupe les lignes 1340 à 1970 de notre programme. En premier lieu elle affichera à l'écran les critères de sélection de la fiche à consulter. Une fois ce critère choisi, le curseur se positionnera sur la ligne correspondante afin de la remplir, puis la recherche débutera Pour cela le programme comparera le contenu de chaque fiche avec celui indiqué en tant que critère de sélection. Dès que ceux-ci seront identiques, la fiche sera présentée à l'écran par une première sous-routine auxiliaire. Il est possible de continuer la recherche pour contrôler si d'autres fiches que la première trouvée correspondent, ou non, au même critère de sélection. De même il sera possible de détruire une fiche, une fois qu'elle sera affichée à l'écran. Pour cela une seconde sous-routine auxiliaire est employée. Afin d'éviter toute perte d'information involontaire cette dernière demandera de taper OUI en toutes lettres pour confirmer l'effacement de la fiché. Si un seul des trois caractères diffère de ceux du mot OUI la procédure d'effacement sera abandonnée et le programme reviendra à la page du menu principal.
  • Pour quitter le répertoire il est indispensable de taper Q et non d'interrompre simplement le programme. Dans ce dernier cas, comme nous ne travaillons que sur la mémoire vive de la machine, toutes les nouvelles fiches saisies seraient irrémédiablement perdues. En passant par Q, le système remet à jour des fichiers de la disquette avant de quitter le GW Basic. Les nouvelles fiches se trouvent donc automatiquement mémorisées.

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

★ EDITEUR: Science&Vie
★ ANNÉE: 1991
★ LANGAGE:
★ LICENCE: LISTING
★ AUTEUR: Henri-Pierre PENEL

★ AMSTRAD CPC ★ DOWNLOAD ★

Type-in/Listing:
» Un  Repertoire  a  Acces  Multiples    (Science  et  Vie)    LISTING    FRENCHDATE: 2016-06-24
DL: 22 fois
TYPE: PDF
SIZE: 804Ko
NOTE: 3 pages/PDFlib v1.6

Je participe au site:
» Newfile(s) upload/Envoye de fichier(s)
★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Applications » CASCheck
» Applications » Graphic - Double Screen
» Applications » Indextablelle (CPC Amstrad International)
» Applications » Relocator v1.0
» Applications » Routine Caps - Horloge (CPC Revue)
» Applications » Simplification de Fractions / Simplification de Fraction (Amstrad Magazine)

QUE DIT LA LOI FRANÇAISE:

L'alinéa 8 de l'article L122-5 du Code de la propriété intellectuelle explique que « Lorsque l'œuvre a été divulguée, l'auteur ne peut interdire la reproduction d'une œuvre et sa représentation effectuées à des fins de conservation ou destinées à préserver les conditions de sa consultation à des fins de recherche ou détudes privées par des particuliers, dans les locaux de l'établissement et sur des terminaux dédiés par des bibliothèques accessibles au public, par des musées ou par des services d'archives, sous réserve que ceux-ci ne recherchent aucun avantage économique ou commercial ». Pas de problème donc pour nous!

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 169 millisecondes et consultée 340 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.