DEFINITION MODULE fichiers; IMPORT FIO,Lib; CONST blank = " "; TYPE t_nom_de_fichier = ARRAY[0..79] OF CHAR; t_date = ARRAY[0..7] OF CHAR; (* MODULE date *) t_heure = ARRAY[0..4] OF CHAR; t_entete = RECORD nom_de_fichier : t_nom_de_fichier; es1 : CHAR ; nbre_total_enregistrements : LONGCARD; es2 : CHAR ; nbre_enregistrements_valides : LONGCARD; es3 : CHAR ; n_premier_enregistrement_valide : LONGCARD; es4 : CHAR ; date_de_creation : t_date; es5 : CHAR ; date_mise_a_jour : t_date; es6 : CHAR ; heure_creation : t_heure; es7 : CHAR ; heure_mise_a_jour : t_heure; END; t_premier_enregistrement = ARRAY[0..255] OF CHAR; t_fichier_donnee = RECORD fichier : FIO.File; entete : t_entete; END; t_heure_du_jour = ARRAY[0..7] OF CHAR; t_tampon_enregistrement = RECORD CASE : INTEGER OF | 0 : tampon : ARRAY[0..10000] OF BYTE; | 1 : num : LONGCARD; END; END; VAR heure_du_jour : t_heure; date_du_jour : t_date; tampon_enregistrement : t_tampon_enregistrement; PROCEDURE cree_fichier ( VAR fichier_dat : t_fichier_donnee; nom : t_nom_de_fichier) : CARDINAL; PROCEDURE ferme_fichier ( VAR fichier_dat : t_fichier_donnee) : CARDINAL; PROCEDURE lit_enregistrement ( VAR fichier_dat : t_fichier_donnee; numero : LONGCARD; VAR buffer : ARRAY OF BYTE ) ; PROCEDURE ecrit_enregistrement ( VAR fichier_dat : t_fichier_donnee; numero : LONGCARD; VAR buffer : ARRAY OF BYTE ) ; PROCEDURE nouvel_enregistrement(VAR fichier_dat : t_fichier_donnee) : LONGCARD ; PROCEDURE ajoute_enregistrement(VAR fichier_dat : t_fichier_donnee; VAR buffer : ARRAY OF BYTE ) ; PROCEDURE efface_enregistrement(VAR fichier_dat : t_fichier_donnee; numero : LONGCARD); END fichiers.