Déclaration/Ouverture/fermeture d'un fichier
Exemple
ACTION tableau
fileEleveDep:fichier de chaine
fileEleveFin:fichier de chaine
OUVRIR fileEleveDep(IN)
OUVRIR fileEleveFin(OUT)
FERMER fileEleveDep
FERMER fileEleveFin
FIN ACTION
Un fichier ouvert en IN provoque le placement de la tête de lecture sur le premier élément du fichier et initie une première lecture. Il s'agit bien d'utiliser LIRE car on va prendre ce qu'il y a sur le fichier pour l'affecter à la variable de travail.
Un fichier ouvert en OUT est vide, on pourra y écrire de l'information, on utilisera la primitive ECRIRE car le fichier déclaré en OUT est une sortie (comme l'écran ou l'imprimante).
La primitive FERMER permet de fermer un fichier quel que soit son mode d'ouverture.
Lire et écrire dans un fichier
On utilise une variable de travail de même type que les enregistrements pour stocker l'enregistrement lu
Exemple
ACTION tableau
fileEleveDep:fichier de chaine
fileEleveFin:fichier de chaine
element:chaine
OUVRIR fileEleveDep(IN)
OUVRIR fileEleveFin(OUT)
LIRE fileEleveDep;element
TANTQUE NON EOF FAIRE
ECRIRE fileEleveFin;element
LIRE fileEleveDep;element
TANTQUE
FERMER fileEleveDep
FERMER fileEleveFin
FIN ACTION
- on utilise une variable de travail dont le nom est à votre discrétion
- au démarrage de la lecture, la variable globale EOF est affecté avec FAUX
- la tête de lecture se place sur le premier enregistrement et le lit
- la donnée lue est stockée dans la variable de travail element
- la tête se déplace sur l'enregistrement suivant
- la tête de lecture se déplace sur le deuxième enregistrement et le lit
- etc...
- arrivée au bout du fichier la variable globale EOF est affecté avec VRAI