""""""#""""""" LOGICIEL ##### """""""# """"" """""""" MULTIFICIERS INFORMATIQUE SERVICE 42, Rue Parcheminerie - 49000 ANGERS - Tél. (41) 88.47.06 (lignes groupées) MULTIFICHIERS Spectrum 48K ========================== MULTIFICHIERS est un programme de gestion et de tri de fichiers développé pour le ZX Spectrum 48K. Il est presque entièrement en langage machine, ce qui lui assure compacité, vélocité, et efficacité,il laisse environ 32400 octets libres par fichier. Les fichiers peuvent être chargés et sauvegardés indépendamment du programme aussi bien sur cassettes que sur Microdrives. Etant donné que les formats d'affichage de MULTIFICHIERS sont définis par l'utilisateur, le domaine d'applications est énorme tant pour l'usage domestique que professionnel. Listes d'adresses, catalogues de librairie, fichiers du personnel, inventaires de stock, résultats d'examens scolaires, arbres généalogiques... Tout ceci est facilement pris en compte par MULTIFICHIERS. Voici quelques unes des fonctions offertes par le programme: - Nombreux menus - Longueur de fichier dynamique, rappel de la mémoire disponible - Nome des références et formats d'affichage définis par l'utilisateur - Listage à partir de n'importe quelle référence - Tris a clés multiples - Affichage de 1 à 22 enregistrements par écran - Recopie d'écran sur imprimante - Calcul de totaux et de moyennes - Modification, duplication, destruction de n'importe quel enregistrement, format ou référence - Chargement et sauvegarde du fichier seul ou accompagné du programme - Compatibilité avec les Microdrives - Affichage en 32, 42 ou 5l caractères par ligne - Compatible avec la carte d'interface pour imprimante parallèle IS - Possibilité de sous-programmes Basic créés par l'utilisateur GLOSSAIRE DES TERMES EMPLOYES ============================= AJOUT Insertion d'une nouvelle donnée à la fin du fichier ARGUMENT Lors d'un tri, clé numérique ou alphanumérique qui sélectionnera les enregistrements adéquats COPIER ou DUPLIQUER Recopier l'enregistrement supérieur.Un nouvel enregistrement est créé juste après l'original ELEMENT Partie d'un format d'affichage, par exemple: cadre, texte littéral, partie d'un enregistrement... ENREGISTREMENT Rassemblement d'un maximum de 26 items, abrégé en ENR dans Multifichiers FICHIER L'ensemble des enregistrements, formats d'affichage et références FICHIER VIDE Fichier vierge, c'est-à-dire ne comportant aucune donnée FORMAT d'affichage: ensemble des éléments définissant une facon d'afficher les enregistrements GENERAL Attributs d'un format s'appliquant à l'ensemble de l'écran INVERSER Les enregistrements sélectés sont désélectés et vice-versa ITEM Donnée, de 1 à 128 caractères, d'un enregistrement définie par une référence MENU Liste des touches permettant d'accéder à une fonction particuliere MENU GENERAL Menu affiché au chargement du programme MF Abréviation de MultiFichiers MG Abréviation de Menu Général MODE AFFICHAGE Lorsque les enregistrements sélectés sont affichés selon l'un des formats MODE COMMANDE Lorsque le curseur est un K clignotant, vous vous trouvez alors sous Basic MODE CORRECTION Quand un enregistrement peut-être corrigé MODE EDITION Concerne la création et la modification des formats d'affichage RECHERCHE Sélection ou non des enregistrements par comparaison à un argument REFERENCE de format: caractère 0-9,A-Z identifiant un format d'affichage REFERENCE DES DONNEES Lettre A-Z à laquelle est associé un item RESET Tous les enregistrements sont mis en état désélecté SAISIE AUTOMATIOUE Lorsque les données d'un nouvel enregistrement sont demandées automatiquement par le programme SELECTE Seuls les enregistrements sélectés sont susceptibles d'être affichés a l'écran SEQUENCE Permet l'affichage des enregistrements classés en ordre croissant selon un item donné SP BASIC Sous-programme en Basic créé par l'utilisateur pour accomplir différentes opérations SUPERIEUR Lorsque plusieurs enregistrements sont affichés, celui du haut de l'écran est dit supérieur TEINTE Le cadre réservé à un item lors de son affichage sera coloré par la couleur de papier choisie TEXTE LITTERAL Texte à afficher en permanence sous un format donné, par exemple un titre, un commentaire... TEXTE NUL Texte à afficher sur l'écran lorsqu'un item ne comporte aucune donnée STRUCTURE D'UN FICHIER ====================== Un fichier est composé de données qui peuvent être chargées et sauvegardées sur support magnétique afin de pouvoir les stocker, les corriger, les mettre à jour, les consulter... Ce fichier peut-être une simple liste de numéros de téléphones ou un complexe fichier du personnel. Dans chaque cas cependant le fichier est divisé en enregistrements. Chaque enregistrement est défini par un ou plusieurs items (nom, adresse, quantité...). Avec MF chaque item sera référencé par une lettre et cette référence pourra être titrée (cette référence désigne une adresse, telle autre la profession, etc...). Chaque item aura une longueur variable d'un maximum de 128 caractères. Il n'y a pas de structure rigide et les items peuvent-être entrés en ordre quelconque.C'est d'ailleurs pour cette raison et pour ne pas gaspiller le moindre octet que chaque item est associé à une référence. Une référence ne peut figurer qu'une seule fois dans un enregistrement.Ce qui en limite la taille à 26 items de 128 caracteres. Les enregistrements peuvent-être triés selon n'importe quel ordre et selon des critères multiples.MF ne trie pas réellement le fichier, il se contente d'afficher les enregistrements dans l'ordre désiré. Lorsque vous définissez un format d'affichage vous pouvez demander le classement des enregistrements en ordre croissant selon une référence donnée, ainsi tel format fera un classement par noms, tel autre un classement par profession, etc... Les possibilités sont immenses ! MENUS, MODES, SAISIE ==================== Les menus de MF sont en jaune et l'état de la touche CAPS LOCK n'est pas important pour le choix de l'une des fonctions. Après avoir chargé MF, le Menu Général (MG) est présenté ainsi que le nom du fichier (jusqu'à dix caractères). Lorsque l'une des touches autorisées est pressée, MF exécute la fonction voulue, présente un menu secondaire ou encore attend une saisie. L'attente d'une saisie est signalée par l'apparition d'un court texte dans le bas de l'écran.Tout ce qui est de coloration jaune demande la pression d'une seule touche.Parfois MF attend un texte en réponse, le curseur L clignotant est alors visible.Il vous suffit de taper votre réponse au clavier et de terminer par ENTER En mode affichage, vous pouvez accéder a un menu complet par la pression de la touche Q.Pour sortir de ce menu seul un nouvel enfoncement de la touche Q agira. Sauf pour le mode affichage MF indique toujours par un titre de couleur bleue en quel mode il se trouve.Les modes les plus importants sont décrits dans le Glossaire des termes employes, et certains sont accessibles à partir de plusieurs menus.Dans le mode affichage, la référence du format d'affichage est rappelée en rouge a la ligne 22, les lignes 0 à 21 ayant été réservées a votre usage. Il aurait été un peu hasardeux de confier à une seule touche la possibilité de détruire des données.C'est ainsi qu'avant d'effacer quoique que ce soit, MF vous demandera confirmation par le message 'O pour validation'.Seule la touche O autorisera la destruction, tout autre touche vous faisant retourner au menu. Cette procédure est également valable pour l'acces à un sous-programme Basic défini par l'utilisateur. MODE COMMANDE ============= Avec quelques exceptions, MF fonctionne toujours sous langage machine et la touche BREAK est inactive.Mais pour retourner sous Basic, vous pouvez quitter MF en pressant les touches CAPS SHIFT + 6 lorsque MF attend une entrée au clavier. Par exemple a partir du MG pressez L (LOAD un fichier) puis CAPS SHIFT + 6.Vous obtenez alors le compte-rendu 'H STOP in INPUT etc...'.Vous êtes sous le mode commande et pouvez lister et modifier le programme Basic. Vous ne devez en aucun cas détruire (CLEAR,RUN) ou altérer les variables déja employees par MF (f$,R,c$).Cela aurait des consequences particulièrement funestes par la suite ! Pour retourner a MF, vous utiliserez la commande 'GO TO 1'. CHARGEMENT DU PROGRAMME ======================= Votre cassette MF offre deux versions: MF simple et MF compatible interface parallèle IS. La seconde version occupe quelques 166 octets supplémentaires et permet la recopie d'écran haute-resolution sur imprimante parallele graphique (type Seikosha GP 100, Star, Epson, ...) via l'interface parallèle IS. Chaque enregistrement est en deux parties: programme Basic et codes machine. La première partie comporte quelques lignes de Basic plus une variable f$ contenant le fichier de démonstration. Le programme en langage machine MF constitue la seconde partie (environ 8 Koctets). Pour charger le tout il faut employer la sequence CLEAR 57036:LOAD "" (MF simple) ou CLEAR 56870:LOAD "" (MF compatible). Le CLEAR est indispensable pour réserver la place qu'occuperont les codes machine.Nous n'avons pas pu faire ceci par le programme car cela aurait effacé les variables ! Il est toutefois toujours possible si vous le souhaitez de faire précéder MF d'un petit programme du type: 1 CLEAR 57036:LOAD "" (ou 56870 pour MF compatible) Il suffira de sauvegarder cette ligne par 'SAVE "nom"LINE 1' au début d'une cassette, et des lors un simple LOAD "" suffira à charger MF. LE MENU GENERAL =============== Le MG (Menu Général) est celui qui est présenté après le chargement de MF.Il offre le choix entre treize fonctions.Certaines de ces options seront décrites plus explicitement par la suite. Tout au bas de l'écran vous remarquerez une ligne comportant trois indications: Enrs, Sel, Libr.Soit le nombre d'enregistrements composant le fichier puis le nombre d'enregistrements sélectés donc susceptibles d'être affichés sur l'écran et enfin le nombre d'octets restant libres pour agrandir le fichier. A...Ajouter un nouvel enregistrement a la fin du fichier.Un enregistrement d'un octet est crée st les compteurs "Enrs=" et "Sel="sont incrémentés.MF passe ensuite dans le mode "Ajouter un enr." (voir cette rubrique). C...Choix d'un format.Liste les références des formats avec leur titre.Vous pouvez choisir le format d'affichage de votre convenance en pressant le caractère correspondant et ainsi passer sous le mode affichage (voir cette rubrique).La touche ENTER vous fait retourner au MG. P...Affiche/Imprime.Vous place sous le mode affichage afin de consulter les enregistrements sélectés.Le format d'affichage sera soit le premier créé, soit le dernier usité.Si aucun format n'est encore créé, le mode édition est appelé. Plusieurs autres menus offrent l'option P. F...Edition Formats.Vous fait passer au mode édition (voir cette rubrique) afin de corriger ou créer des formats. L...LOAD un fichier.Pour recharger un fichier qui a été sauvegardé par l'option Save fichier seul du MG (voir rubrique Sauvegardes). E...Edit références.Pour corriger ou mettre à jour les références de données (voir cette rubrique). R...Recherche fichier.Vous place sous le mode recherche (voir cette rubrique) afin de sélectionner les enregistrements répondant à certains critères. I...Inverser la sélection.Tous les enregistrements sélectés sont désélectés et vice-versa. Z...Reset sélection.Tous les enregistrements sont désélectés: le compteur "Sel=" est remis à Zéro.Vous pouvez aussi avec cette option sélecter TOUS les enregistrements, il suffit de presser Z puis I. X...Efface les enregistrements sélectés.Comme pour chaque destruction, une confirmation est attendue via la touche Oui. T...Total/Moyenne.Vous demande de spécifier la référence des données concernées.Puis calcule le total et la moyenne de toutes les données numériques. Fonction également accessible à partir du mode affichage.Voir la rubrique Total/Moyenne. S...SAVE prog/fich.5auvegarde le fichier avec ou sans le programme (voir la rubrique Sauvegardes). B...Accès au Basic.Après validation, exécute un sous-programme Basic défini par l'utilisateur.Voir Sous-programmes Basic. COMMENT OBTENIR UN FICHIER VIDE =============================== Afin de pouvoir créer aisément un nouveau fichier, il est utile de se réserver une cassette MF avec un fichier vide.Pour obtenir cela, il faut effacer le fichier de démonstration.Voici comment y parvenir... (a)... Effacer les enregistrements: à partir du MG, presser les touches "Z-I-X-O". (b)... Effacer chaque format d'affichage: toujours à partir du MG, pressez la touche F, puis "C-1-X-O" pour détruire le format 1, "C-2-X-O" pour le second format, et ainsi de suite pour les formats 3,4 et 5.La touche M vous fait ensuite retourner au MG. (c)... Effacer les références de données.Pressez la touche E, puis les touches E-O, E-O, etc... tant qu'une référence de données sera affichée.Finalement la touche M vous renverra le MG. (d)... Il faut maintenant sauvegarder le programme: S-P-MFVIDE etc... Vous pouvez sauvegarder le fichier vierge seul par S-F-MFVIDE etc... Remarquez qu'un fichier vierge n'implique pas une variable f$ de longueur nulle, cette variable contient encore des informations essentielles au bon fonctionnement de MF. REFERENCES DE DONNEES ===================== Il est utile, mais non indispensable, de titrer ou nommer vos références de données.Vous saurez ainsi que telle référence désigne une adresse, telle autre un nom ou un prénom, etc... La longueur de ces titres sera d'un maximum de 128 caracteres, ce qui suffit largement ! Lors d'une saisie automatique par exemple la question "P Profession" sera plus compréhensible qu'un simple "P". En utilisant l'option E du MG vous pourrez créer ou revoir vos références de données.Vous verrez alors le même menu que pour l'option "Ajouter un enr." mais les fonctions P et S ne rempliront pas leur office. Utilisez A pour ajouter une nouvelle référence, C pour corriger la référence affichée, E pour l'effacer, N pour passer aux références suivantes, I pour accéder à la référence que vous préciserez, M ou P pour retourner au MG.L'ordre dans lequel vous déclarerez vos références déterminera celui dans lequel seront demandés les items d'un enregistrement lors d'une saisie automatique. MODE EDITION DES FORMATS D'AFFICHAGE ==================================== Accessible par la touche F du MG, ce mode concerne la création et l'altération des formats. Vous pouvez définir jusqu'a 36 formats différents, chacun faisant apparaitre votre fichier sous un nouvel angle. Créer un nouveau format n'est pas une tache des plus réjouiseantes, mais avec quelques efforts le résultat sera très attractif. MF permet trois tailles de caracteres: 32, 42 ou 51 par ligne.Ce choix vous est notifié par "Micro-prt 0/N".La réponse Oui affichera "42Caract.0/N".Avec la touche Oui vous aurez la taille 42, et la touche Non la taille 51. Le premier menu du mode édition comporte trois lignes: A Ajouter un nouveau format C Corriger un format M Menu général Après avoir répondu A ou C vous préciserez la référence du format, 0-Z, cette référence est alors rappelée sur fond rouge en haut et à droite de l'écran: "Ref . x". Lorsqu'un format est déjà créé ses caractéristiques générales (s'appliquant à l'ensemble de l'écran) sont visualisées en priorité: a) couleur du papier de 0 à 7 b) couleur du bord de l'écran de 0 à 7 c) séquence (la référence de données qui classera les enregistrements lors de l'affichage) d) lignes consacrées a l'affichage d'un enregistrement (1 à 22). Vous pouvez revenir sur ces éléments a tout moment en vous servant de l'option C du menu quand "Général" est affiché sur la partie haute de l'écran.MF vous questionne alors sur la couleur de papier puis celle du bord, ensuite vous précisez la référence de données qui servira à classer les enregistrements (si vous pressez ENTER, cela signifiera que MF ne doit procéder à aucun classement), pour finir précisez le nombre de lignes consacrées à chaque enregistrement (pour afficher un enregistrement par écran prenez un intervalle de 22, pour afficher un enregistrement par ligne prenez plutot un intervalle de 1). Vous pouvez ajouter autant d'éléments que vous le voulez (option "A Ajouter un nouvel élément" ou les modifier avec l'option "C Corriger un élément", un autre menu vous est alors présenté (encore un!) afin que vous puissiez choisir le type de cet élément: D Donnée d'un enregistrement T texte littéral, par exemple un titre, une en-téte, un symbole, ... C cadre,(un rectangle dans lequel vous pourrez afficher une donnée) H ligne horizontale V ligne verticale M Menu secondaire Chaque élément, à part les données, ou items est statique et apparaitra sur chaque écran. Vous pouvez bien sur afficher plusieurs fois une même donnée. Pour un texte littéral, pressez T et entrez les indications attendues... numéro de ligne et de colonne, taille des caractères, couleur du papier, brillance ou non, inversion ou non, clignotement ou non, et enfin le texte à afficher.Si le texte doit dépasser la colonne 31, il se poursuivra sur la ligne suivante.La couleur d'encre n'est pas demandée, MF utilise toujours une encre contrastée. Pour un cadre, pressez C et entrez les coordonnées du coin supérieur gauche, la largeur et la hauteur du cadre.Tout ceci étant défini comme pour un PLOT ou un DRAW sous Basic (en pixels). Pour une ligne, pressez H ou V et précisez en pixels la position du point le plus à gauche ou le plus haut puis la longueur moins un. Nous allons voir maintenant la façon de commander l'affichage d'un item.Après une pression de la touche D, MF vous questionnera sur les points suivants: a) Référence de l'item concerné b) Ligne à laquelle sera affiché l'item, s'il doit y avoir plusieurs enregistrements sur l'écran, considérez l'enregistrement supérieur c) Taille des caractères puis Colonne d) MF vous permet de réserver un espace pour l'affichage d'un item afin d'éviter les débordements intempestifs.Vous préciserez d'abord la longueur de cet espace puis la... e) Hauteur. f) Attributs habituels du Spectrum: papier de 0 à 7, brillance ou non, inversion ou non, clignotement ou non.Ces attributs ne s'appliqueront qu'à 1'espace défini en d) et e). g) Teinte.Si vous répondez Oui, l'espace réservé en d) et e) sera entièrement teinté par les attributs déclarés en f). h) Texte Nul.Si une donnée est absente d'un enregistrement, le Texte Nul sera affiché à sa place.Par exemple si une adresse est absente nous pourrions afficher "Domicile inconnu". Les données numériques seront justifiées à droite si la hauteur de l'espace réservé est égale à un et si Tnt=N. Vous parcourez les divers éléments d'un format grace à la touche "N Elément suivant" (N comme NEXT bien sur!). On peut effacer l'élément affiché avec la touche "E Effacer un élément". La touche "P affiche/imprime" vous permet d'admirer (nous osons l'espérer !) le résultat de vos manoeuvres. Deux commandes concernent l'ensemble du format et non plus un élément unique. Ce sont "X Effacer un format" et "Z Copier un format".La fonction Z est bien reposante lorsque l'on désire avoir deux formats presque similaires ou simplement pour ne modifier que la clé de classement des enregistrements.Après avoir exécuté l'une de ces fonctions, le MG est rappelé. Un usage intéressant du Texte Nul lorsqu'il est combiné à une référence non déclarée est que l'on peut ainsi séparer les enregistrements par une ligne de caractères.Ce Texte Nul sera alors toujours affiché, la référence n'étant jamais présente. Avant de définir un format, nous vous recommandons de planifier votre labeur en le visualisant sur une bonne vieille feuille de papier! AJOUTER UN ENREGISTREMENT ========================= La procédure habituelle pour ajouter un enregistrement est de presser la touche A à partir du MG.MF commence par créer un enregistrement vide à la fin du fichier puis affiche un menu vous invitant à l'une des actions suivantes: "A Ajouter un item", "S Saisie automatique", passage au mode affichage (P) ou au MG (M). Les autres fonctions ne sont pas immédiatement applicables. Pour entrer une donnée dans un nouvel enregistrement, vous pouvez utiliser la touche (A) puis fournir la référence de la donnée et enfin la donnée elle-même. Le texte ne doit pas dépasser 128 caractères et les espaces finals ne sont pas pris en compte.Les mots-clés, caractères graphiques ou codes de controle des couleurs seront imprimés comme le caractere "?".Vous pouvez naturellement entrer des lettres majuscules autant que minuscules.L'item sera affiché sur fond blanc brillant au-dessous de sa référence qui elle sera sur fond rouge. La touche "S Saisie automatique" offre une autre méthode d'entrée des items successifs.Cette fonction forcera MF à vous demander un par un chaque item.Il affichera la référence de l'item attendu, vous n'aurez alors qu'à entrer la donnée en terminant par ENTER.Si vous n'avez pas de donnée à fournir pour un item, tapez simplement ENTER.ENTER suivi d'une pression immédiate sur la touche SPACE avortera la saisie. Après avoir ajouté un ou plusieurs items, vous pourrez les consulter avec la touche "N Item suivant", corriger l'item affiché par "C Corriger un item" ou l'effacer avec "E Effacer un item".Vous pouvez accéder directement à un item en pressant la touche "I Accès à un Item" puis en signalant la référence de l'item. Si vous indiquez une référence non-existante, MF attendra que vous fournissiez une référence valide, vous pouvez alors renoncer en pressant ENTER. Si par mégarde vous avez commencé à corriger (C) un item, il vous suffit d'effacer les caractères entrés (DELETE) puis de presser ENTER.MF conservera alors la donnée intacte. Avant de pouvoir agouter un autre enregistrement, vous devez d'abord retourner au MG (H). Il existe une solution pour insérer un enregistrement à un endroit particulier du fichier, en utilisant la fonction "E Dupliquer l'enregistrement" du mode affichage (voir ce mode). MODE AFFICHAGE ============== Vous vous trouvez sous le mode affichage lorsque vous pouvez consulter selon le format d'affichage choisi les enregistrements sélectés.A partir du MG on accède à ce mode par la touche "P Affiche/Imprime".Le format employé est soit le dernier utilisé, soit le premier créé.Une autre façon d'accéder au mode affichage est de presser la touche "C Choix d'un format" qui vous permet de sélectionner le format voulu. Le contenu des lignes 0 à 21 est dépendant du format choisi.Les informations qui y figurent sont celles définies lors de la création du format (voir Edition des formats). La ligne 22 apparait ainsi: Format x Q=Menu FIN... (rouge) (jaune) (bleu) "x" étant la référence du format d'affichage.Les caractères "FlN..." peuvent aussi être ">>N..." s'il reste d'autres enregistrements a afficher (il faut alors presser la touche N pour les afficher). Un menu est accessible sous le mode affichage.0n l'affiche par la touche Q et pour en ressortir on presse une seconde fois cette touche.Les fonctions acceptées par ce menu sont: N...Page suivante.Si ">>N..." est montré à la ligne 22 cette touche affichera la page suivante. 1-9.Saute de 1 à 9 enregistrements.Permet de sauter des enregistrements.Cela sert surtout à positionner en haut de l'écran l'enregistrement voulu pour ensuite passer aux fonctions "C-X-D-E" (voir plus bas). P...Retour au premier enregistrement (sans commentaire). I...Impression de la page affichée.Les lignes 0 à 21 sont reproduites sur l'imprimante ZX ou sur imprimante GRAPHIQUE parallèle si vous disposez de l'interface imprimante IS et que vous utilisiez la version MF compatible.Vous choisirez entre l'impression d'une seule page (U) ou de toutes (T).Pour stopper une impression en cours, employez BREAK puis GO TO 1. C...Corriger l'enregistrement supérieur.Vous place sous le mode correction. Voir ce mode... X...Effacer l'enregistrement supérieur (Oui pour valider). D...Désélecter l'enregistrement supérieur.L'enregistrement n'est pas détruit mais simplement désélecté.Tant qu'il n'aura pas été resélecté, il ne sera plus affiché. E...Dupliquer l'Enregistrement supérieur.Crée une copie de l'enregistrement situé en position haute.La copie est insérée juste après son original et est modifiable par la fonction C de ce menu.Cela permet également de créer un enregistrenent à un endroit déterminé du fichier. R...Recherche dans le fichier.Voir le mode Recherche... T...Total/Moyenne.Calcule et affiche le total et la moyenne des données d'une référence a choisir.Voir Total/Moyenne... F...Sélection du format X.Permet de passer d'un format d'affichage à l'autre. Il suffit de presser F puis la référence du nouveau format.Les deux formats ne doivent pas forcément utiliser la même séquence de classement.L'enregistrement supérieur reste supérieur et les suivants sont classés selon la nouvelle séquence.Cetts facilité est particulierement utile lorsque l'on souhaite obtenir une vue détaillée (une fiche par écran) d'un enregistrement remarqué dans un sommaire (disons 20 fiches par écran). M...Menu général Q...SORTlE DU MENU.Quand le menu est affiché, seule la touche Q est prise en compte.Il faut donc la presser avant de faire quoique ce soit d'autre. TRAITEMENT DE TEXTE =================== Quand une donnée est affichée sous le mode affichage, MF procède à un traitement de texte rudimentaire afin d'éviter, dans la mesure du possible, de couper des mots. Le caractère "ligne verticale" a une fonction particulière pour MF.Ce caractère est obtenu en maintenant enfoncée la touche "Symbol/Shift" et en pressant successivement "Caps/Shift" et "S".Ce caractère provoque une mise à la ligne.Il signale à MF que la suite du texte doit être imprimée sur la ligne inférieure.0n peut utiliser ce caractère sans restriction.Remarquez qu'en mode Correction les données sont affichées telles quelles et que le caractère de mise à la ligne est visible. Si la place manque pour afficher la donnée dans son intégralité, elle sera tronquée.Bien entendu la donnée figurant dans le fichier n'est pas altérée. MODE CORRECTION =============== Sous ce mode, tout enregistrement peut être modifié.Chacun de ses items est modifiable ou effaçable et de nouveaux items peuvent être rajoutés. Seul le mode Affichage permet normalement l'accès au mode Correction. Pour modifier un enregistrement particulier, il faut à partir du mode Affichage (voir ce mode) employer les touches "P", "N" et "l" à "9" pour placer l'enregistrement à modifier en position supérieure et ensuite presser la touche "C" pour le corriger.Vous voyez alors le même menu que pour "AJOUTER UN ENREGISTREMENT" (voir cette rubrique).Vous pouvez aussi voir le résultat de vos modifications avec l'option "P Afffiche/Imprime". EXERCICE D'ENTRAINEMENT ======================= Voici un court (!) exercice pour vous exercer au maniement de MF.Nous allons créer un fichier de noms et de numéros de téléphone.Nous partirons d'un fichier vide (voyez a cet effet la rubrique "COMMENT OBTENIR UN FICHIER VIDE"). Dans ce qui suit la touche ENTER sera codée en § pour plus de clarté.Suivez cet exercice attentivement et en observant les différents menus pour comprendre le mieux possible ce que vous faites. Les remarques placées entre parenthèses () sont de simples commentaires et il ne faut pas les taper au clavier. Assurez-vous que le MG soit bien affiché à l'écran...Tout est correct? Bon,Eh bien attachez vos ceintures, on y va... EANnom§ATNo tel.§M (Nous avons défini deux références N et T titrées "nom" et "No tel.".Nous allons à présent créer quelques enregistrements) AANVictor H§AT(41)19.83.84§M (C'est le numéro de Hugo Victor) ASMorane R§(75)19.14.l8§M (Cette fois-ci on a procédé à une saisie automatique.C'est tellement pratique que nous continuerons dans cette voie...) ASDupont U§(64)0l.ll.21§M ASDupond D§(64)02.12.22§M ASRenseignements§(l4)§M (Nous avons à présent cinq enregistrements.Nous allons passer au mode Edition pour créer un fornat et ensuite nous pourrons consulter notre fichier) FA1 (Format de référence "1") ATO§N5§1ONNNumeros de telephone§ (Affichera un titre de couleur bleue à la ligne 0 colonne 5) ADN3§N1§16§1§7ONNN§ (Affichera les noms en colonne 1 à partir de la ligne 3, 16 caractères au maximum,1 ligne en hauteur,papier blanc brillant, pas de Texte Nul) ADT3§N18§14§1§2ONNN---§ (Affichera les numéros en colonne 18, limite: 14 caractères, 1 ligne en hauteur,papier rouge brillant, Texte Nul: "---".Nous pouvons maintenant vérifier notre travail en passant sous le mode Affichage...) P (Cela semble correct, mais nous voudrions avoir un classement alphabétique ... Passons au mode Edition) MFC1 (Modifier le format 1) C76N3§ (Fond blanc, bords jaunes, classement selon la référence N (noms), intervalle de trois lignes) AC0§165§l63§255§ (Nous venons de créer un cadre.Allons admirer le résultat) P (Nous avons bien un classement alphabétique -vous voyez maintenant pourquoi nous avons entré les prénoms apres les noms ?- remarquez la couleur des bords et l'espacement des données.Cet intervalle est trop grand, nous allons le rétrécir) MFC1 (Modifier le format 1). C76N2§ (intervalle ramené à la valeur 2) ADZ4§N0§32§1§7NNNN--------------------------------§ (Nous utilisons la référence Z qui est absente de notre fichier.Ne comptez pas les tirets, il y en a 32) P (Vous voyez le résultat ?) 2 (Placons Morane en position supérieure) C (Afin de modifier son enregistrement) IT (Il vient de déménager, voici son nouveau numéro) C(59)88.47.06§PP (nous sommes retournés au mode Affichage) MSFtelephones§§ (Faisons une sauvegarde de notre fichier) Vous pouvez créer d'autres formats, modifier le fichier, faire des recherches dans le fichier.Vous avez vu combien cela est facile avec MF. MODE RECHERCHE ============== Nous avons déjà vu que dans le MG, il suffisait de presser les touches "Z" et "I" pour sélecter tous les enregistrements.Sélecter un enregistrement c'est le rendre apte à l'affichage. Quand un fichier devient très long, MF apporte une aide utile pour ne consulter que les enregistrements qui nous intéressent.Le mode Recherche va nous permettre de sélectionner des enregistrements selon qu'ils répondent ou non à certains critères définis par l'utilisateur. MF va effectuer un tri en comparant pour chaque enregistrement un item particulier à l'argument fourni.Le nombre d'enregistrements selectés apparait toujours au bas de l'écran: "Sel=nnnnn". Avant d'effectuer votre recherche vous voudrez peut-être vous assurer que chaque enregistrement est désélecté.Pressez la touche "Z" du MG puis "R" pour passer sous le mode Recherche. Le premier menu nous donne le choix entre "A Sélection générale", "S Sélection des sélectés" et "M Menu Général". La première option opère un tri parmi tous les enregistrements NON-SELECTES et sélecte ceux qui répondent aux critères. La seconde fait le contraire, elle considere les enregistrements déja SELECTES et les désélecte s'ils ne conviennent pas. Après avoir choisi entre les deux, vous indiquerez la référence des données à considérer.Pressez la touche adéquate ou ENTER pour renoncer. Le menu suivant vous demande de préciser si les données doivent être considérées comme numériques (N) ou sous forme de caractères (C).Les données numériques sont normalisées sous la forme NNNNNNNNNNN.NN avant d'etre comparées. Ainsi le nombre 12.196 sera traité sous la forme 00000000012.19. Le prochain menu attendra que vous choisissiez le type des comparaisons: "E Egal a...", "U Différent de...", "L Plus petit que...", "G plus Grand que...", "S Recherche de la chaine...".L'option "S" ne fonctionnera que si vous avez répondu "C Carectère" au nenu précédent. En fin de compte MF vous demande d'entrer votre argument.C'est-à-dire la clé qui servira au tri.Si vous avez choisi un traitement numérique, cet argunent devra également être numérique. MF vous répond ensuite en mettant à jour le nombre d'enregistrements sélectés "Sel=nnnn" puis réaffiche le menu du mode Recherche au cas où vous auriez d'autres clés de tri à fournir afin d'affiner la sélection.Vous pouvez aussi retourner au MG ou passer sous le mode Affichage. Voyons plus en detail la procédure de tri. Pour une recherche numérique, la signification des options "Egal"/"Different"/"Plus petit"/"plus Grand" est évidente.Si MF rencontre une donnée non-numerique, il s'arrêtera avec le message "Donnée non-numérique: Ignorer ou Editer".Pressez "I" pour ignorer l'enregistrement en cause ou "E" pour l'éditer (vous passez alors sous le mode Correction et il vous faudra reprendre le tri à son début). La recherche alphanumérique vous est sans doute moins familière.Premièrement MF ne fera pas de différence entre majuscules et minuscules.Deuxièmement si l'argument est plus court qu'un item et que les premiers caractères de cet item correspondent a l'argument alors ils seront considérés conne égaux.Par exemple les items "FREDERIC", "fred" et "Frédérique" sont egaux a l'argument "FRED".Si l'argument est plus long que l'item, ils sont différents: l'item "FRE" est dit inférieur a l'argument "FRED". La recherche d'une chaine traduit une recherche de l'argument à travers toute la longueur d'un item.Ainsi l'argument "FRED" selectionnera les items "Alfred Nobel", "Oncle Fred", "MANFRED G." Nous terminerons cette rubrique par un exemple concret sur le fichier de demonstration. Nous désirons obtenir une liste des personnes du département "Administration" dont le salaire est supérieur ou egal a 7000 francs.La notation utilisée est la même que dans l'exercice d'entrainement.Nous debutons à partir du MG. ZRASNG6999§ (sélection des salaires supérieurs à 6999 Frs) SDCEadm§ (ne conserver que ceux du departement "Administration") P (passons au mode affichage) TOTAL/MOYENNE ============= MF sait calculer le total et la moyenne des données numeriques des enregistrements SELECTES.Comme pour une recherche numérique, les données sont formattées et on ne conserve que deux chiffres apres le point décimal. Si une donnée non-numérique est rencontrée, MF s'arrète avec le message "Donnée non-numérique..." comme décrit précédemment dans la rubrique Recherche. Si à un enregistrement manque l'item attendu, MF considèrera qu'il a une valeur zero.Les nombres négatifs ne sont pas admis et le seul caractère non-numérique autorisé est le point décimal. Le Total et la moyenne peuvent être calculés a partir du MG et du mode Affichage.Les résultats sont affichés aux lignes 19 et 21.Cela peut etre imprimé si vous êtes en mode Affichage. Il n'est possible de traiter qu'une seule référence à la fois.Pour des opérations plus complexes, vous devrez écrire un sous-programme Basic. SAUVEGARDES =========== L'option S du MG autorise les sauvegardes de MF.Un menu vous donne le choix entre la sauvegarde du fichier seul (F) ou accompagné du programme Basic et des codes machines (P).Vous pouvez retourner au MG avec ENTER. Si vous pressez la touche "P", la sauvegarde se fera en deux parties: le Basic avec ses variables (dont le fichier) puis les codes machines.Le nom du programne est limité a dix caractères.Ce nom sera repris par le MG et apparaitra sous "MULTIFICHIERS v08".Si vous n'entrez aucun caractère, MF traduira cela par "nom inchangé". Avec la touche "F", seule la variable f$ contenant le fichier sera sauvegardée . Vous pouvez insérer une verification automatique de la sauvegarde à la ligne 4020.Juste avant le 'GO TO USR R' placez un 'VERIFY "" DATA f$():' (voyez le MODE COMMANDE pour accéder au Basic).Si la vérification a reussi, vous retrouverez le MG.Autrement tapez 'GO TO 1' et refaites une tentative. Pour recharger un fichier qui a été sauvegardé séparément vous vous servirez de l'option "L" du MG.Vous devez donner le nom exact ou renoncer par ENTER.Si le nom vous est inconnu, nommez-le "xxx" et démarrez la cassette.Le Spectrum affichera alors "Character Array:" suivi du nom du fichier.Faites BREAK puis GO TO 1 et réessayez avec ce nom.Si tout s'est bien déroulé, le MG sera affiché. Par sécurité nous vous conseillerons de toujours conserver les deux dernieres sauvegardes.Il n'est pas difficile d'utiliser trois ou quatre cassettes en rotation et un accident est si vite arrivé... LA MEMOIRE DISPONIBLE ===================== La plupart du temps, MF vous informe de la quantité de mémoire restant disponible: "Libr=XXXXX".Lorsque le fichier est vierge, plus de 32000 octets restent libres. Si la quantité de mémoire disponible vient à s'épuiser, MF vous en alertera par le message rouge clignotant "FICHIER PLEIN".L'opération que vous étiez en train de réaliser sera ignorée. Le remède est de scinder le fichier en deux parties ou de détruire les anciens enregistrements. SOUS-PROGRAMMES BASIC ===================== Bien que MF soit un programme très versatile, il lui est difficile de répondre à des besoins individuels.Tout ce qu'il sait faire c'est saisir, trier et visualiser des données, de façon excellente sans nul doute, mais il est parfois nécessaire de soumettre les données a des traitements particuliers. Avec quelques connaissances du Basic il est envisageable de personnaliser votre MF. En créant des sous-programmes Basic il sera possible de consulter et même modifier le fichier selon des exigences précises.Supposons par exemple que votre fichier soit constitué de noms d'élèves et que chacun d'eux soit accompagné de plusieurs notes.Vous pourrez calculer la moyenne de chaque élève et l'inclure dans le fichier. Un SP Basic (sous-programme Basic) est appelé par l'option "B" du MG.SEULS LES ENREGISTREMENTS SELECTES seront envoyés au SP Basic pour traitement.Votre programme MF avec son fichier de démonstration n'a pas d'autre SP Basic qu'un simple 'RETURN'. Lorsque l'on appelle un SP Basic, cela équivaut à plusieurs 'GO TO nnnn'.Le retour vers MF étant commandé par 'GO TO USR R'.Les numéros de ligne nnnn sont déterminés de la facon suivante... Ligne 4900. Le controle est donné à cette ligne juste une seule fois avant que ne commence le traitement du fichier.Cela peut servir d'initialisation pour les lignes suivantes.Placez un 'GO TO USR R' pour le retour. Ligne 5000. Le controle est donné à cette ligne pour chaque enregistrement avant que ne commence le traitement.Cela servira si besoin est d'initialisation. Placez un 'GO TO USR R' pour le retour. Ligne 6000. Le controle sera donné a cette ligne pour chaque item d'un enregistrement.La donnée de l'item est accessible dans la variable C$ (c'est une variable dimensionnée d'une longueur de 130 caracteres).C$(1) est la référence de l'item (A à Z), et C$(2 TO> est la donnée proprement dite.Vous pouvez recopier cette variable dans une autre si vous en avez besoin ultérieurement. Terminez par un 'GO TO USR R' pour le retour. Ligne 7000. MF donne le controle à cette ligne après avoir envoyé chaque item d'un enregistrement vers la ligne 6000.0n utilisera ceci pour informer MF du traitement réalisé sur les données capturées par la ligne 6000.Avant le retour vers MF la variable C$ sera ainsi conforméet a) LET C$="" pour signaler qu'aucun changement ne doit survenir. b) LET C$="X" -les caractères C$(2 TO) sont alors effacés- signifiera que l'item référence "X" doit être détruit."X" doit être une lettre majuscule (de A a Z). c) LET C$="X" et C$(2 TO)="donnée".L'item référencé "X" doit être inséré, ou remplacé s'il est déjà présent, avec la donnée C$(2 TO)."X" doit être une lettre majuscule. Le retour à MF est ordonné par 'GO TO USR R'. Notez qu'un seul item par enregistrement est modifiable à la ligne 7000. Toutefois vous pouvez contourner cette limitation par un usage subtil des lignes 4900 et suivantes et en faisant plusieurs appels au SP Basic. L'ordre dans lequel sont envoyés les enregistrements est celui de leur création. Vous ne devez pas redimensionner ni modifier les variables C$, F$ et R.Il faut s'attendre à des délais relativements longs pour le traitement des enregistrements.La fin de la procédure est signalée par le retour du MG. Afin d'entrer vos SP Basic, il faut passer sous le mode Commande (voyez cette rubrique).Ensuite il est prudent de faire une sauvegarde du programme avant l'appel au SP Basic. Voici en guise de conclusion un petit example d'utilisation des SP Basic.Nous supposerons que notre fichier contienne les deux items "Q" indiquant la quantité de marchandises en stock et "C" précisant le cout unitaire.Nous voulons créer un nouvel item "V" qui sera la valeur du stock.Cette valeur se calcule en multipliant la quantité par le cout unitaire (V=Q*C).Chaque appel du SP Basic remettra à Jour les valeurs du stock... 4900 GO TO USR R 5000 LET C=0:LET Q=O:GO TO USR R 6000 IF C$(1)="Q" THEN LET Q=VAL C$(2 TO) 6010 IF C$(1)="C" THEN LET C=VAL C$(2 TO) 6020 GO TO USR R 7000 LET C$="V":LET C$(2 TO)=STR$ (Q*C):GO TO USR R La ligne 4900 n'a pas d'initialisation à faire.La ligne 5000 reset les variables C et Q à zéro au cas où un item serait sans donnée.Les lignes 6000 à 6020 capturent les valeurs de Q et de C.La ligne 7000 construit le nouvel item "V" et lui assigne sa valeur.Nous avons évité la formation '7000 LET CS="V"+STR$ (...' car une bogue dans la mémoire morte du Spectrum aboutit parfois à des résultats erronés. Dans cet exemple, la rencontre d'une donnée non-numérique provoquerait l'arrêt du Basic sur un message d'erreur.Si cette situation se produisait, un GO TO 1 rendrait le controle à MF. ADAPTATION AUX MICRODRIVES ========================== Après quelques modifications de la partie Basic de MF, le programme fonctionnera à la perfection avec les Microdrives.Beaucoup sauront modifier par eux-mémes le programme, mais pour les moins confiants nous suggérons les adaptations qui suivent.Les Microdrives n'agrandiront pas la taille de vos fichiers mais par contre elles permettront un accès beaucoup plus rapide. Commencez par charger MF à partir d'une cassette comme d'habitude.Vous pouvez inclure des SP Basic, mais le fichier sera vierge de préférence (voyez les rubriques "Sous-programmes Basic" et "Comment obtenir un fichier vide"). Accédez au mode Commande (voir cette rubrique) puis sauvegardez les codes machines MF en entrant directement (sans numéro de ligne)... SAVE *"m";1;"MF mcode"CODE 57037,8192 (version compatible: 56871,8358) Maintenant modifiez les lignes; 4020 SAVE *"m";VAL "1";C$( TO VAL "10")DATA F$():GO TO USR R 4030 SAVE *"m";VAL "1";C$( TO VAL "10")LINE VAL "4035":GO TO USR R 4035 LOAD *"m":VAL "1";"MF mcode"CODE:GO TO VAL "1" 4050 LOAD *"m";VAL "l";C$( TO VAL "l0")DATA F$():GO TO USR R 1 PRINT;:PAPER VAL "7":GO TO USR VAL "64951" (la syntaxe VAL "nombre" économise trois octets par rapport au nombre seul). GO TO 1 vous replacera sous MF.Faites ensuite une sauvegarde en pressant les touches "S" et "P".Cette opération sauvegardera les lignes Basic et vous n'aurez plus à l'exécuter, du moins tant que vous ne modifierez pas vos Sp Basic. Bon maintenant vous aurez certainement des fichiers sur cassette que vous aimeriez transposer sur les Microdrives.Nous suggérons de modifier la ligne 10: 10 LOAD "" DATA F$():INPUT N$:SAVE *"m";1;N$ DATA F$() Avec ces modifications MF n'utilisera plus que votre Microdrive 1.Remarquez que vous ne pourrez sauvegarder sur une même cartouche deux fichiers ayant le même nom.Aussi il est préférable de dater les noms de fichier, par exemple "STOCK12mai", cela vous aidera à relire le CATalogue de la cartouche et vous pourrez plus facilement détruire les fichiers anciens. Vous devrez toujours faire des copies de vos fichiers, soit sur une autre cartouche, soit sur cassette.Cette ligne pourra vous aider: 10 INPUT N$:LOAD *"m";1;N$ DATA F$():SAVE N$ DATA F$() QUELQUES ADRESSES A "POKER" =========================== Pour modifier le code machine MF, passez sous le mode Commande et faites quelques POKE.Lorsque vous aurez terminé, retournez à MF par GO TO 1 et faites une sauvegarde par l'option "S-P" du MG (pour les Microdrives, voyez à la section correspondante la procédure à suivre pour sauvegarder les codes machine) . Voici quelques possibilités de changement... a) Si les 26 références de données ne vous suffisent pas, vous pouvez en élargir le nombre à 43 (les caractères "0" à "9" et ceux compris entre "9" et "A", voyez la table des caractères du manuel du Spectrum) : POKE 64282,48: POKE 64306,48: POKE 58166,48 b) Les réponses ne nécessitant que la pression d'une touche sont accompagnées d'un "BEEP".Vous pouvez modifier la durée de ce son, celle-ci figurant à l'adresse 57741.La fréquence est regles par deux octets: 57745 et 57744. c) Quand un texte est entre au clavier, le "CLIC" d'accompagnement est rendu plus audible que celui du Spectrum.L' octet responsable est à l'adresse 57725. QUELQUES MOTS SUR L'INTERFACE PARALLELE IS ========================================== MF vous est proposé en deux versions: une version normale et une autre possédant en plus un programme driver permettant la recopie d'écran haute-resolution avec la carte d'interface parallèle IS. Ce programme driver n'occupe que 166 octets supplémentaires et ne modifie en rien le fonctionnement normal de MF.D'ailleurs si en plus de votre imprimante parallèle vous branchez une imprimante ZX, vous obtiendrez (à moins de supprimer le 'COPY' de la ligne 4010) deux copies d'écran ! Il est même possible d'imprimer une page en contraste inversé en changeant un octet.L'adresse 56983 contient initialement la valeur 0, en faisant un POKE 56983,47 vous obtiendrez un tel résultat. Avant de pouvoir apporter des modifications, il faut quitter MF: voyez le mode Commande. D'origine le programme driver est destine à la Seikosha GP-100.Pour les imprimantes graphiques de type Star et Epson, il faut adapter le driver: (ancienne valeur) POKE 56901,22 (26) POKE 56904,27 (00) POKE 56909,75 (08) POKE 56919,1 (00) POKE 56934,8 (07) POKE 57008,8 (07) POKE 56984,0 (203) POKE 56985,0 (255) POKE 56979,25 (17) Les valeurs 27 et 75 que l'on POKE aux adresses 56904 et 56909 correspondent aux codes 'ESC K'.Vous pouvez remplacer 75 par 76 (on obtient ainsi 'ESC L'), ce qui réduira de moitie la largeur de l'impression. Si par malheur votre imprimante ne possède pas de mode graphique, tout espoir n'est pas perdu, voici une bouée de sauvetage ! Il suffira en effet de modifier le programme Basic comme indiqué ci-dessous. Comme nous utiliserons la fonction 'SCREEN$' pour relire les caractères affichés à l'écran, il y aura certaines limitations lors de la création d'un format d'affichage.On ne pourra relire que les caractères standards du Spectrum (donc surtout pas de 'Micro-print 42/51') et il faudra être prudent avec l'emploi des cadres et autres lignes verticales ou horizontales. 4010 OUT 127,168:OUT 127,1:FOR X=0 TO 21:FOR Y=0 TO 31:LET A=CODE SCREEN$ (X,Y):LET A=A+32*(NOT A) 4011 IF IN 95<>129 THEN GO TO 4011 4012 OUT 31,A:NEXT Y:PAUSE 3:0UT 31,13:PAUSE 4:OUT 31,10:NEXT X:GO TO USR R Si vous ètes à l'affut du moindre octet, remplacez chaque nombre par VAL "nombre". Ce qu'il faut surtout retenir de ceci c'est la gestion de la carte d'interface IS: les OUT 127,168 et OUT 127,1 initialisent la carte et ensuite il suffit de tester la valeur du port 95 comme à la ligne 4011 avant d'émettre le code par un OUT 31,code.Ces quelques précisions satisferont ceux qui se sentent capables de réaliser des impressions plus fouillées et spécifiques à leur imprimante en utilisant les SP Basic. N'oubl1ez pas de sauvegarder MF par les touches "S" puis "P" du MG apres l'avoir modifié.