home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 549b.lha / M2P_v1.0_sources / source.lzh / FIO.def < prev    next >
Text File  |  1991-08-10  |  3KB  |  76 lines

  1. (*======================================================================*)
  2. (*                   Amiga Modula-2 support routines                    *)
  3. (*======================================================================*)
  4. (*      Version: 1.20           Authors: Dennis Brueni                  *)
  5. (*      Date   : 1-13-91        Changes: Added SetPrompt function       *)
  6. (*      Date   : 1-18-91        Changes: Added BackChar function        *)
  7. (*      Date   : 7-10-91        Changes: Stripped down to basic stuff   *)
  8. (*======================================================================*)
  9. (*      References: "Programming in Modula-2" by Niklaus Wirth.         *)
  10. (*                  "Portable Modula-2 Programming" by M. Woodman,      *)
  11. (*                     R. Griffiths, J. Souter, and M. Davies           *)
  12. (*======================================================================*)
  13. (* FileIO reads and writes Strings and characters.  I/O is buffered     *)
  14. (* using a 4 Kilobyte buffer.  As many files may be opened as memory    *)
  15. (* permits.                                                             *)
  16. (*======================================================================*)
  17.  
  18. DEFINITION MODULE FIO;
  19.  
  20. (*-----------------------------------------------------------------*
  21.  * The FILE structure (opaque)                                     *
  22.  *-----------------------------------------------------------------*)
  23.  
  24. TYPE FILE;
  25.  
  26. VAR INPUT,OUTPUT: FILE;               (* For consultation only!!!  *)
  27.  
  28. VAR Window: ARRAY [0..63] OF CHAR;    (* Window if started from WB *)
  29.  
  30. (*-----------------------------------------------------------------*
  31.  * File Management Procedures                                      *
  32.  *-----------------------------------------------------------------*)
  33.  
  34. PROCEDURE Open(FileName: ARRAY OF CHAR):FILE;
  35. PROCEDURE Append(FileName: ARRAY OF CHAR):FILE;
  36. PROCEDURE Create(FileName: ARRAY OF CHAR):FILE;
  37. PROCEDURE Close(VAR F :FILE);
  38.  
  39. (*-----------------------------------------------------------------*
  40.  * Returns the whether a FILE is active.                           *
  41.  *-----------------------------------------------------------------*)
  42.  
  43. PROCEDURE GoodFILE(F: FILE):BOOLEAN;
  44.  
  45. (*-----------------------------------------------------------------*
  46.  * Set the default prompt string for standard INPUT channel        *
  47.  *-----------------------------------------------------------------*)
  48.  
  49. PROCEDURE SetPrompt(F: FILE; prompt: ARRAY OF CHAR);
  50.  
  51. (*-----------------------------------------------------------------*
  52.  * Input Procedures                                                *
  53.  *-----------------------------------------------------------------*)
  54.  
  55. PROCEDURE ReadChar(F: FILE):CHAR;
  56. PROCEDURE ReadString(F: FILE; VAR str:ARRAY OF CHAR);
  57. PROCEDURE ReadLn(F: FILE);
  58. PROCEDURE NextChar(F: FILE):CHAR;
  59.  
  60. (*-----------------------------------------------------------------*
  61.  * Output Procedures                                               *
  62.  *-----------------------------------------------------------------*)
  63.  
  64. PROCEDURE WriteChar(F: FILE; ch: CHAR);
  65. PROCEDURE WriteLn(F: FILE);
  66. PROCEDURE WriteString(F: FILE; str: ARRAY OF CHAR);
  67. PROCEDURE WriteCard(F: FILE; num: CARDINAL);
  68.  
  69. (*-----------------------------------------------------------------*
  70.  * Termination Procedure                                           *
  71.  *-----------------------------------------------------------------*)
  72.  
  73. PROCEDURE CloseAllFiles;
  74.  
  75. END FIO.
  76.