Lecture des données d'un fichier séquentiel
Examinons maintenant le programme 2. Il accède au fichier DATA créé par le
programme 1 et affiche le nom des personnes embauchées en 1981.
Programme 2 -
Accès
à
un fichier séquentiel
10: DIM DE$(I)
20: OPEN "E:DATA" FOR INPUT AS #20
30: INPUT #20,NA$,DE$(1 ).HI$
40: IF RIGHT$(HI$,2)="8t" TH EN PRINT NA$
50: GOTO 30
RUN
DEXTER NORTON
Input past end in 30
Le programme 2 lit, séquentiellement, chaque rubrique du fichier et imprime le nom
des employés embauchés en 1981. Lorsque toutes les données ont été lues, la
ligne 30 provoque une erreur. Pour éviter
cela,
vous devez employer le délimiteur
de fin de fichier, EOF. Le programme modifié est alors le suivant:
10: DIM DE$(I)
20: OPEN
"E:DATA"
FOR INPUT AS #21
25: IF EOF(21) THEN 60
30: INPUT #21,NA$,DE$(1
),HI$
40: IF RIGHT$(HI$,2)="81" THEN PRINT NA$
50: GOTO 25
60: CLOSE #21
70: END
Comme le montre ces programmes,
les
opérations suivantes
sont
nécessaires pour
créer un fichier séquentiel et accéder aux données qu'il contient:
1. Ouverture
(OPEN)
du fichier pour sortie
(OUTPUT).
2. Ecriture des données dans le fichier au moyen de l'instruction
PRINT#.
3. Fermeture
(CLOSE)
du fichier
et
réouverture en entrée
(INPUT)
pour lecture des
données.
4.
Emploi de l'instruction INPUT# pour lecture, par le programme, des données du
fichier.
Adjonction de données
à
un fichier séquentiel
Si vous disposez d'un fichier de données et si vous désirez adjoindre d'autres
données
à
la fin de ce fichier, vous ne pouvez pas ouvrir le fichier en sortie (OUT-
PUT) et écrire des données. Dès que vous ouvrez un fichier séquentiel en sortie,
vous détruisez son contenu.
Vous devez employer
l'instruction
APPEND. Si le fichier n'existe pas, l'instruction
OPEN agit comme si le fichier avait été ouvert en sortie.
Voici comment ajouter des données au fichier
"FOLKS".
190