home *** CD-ROM | disk | FTP | other *** search
/ Fresh Fish 2 / FFMCD02.bin / new / biz / dbase / afile / afile.doc < prev    next >
Encoding:
Text File  |  1993-12-21  |  23.5 KB  |  511 lines

  1.  
  2.  
  3.               AFile - Manuel de référence
  4.  
  5.  
  6.  
  7.  
  8.  
  9. AboutThisDoc
  10.  
  11.       Ce manuel décrit la version 1.40 de l'utilitaire AFile. Ce programme
  12.   est (c)1993 par Denis GOUNELLE, toute utilisation commerciale ou vente  sans
  13.   autorisation    écrite    est  strictement  interdite.  Vous  pouvez  copier  et
  14.   diffuser ce programme aux conditions suivantes :
  15.  
  16.     - l'ensemble des fichiers doit être fourni
  17.     - aucun fichier ne doit avoir été modifié
  18.     - vous ne devez pas demander plus de 40FF pour cela
  19.  
  20.       Malgré de nombreux tests, je ne peux garantir que AFile ne  contient
  21.   aucune erreur. VOUS UTILISEZ CE PROGRAMME A VOS RISQUES  ET  PERILS.    Je  ne
  22.   pourrai en aucun cas être tenu pour responsable de tout dommage,  direct  ou
  23.   indirect, résultant de l'utilisation de AFile.
  24.  
  25. Introduction
  26.  
  27.       AFile est un gestionnaire de fichiers,  qui  permet  de  définir  la
  28.   structure des enregistrements  et  d'accéder  aux  données  au  moyen  d'une
  29.   interface Intuition. Il dispose des fonctions  classiques  d'impression,  de
  30.   tri, d'import/export. Vous pouvez de plus définir des masques de saisie,  et
  31.   accèder aux données via des programmes AREXX.
  32.  
  33.       Vos critiques et suggestions sur ce programme  seront  toujours  les
  34.   bienvenues. N'hésitez pas à m'écrire, à l'adresse suivante :
  35.  
  36.                    M. GOUNELLE Denis
  37.                     Boite 71
  38.                   6, rue des cailloux
  39.                  92110 CLICHY - FRANCE
  40.  
  41.       Vous pouvez également m'adresser un  message  à  l'adresse  Internet
  42.   "gounelle@alphanet.ch". Notez qu'il s'agit d'une boite à lettre  mise  à  ma
  43.   disposition par un ami, aussi veuillez n'envoyer que de courts messages.  De
  44.   plus, n'ayant pas accès directement à mes messages, n'espérez pas avoir  une
  45.   réponse avant une dizaine de jours.
  46.  
  47. Démarrage_du_programme
  48.  
  49.       AFile a besoin de la bibliothèque "mathieeedoubbas.library", qui est
  50.   fournie par Commodore sur les disquettes système.
  51.       Le programme peut être appelé du CLI ou du Workbench. Dans les  deux
  52.   cas, il est possible d'indiquer le nom du fichier à utiliser, par la méthode
  53.   habituelle,    ce   qui   permet   d'accéder   directement   à   l'écran   de
  54.   visualisation/modification des données.
  55.       Sinon,  l'écran  principal  apparait.  Notez   que   AFile   utilise
  56.   automatiquement la police texte et la taille d'écran par défaut.  Cet  écran
  57.   possède un menu qui offre les fonctions suivantes :
  58.  
  59.       Nouveau fichier
  60.       Permet de créer un nouveau fichier. Une requête de fichier  vous
  61.       permettra d'indiquer le nom du fichier à créer, puis  une  boite
  62.       de requête vous permettra de définir    la  structure  du  nouveau
  63.       fichier. L'utilisation de cette boite de requête est décrite  au
  64.       paragraphe "Définition_de_structure".
  65.  
  66.       Modifier structure
  67.       Permet de modifier  la  structure  d'un  fichier  existant.  Une
  68.       requête de fichier vous permettra d'indiquer le nom du fichier à
  69.       modifier, puis une boite de requête vous permettra  de  modifier
  70.       la structure de ce fichier.  L'utilisation  de  cette  boite  de
  71.       requête est décrite au paragraphe "Modification_de_structure".
  72.  
  73.       Ouvrir fichier
  74.       Permet d'ouvrir un fichier existant. Une requête de fichier vous
  75.       permettra d'indiquer le nom du fichier à ouvrir, puis l'écran de
  76.       visualisation/modification des données apparaitra. L'utilisation
  77.       de cet écran est décrite au paragraphe "Accès_aux_données".
  78.  
  79.       Exécuter script
  80.       Permet d'exécuter un script AREXX. Une requête de  fichier  vous
  81.       permettra d'indiquer le nom du script  à  exécuter.  L'interface
  82.       AREXX de AFile est décrite au paragraphe "Interface_AREXX".
  83.  
  84.       Quitter
  85.       Termine l'exécution de AFile.
  86.  
  87. Définition_de_structure
  88.  
  89.       AFile gère des fichiers composés d'enregistrements de longueur fixe.
  90.   Tous les  enregistrements  ont  la  même  structure,    composée  d'un  nombre
  91.   illimité de champs définis par leur nom, leur taille et leur type.
  92.       Les noms des champs ont une longueur maximale de 32  caractères,  et
  93.   peuvent contenir n'importe quel caractère. Il est cependant conseillé de  ne
  94.   pas utiliser d'espaces si vous prévoyez un accès depuis AREXX. Il ne peut  y
  95.   avoir deux champs de même nom dans la structure d'un fichier.
  96.       La taille des champs est limitée en théorie à 65535 caractères, sauf
  97.   pour les champs de type "DATE" et "BOOLEEN", qui ont une taille de  8  et  1
  98.   octets respectivement. Pour les champs numériques, on  défini  également  le
  99.   nombre de chiffres après la virgule.
  100.       Les types de champs sont les suivants :
  101.  
  102.       ALPHA       valeur alphabétique uniquement
  103.       NUMERIC      valeur numérique avec ou sans virgule
  104.       ALPHANUM      valeur quelconque
  105.       DATE          date (jour, mois, année)
  106.       BOOLEEN      valeur booléenne (VRAI ou FAUX)
  107.  
  108.       La  requête  de  définition  de  structure  se  compose  d'une  zone
  109.   d'affichage où apparaissent les définitions des champs  (nom/type/longueur).
  110.   Un ascenseur permet de faire    défiler  l'affichage.  Le  champ  courant  est
  111.   affiché sur un fond bleu. Pour sélectionner un champ, il suffit  de  cliquer
  112.   sur sa définition : elle sera automatiquement recopiée dans les gadgets.
  113.       Pour définir un nouveau champ, entrez ses caractéristiques dans  les
  114.   gadgets de chaine, et sélectionnez son type avec le gadget  "Type".  Cliquez
  115.   ensuite sur le gadget "Ajoute" :  le  champ  apparait  alors  dans  la  zone
  116.   d'affichage, et devient le champ courant. Si l'ajout  est  refusé  (trop  de
  117.   champs, il y a déjà un champ avec le même nom,  plus    de  mémoire,  etc...),
  118.   l'écran flashe.
  119.       Le gadget "Ajoute" ajoute le nouveau champ comme dernier  champ.  Le
  120.   gadget "Insère" permet d'insérer le nouveau champ avant le champ courant. Le
  121.   gadget "Supprime" permet de supprimer le champ courant. Le gadget "Remplace"
  122.   permet de remplacer le champ courant par un nouveau champ. Ceci  permet  par
  123.   exemple de renommer un champ, ou de changer sa taille.
  124.       La requête de définition de structure possède également un menu, qui
  125.   propose les fonctions suivantes :
  126.  
  127.       Copie structure
  128.       Permet de copier la structure d'un fichier existant à  la  place
  129.       de la structure  actuellement  affichée  dans  la  requête.  Une
  130.       requête de fichier vous permettra  d'indiquer  le  fichier  dont
  131.       vous voulez copier la structure.
  132.  
  133.       Abandonne
  134.       Permet d'abandonner la définition de structure et de  revenir  à
  135.       l'écran principal sans créer de fichier.
  136.  
  137.       Enregistre
  138.       Permet d'enregistrer la définition de  structure,  et  de  créer
  139.       physiquement    le  fichier.  AFile  revient  ensuite  à   l'écran
  140.       principal.
  141.  
  142. Modification_de_structure
  143.  
  144.       La modification de structure vous permet de modifier    la  définition
  145.   d'un fichier existant, c'est-à-dire d'ajouter des champs, d'en supprimer, ou
  146.   d'en modifier. Notez qu'il est impossible de modifier le type d'un champ, et
  147.   de détruire tous les    champs.  Sinon,  toutes  les  autres  caractéristiques
  148.   peuvent être changées.
  149.       La requête de modification est la même que celle  utilisée  pour  la
  150.   définition  du  fichier  (voir  paragraphe  "Définition_de_structure").  Les
  151.   seules différences sont que le gadget "Type" et l'item "Copie struct."  sont
  152.   désactivés.
  153.       Une fois la nouvelle structure définie, utilisez l'item "Enregistre"
  154.   pour valider vos modifications : AFile convertira alors  automatiquement  le
  155.   fichier dans la nouvelle structure. Notez que  les  enregistrements  marqués
  156.   comme détruits sont perdus lors de cette opération, et que cette  convertion
  157.   peut échouer s'il ne reste pas assez de place sur le volume où se trouve  le
  158.   fichier.
  159.       Si la conversion fait  que  des  données  seraient  perdues  (champs
  160.   supprimés, champs plus courts, ou enregistrements marqués  comme  détruits),
  161.   AFile vous demandera de confirmer l'opération.
  162.  
  163. Accès_aux_données
  164.  
  165.       L'écran  se  compose  d'une  zone  principale  dans  laquelle   sont
  166.   affichées les données, d'une ligne d'état et une rangée de gadgets.
  167.       Les gadgets contenant les  données  sont  en    principe  de  la  même
  168.   largeur que le champ correspondant, sauf si l'écran n'est pas  assez  large.
  169.   Lorsque vous modifiez la valeur d'un champ, AFile vérifie  que  la  nouvelle
  170.   valeur est compatible  avec  le  type  du  champ.  Les  dates  doivent  être
  171.   introduites  sous  la  forme    "JJ/MM/AA".  La   spécification   "?"   permet
  172.   d'introduire facilement la date du jour.
  173.       La ligne d'état indique le nom du fichier et  la  position  courante
  174.   sous la forme X/Y (X est le numéro de l'enregistrement courant, Y le  numéro
  175.   du dernier enregistrement). Lorsqu'un tri est actif, le nom du  fichier  est
  176.   suivit de la mention "(trié)". Si l'enregistrement courant a été modifié, la
  177.   mention "Modifié" s'affiche à droite.
  178.       La rangée de gadget permet les opérations  suivantes    (de  gauche  à
  179.   droite) :
  180.  
  181.       accès au premier enregistrement
  182.       accès à l'enregistrement précédent
  183.       écriture de l'enregistrement courant
  184.       accès à l'enregistrement suivant
  185.       accès au dernier enregistrement
  186.       accès à l'enregistrement n
  187.       effaçage de l'enregistrement courant
  188.       impression de n enregistrements à partir de l'enregistrement courant
  189.  
  190.   Enfin, les  deux  gadgets  tout  à  droite  permettent  d'afficher  la  page
  191.   précédente et suivante, si tous les champs ne peuvent être affichés en  même
  192.   temps. Si l'enregistrement courant est  modifié,  ces  modifications  seront
  193.   automatiquement écrites si  vous  changez  d'enregistrement.  Si  vous  êtes
  194.   positionnés  sur  le    dernier   enregistrement,   demander   à   accéder   à
  195.   l'enregistrement suivant créera automatiquement un nouvel enregistrement.
  196.       Les autres opérations sont accessibles via trois  menus.  Ces  menus
  197.   sont    décrits  aux  paragraphes  "Le_menu_Fichier",  "Le_menu_Edition",   et
  198.   "Le_menu_Spécial".
  199.  
  200. Le_menu_Fichier
  201.  
  202.       Récupère enreg.
  203.       Pour AFile, effacer un enregistrement  signifie  positionner    un
  204.       indicateur au début de l'enregistrement,  qui  signale  que  cet
  205.       enregistrement est effacé, et qu'il  ne  faut  plus  y  accéder.
  206.       L'enregistrement n'est  donc  pas  détruit  physiquement.  Cette
  207.       option du menu vous permet de récupérer tous les enregistrements
  208.       marqués comme détruits, pour pouvoir y accéder de nouveau.
  209.  
  210.       Compacte fichier
  211.       Permet de  détruire  physiquement  les  enregistrements  marqués
  212.       comme détruits.  Cela  veut  dire  que  ces  enregistrements    ne
  213.       pourront plus être récupérés.  En  contrepartie,  la    taille    du
  214.       fichier  diminuera,  car  les  enregistrements  détruits  seront
  215.       éliminés. AFile vous    demandera  confirmation  avant    de  lancer
  216.       l'opération. Notez que cette  opération  peut  échouer  s'il  ne
  217.       reste pas assez de place sur le volume où se trouve le  fichier.
  218.  
  219.       Informations
  220.       Affiche des informations sur le fichier courant :  son  nom,    le
  221.       nombre de champs,  la  taille  d'un  enregistrement,  le  nombre
  222.       d'enregistrements, et le nombre d'enregistrements marqués  comme
  223.       détruits.
  224.  
  225.       Imprime structure
  226.       Imprime la structure du fichier,  c'est-à-dire  les  définitions
  227.       des champs et la taille des enregistrements.    L'impression  peut
  228.       être envoyée vers un fichier.
  229.  
  230.       Ferme fichier
  231.       Permet de fermer le fichier et de revenir à l'écran principal.
  232.  
  233. Le_menu_Edition
  234.  
  235.       Annule modifs
  236.       Permet de relire l'enregistrement courant, ce qui  annule  toute
  237.       modification des données dans les champs (à  condition  que  ces
  238.       modifications n'aient pas été enregistrées).
  239.  
  240.       Select. masque
  241.       Sélectionne  un  masque  de  saisie.    Une  requête  de   fichier
  242.       apparaitra pour voir permettre de choisir le masque. Les masques
  243.       de saisie sont décrits au chapitre "Masques_de_saisie".
  244.  
  245.       Sans masque
  246.       Désactive le masque de saisie courant.
  247.  
  248.       Importer
  249.       Permet d'importer des données,  c'est-à-dire  de  récupérer  des
  250.       données   provenant    d'un   fichier   ASCII.    Les    nouveaux
  251.       enregistrements seront ajoutés à la fin du fichier. Une boite de
  252.       requête apparaitra pour vous permettre d'indiquer les différents
  253.       paramètres nécessaire. Cette requête est décrite  au    paragraphe
  254.       "Import_Export".
  255.  
  256.       Exporter
  257.       Permet  d'exporter  des  données,  c'est-à-dire  d'extraire  des
  258.       données vers un  fichier  ASCII.  Tous  les  enregistrements    du
  259.       fichier seront exportés. Une boite de  requête  apparaitra  pour
  260.       vous permettre d'indiquer les différents paramètres  nécessaire.
  261.       Cette requête est décrite au paragraphe "Import_Export".
  262.  
  263.       Chercher
  264.       Permet  de  chercher    un  enregistrement  contenant  une  valeur
  265.       précise dans un champ. Une boite de requête  vous  permettra    de
  266.       sélectionner    le  champ  sur    lequel    vous  voulez   faire   une
  267.       recherche. AFile vous demandera ensuite la chaine à  rechercher,
  268.       et commencera la recherche à partir de l'enregistrement courant.
  269.       Par défaut,  AFile  cherche  un  enregistrement  dont  le  champ
  270.       contient exactement la valeur indiquée. Cependant, si la  chaine
  271.       que vous entrez  commence  par  un  point  d'interrogation  (par
  272.       exemple "?COU"), AFile cherchera un enregistrement dont le champ
  273.       contient la valeur (il trouvera donc  "BEAUCOUP"  par  exemple).
  274.       Pour     chercher   une   valeur   commençant    par    un    point
  275.       d'interrogation, il  vous  suffit  d'ajouter  un  caractère  '\'
  276.       devant la chaine.
  277.  
  278.       En résumé :
  279.  
  280.           "coucou"        cherche exactement "coucou"
  281.           "?coucou"       cherche un champ qui contient "coucou"
  282.           "\?coucou"      cherche exactement "?coucou"
  283.           "\\coucou"      cherche exactement "\coucou"
  284.           "\coucou"       cherche exactement "coucou"
  285.  
  286.       Chercher suivant
  287.       Permet de poursuivre une recherche.
  288.  
  289. Le_menu_Spécial
  290.  
  291.       Activer tri
  292.       Permet de trier les enregistrements sur un champ.  Une  première
  293.       boîte de requête vous permettra d'indiquer le champ  sur  lequel
  294.       effectuer le tri. Une seconde boite de  requête  vous  permettra
  295.       d'indiquer  les  paramètres  du  tri  :   ordre   croissant   ou
  296.       décroissant, avec ou sans différenciation des minuscules et  des
  297.       majuscules. Une fois le tri effectué, AFile se positionne sur le
  298.       premier  enregistrement  dans   l'ordre   du   tri.   Tous   les
  299.       déplacements (premier/précédent/suivant/dernier) se font ensuite
  300.       en utilisant l'ordre du tri.
  301.       Notez  que  AFile  réalise  un  tri  "logique"  :  l'ordre   des
  302.       enregistrements dans le fichier n'est pas modifié. Un  tri  peut
  303.       donc    réclamer  beaucoup  de    mémoire  si  le  fichier  contient
  304.       beaucoup d'enregistrements. Enfin, tant qu'un tri est actif, les
  305.       opérations "Récup. enreg" et "Compacte fichier", l'ajout  ou  la
  306.       suppression d'enregistrements,  ainsi  que  la  modification  du
  307.       champ de tri sont interdits.
  308.  
  309.       Désactiver tri
  310.       Annule le tri précédent. Ceci permet à la  fois  de  libérer    la
  311.       mémoire utilisée par AFile pour le tri, mais    surtout  d'accéder
  312.       aux enregistrements dans l'ordre physique dans le fichier et  de
  313.       pouvoir ajouter ou supprimer des enregistrements.
  314.  
  315.       Reclasser fichier
  316.       Modifie l'ordre physique des enregistrements,  pour  qu'il  soit
  317.       conforme au tri actif. Notez    que  les  enregistrements  marqués
  318.       comme détruits sont perdus lors de cette opération,  et  que    ce
  319.       reclassement peut échouer s'il ne reste pas assez de  place  sur
  320.       le  volume  où  se  trouve  le  fichier.  AFile  vous  demandera
  321.       confirmation avant de lancer l'opération.
  322.  
  323.       Exécuter script
  324.       Permet d'exécuter un script AREXX. Une requête de  fichier  vous
  325.       permettra d'indiquer le nom du script  à  exécuter.  L'interface
  326.       AREXX de AFile est décrite au paragraphe "Interface_AREXX".
  327.  
  328. Import_Export
  329.  
  330.       La  requête  d'importation   (exportation)   vous   permet   d'abord
  331.   d'indiquer le nom du fichier source (cible).
  332.       Il vous faudra ensuite indiquer le caractère séparateur  de  champs,
  333.   et le caractère séparateur d'enregistrements. Ces  caractères  peuvent  être
  334.   indiqués directement (par exemple "/"), ou sous forme de code ASCII  décimal
  335.   (par exemple "10" pour une fin de ligne). Notez que dans  ce  cas,  le  code
  336.   ASCII doit faire au moins deux chiffres : "2" donne le caractère  "2",  "02"
  337.   donne le caractère de code ASCII égal à 2.
  338.       Il vous faudra enfin indiquer un numéro d'ordre pour chaque champ  :
  339.   les champs seront importés (exportés) dans l'ordre indiqué. Les champs  pour
  340.   lesquels vous n'aurez rien indiqué ne seront pas importés  (exportés).  Lors
  341.   de l'importation, le numéro d'ordre  peut  être  assimilé  à  un  numéro  de
  342.   colonne dans le fichier source. Il permet donc  d'ignorer  des  données,  ou
  343.   d'intervertir l'ordre de données.
  344.  
  345. Masques_de_saisie
  346.  
  347.       Les  masques    de  saisie  remplissent  deux  fonctions  :   assister
  348.   l'utilisateur pendant la saisie, et vérifier les données saisies.
  349.       Un masque est défini par un fichier texte  composé  d'une  suite  de
  350.   lignes au format :
  351.  
  352.               nom champ<tab>nom script<tab>message
  353.  
  354.   La notation <tab> désigne une ou plusieurs tabulations. Les lignes vides, ou
  355.   commençant par un caractère ';', sont ignorées.
  356.       Le message est affiché au dessus de la ligne d'état lorsque le champ
  357.   est sélectionné. Le script AREXX indiqué (si son nom est différent  de  "-")
  358.   est appelé à chaque modification du champ, avec  la  nouvelle  valeur  comme
  359.   unique argument. Il doit renvoyer un code retour nul    si  cette  valeur  est
  360.   acceptée, un code retour non    nul  si  cette    valeur    est  refusée.  Pendant
  361.   l'exécution du script, les ordres SEEK, WRITE, APPEND, DELETE, SEARCH, SORT,
  362.   RELEASE, SETFIELD, et CLOSE sont interdits sur le fichier courant.
  363.       La sélection d'un masque se fait à l'aide de l'item "Select. masque"
  364.   du menu "Edition". Pour annuler la sélection d'un  masque,  utilisez  l'item
  365.   "Sans masque" du menu "Edition".
  366.       Il est également possible d'indiquer un masque au démarrage.  Depuis
  367.   le CLI, il suffit d'indiquer les  arguments  "INPUTMASK  <nom  du  masque>".
  368.   Depuis le Workbench, il  suffit  de  mettre  une  ligne  "INPUTMASK=<nom  du
  369.   masque>" dans le champ "TOOL TYPES" de l'icône du fichier.
  370.  
  371. Alias
  372.  
  373.       Un alias est un moyen de faciliter l'entrée  des  données,  en  vous
  374.   permettant de définir des abbréviations. Un exemple  est  l'introduction  de
  375.   "?" dans un champ  de  type  DATE,  pour  entrer  la  date  du  jour  (cette
  376.   possibilité    est   déjà    intégrée      dans      AFile,    voir    paragraphe
  377.   "Accès_aux_données").
  378.       AFile vous permet de    définir  vos  propres  alias,  à  l'aide  d'un
  379.   fichier texte composé d'une suite de lignes au format :
  380.  
  381.              nom_champ<tab>alias<tab>valeur
  382.  
  383.   La notation <tab> désigne une ou plusieurs tabulations. Les lignes vides, ou
  384.   commençant par un caractère ';', sont ignorées.
  385.       Le fichier d'alias doit avoir pour nom le nom du fichier de  données
  386.   auquel il se rapporte, suivit du suffixe ".alias".  Par  exemple,  si  votre
  387.   fichier de données s'appelle "Adresses", le nom  du  fichier  d'alias  devra
  388.   être "Adresses.alias". Le  fichier  d'alias  est  chargé  automatiquement  à
  389.   l'ouverture du fichier de données.
  390.       Voici un exemple d'alias : si vous créez un fichier d'alias avec une
  391.   ligne "PAYS<tab>RFA<tab>REPUBLIQUE FEDERALE D'ALLEMAGNE",  chaque  fois  que
  392.   l'utilisateur entrera la valeur "RFA" dans le champ  "PAYS",  celle-ci  sera
  393.   automatiquement remplacée par "REPUBLIQUE FEDERALE D'ALLEMAGNE".  Notez  que
  394.   le remplacement des alias se fait avant l'exécution d'un éventuel masque  de
  395.   saisie.
  396.  
  397. Interface_AREXX
  398.  
  399.       Le nom du port AREXX est "AFile_rexx". Il est possible de lancer  un
  400.   script soit depuis le menu "Projet" de l'écran  principal,  soit  depuis  le
  401.   menu "Spécial" sur l'écran de  visualisation  des  enregistrement.  Dans  ce
  402.   dernier cas,    le  fichier  courant  est  automatiquement  sélectionné  comme
  403.   fichier  de  travail,  et  la  position  dans  le  fichier  est   celle   de
  404.   l'enregistrement actuellement affiché.
  405.  
  406.   Voici la liste des commandes reconnues :
  407.  
  408.       OPEN nom      Ouvre le fichier indiqué, et se  positionne  sur  le
  409.               premier  enregistrement.  Ce     fichier   N'EST   PAS
  410.               sélectionné comme fichier de travail.
  411.       SELECT nom      Sélectionne le  fichier  indiqué  comme  fichier  de
  412.               travail. Ce fichier doit avoir été  ouvert  par  une
  413.               commande "OPEN".
  414.       CLOSE nom      Ferme le fichier indiqué
  415.       CLOSE ALL      Ferme tous les fichiers ouverts
  416.  
  417.   Les commandes suivantes sont appliquées au dernier fichier  sélectionné  par
  418.   la commande SELECT.
  419.  
  420.       APPEND      Crée un  nouvel  enregistrement,  et    se  positionne
  421.               dessus
  422.       SEEK FIRST      Se positionne sur le premier enregistrement
  423.       SEEK LAST      Se positionne sur le dernier enregistrement
  424.       SEEK NEXT      Se positionne sur l'enregistrement suivant
  425.       SEEK PREV      Se positionne sur l'enregistrement précédent
  426.       SEEK n      Se positionne sur l'enregistrement numéro n
  427.       SEARCH nom val [NOCASE]
  428.               Cherche un enregistrement  dont  le  champ  "nom"  a
  429.               exactement la  valeur  "val"  (voir  description  de
  430.               l'item "Cherche" plus haut pour les  conventions  au
  431.               sujet  de  "val").  L'option  "NOCASE"  permet   une
  432.               recherche   sans    différencier    minuscules    et
  433.               majuscules.
  434.       SEARCH NEXT      Poursuit la recherche
  435.       INFO          Retourne des informations  sur  le  fichier  courant
  436.               dans la variable RESULT : "nom complet  du  fichier"
  437.               <nb de champs>  <lg  enreg>  <nb  enreg>  <nb  enreg
  438.               détruits>
  439.       SORT nom [DECREASE] [NOCASE]
  440.               Active  un  tri  sur    le  champ  indiqué.   L'option
  441.               "DECREASE"  permet  d'avoir   un   tri   par   ordre
  442.               décroissant, l'option  "NOCASE"  permet  de  ne  pas
  443.               différencier minuscules et majuscules.
  444.       RELEASE      Désactive le tri courant
  445.  
  446.   Les commandes suivantes sont appliquées à l'enregistrement courant.
  447.  
  448.       WRITE        Ecrit l'enregistrement courant
  449.       DELETE       Détruit l'enregistrement courant
  450.       GETFIELD nom       Retourne le contenu du champ "nom" dans la variable
  451.                RESULT
  452.       SETFIELD nom val Modifie le contenu du champ "nom". ATTENTION !!  LA
  453.                VALEUR DOIT ETRE MISE ENTRE GUILLEMETS !!
  454.       FIELDTYPE nom    Retourne le type du champ "nom" (A/N/S/D/B) tel que
  455.                déclaré dans la structure du fichier
  456.       FIELDLEN nom       Retourne la longueur  du  champ  "nom",  telle  que
  457.                déclarée dans la structure  du  fichier.  Pour  les
  458.                champs numérique, cette longueur  tient  compte  du
  459.                "." s'il y a des décimales
  460.  
  461.   Toutes ces commandes retournent 10 dans RC en cas d'échec, 0 sinon.
  462.  
  463. Historique
  464.  
  465.       AFile a été écrit principalement en langage C,  sur  un  Amiga  3000
  466.   UNIX-1 (10 Mo de mémoire, lecteur de disquettes interne HD,  disque  interne
  467.   de 100 Mo, lecteur SyQuest externe de 88 Mo, lecteur de disquettes  externe,
  468.   moniteur 1960 et imprimante Star LC24-10) connecté par un cable null-modem à
  469.   un A500 avec 1 Mo de mémoire.
  470.  
  471.   v1.00   25-Jul-93, 60448 octets
  472.       o Première version diffusée.
  473.  
  474.   v1.10   07-Aug-93, 62632 octets
  475.       o Ajout des masques de saisie.
  476.       o Ajout des commandes ARexx "FIELDTYPE" et "FIELDLEN"
  477.       o Si un tri actif,  indique  "trié  sur  <nom  champ>"  au  lieu  de
  478.         seulement "trié"
  479.  
  480.   v1.20   06-Sep-93, 64336 octets
  481.       o Le nombre de champs n'est plus limité
  482.       o Gestion du tri modifié : sélection du champ  par  requête,    option
  483.         "min = MAJ", interface AREXX revue
  484.       o On peut sélectionner le fichier  texte  pour  importer/exporter  à
  485.         l'aide d'une requête de fichier
  486.  
  487.   v1.21   12-Sep-93, 64500 octets
  488.       o  Utilise  les  nouvelles  versions    des  fonctions     OuvreEcran(),
  489.         RequeteFic() et GetDefaultTextFont()
  490.  
  491.   v1.30   15-Sep-93, 65612 octets
  492.       o Entièrement localisé
  493.  
  494.   v1.31   07-Oct-93, 65704 octets
  495.       o En fin d'exécution d'un script AREXX, attend  l'appui  sur  RETURN
  496.         pour fermer la fenêtre
  497.       o Erreur corrigée: le tri sur les champs numérique se  faisait  dans
  498.         l'ordre inverse de celui demandé par l'utilisateur
  499.  
  500.   v1.40   14-Oct-93, 67036 octets
  501.       o On peut modifier la structure d'un fichier existant
  502.       o Ajout des alias
  503.       o Signale les erreurs éventuelles lors du chargement des masques  de
  504.         saisie et des alias
  505.       o Erreur corrigée dans la gestion des requêtes de chaines
  506.       o Un peu de ménage dans le source...
  507.  
  508.  
  509.  
  510.  
  511.