fichiers.mod 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. DEFINITION MODULE fichiers;
  2. IMPORT FIO,Lib;
  3. CONST blank = " ";
  4. TYPE
  5. t_nom_de_fichier = ARRAY[0..79] OF CHAR;
  6. t_date = ARRAY[0..7] OF CHAR; (* MODULE date *)
  7. t_heure = ARRAY[0..4] OF CHAR;
  8. t_entete = RECORD
  9. nom_de_fichier : t_nom_de_fichier;
  10. es1 : CHAR ;
  11. nbre_total_enregistrements : LONGCARD;
  12. es2 : CHAR ;
  13. nbre_enregistrements_valides : LONGCARD;
  14. es3 : CHAR ;
  15. n_premier_enregistrement_valide : LONGCARD;
  16. es4 : CHAR ;
  17. date_de_creation : t_date;
  18. es5 : CHAR ;
  19. date_mise_a_jour : t_date;
  20. es6 : CHAR ;
  21. heure_creation : t_heure;
  22. es7 : CHAR ;
  23. heure_mise_a_jour : t_heure;
  24. END;
  25. t_premier_enregistrement = ARRAY[0..255] OF CHAR;
  26. t_fichier_donnee = RECORD
  27. fichier : FIO.File;
  28. entete : t_entete;
  29. END;
  30. t_heure_du_jour = ARRAY[0..7] OF CHAR;
  31. t_tampon_enregistrement = RECORD
  32. CASE : INTEGER OF
  33. | 0 : tampon : ARRAY[0..10000] OF BYTE;
  34. | 1 : num : LONGCARD;
  35. END;
  36. END;
  37. VAR heure_du_jour : t_heure;
  38. date_du_jour : t_date;
  39. tampon_enregistrement : t_tampon_enregistrement;
  40. PROCEDURE cree_fichier ( VAR fichier_dat : t_fichier_donnee;
  41. nom : t_nom_de_fichier) : CARDINAL;
  42. PROCEDURE ferme_fichier ( VAR fichier_dat : t_fichier_donnee) : CARDINAL;
  43. PROCEDURE lit_enregistrement ( VAR fichier_dat : t_fichier_donnee;
  44. numero : LONGCARD;
  45. VAR buffer : ARRAY OF BYTE ) ;
  46. PROCEDURE ecrit_enregistrement ( VAR fichier_dat : t_fichier_donnee;
  47. numero : LONGCARD;
  48. VAR buffer : ARRAY OF BYTE ) ;
  49. PROCEDURE nouvel_enregistrement(VAR fichier_dat : t_fichier_donnee) : LONGCARD ;
  50. PROCEDURE ajoute_enregistrement(VAR fichier_dat : t_fichier_donnee;
  51. VAR buffer : ARRAY OF BYTE ) ;
  52. PROCEDURE efface_enregistrement(VAR fichier_dat : t_fichier_donnee;
  53. numero : LONGCARD);
  54. END fichiers.
  55.