home *** CD-ROM | disk | FTP | other *** search
/ The Unsorted BBS Collection / thegreatunsorted.tar / thegreatunsorted / programming / misc_programming / AGUL / WIND_IO.ADB < prev    next >
Encoding:
Text File  |  1990-10-25  |  4.1 KB  |  126 lines

  1. --        ╔═════════════════════════════════════════════════════════════╗
  2. --        ║█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█║
  3. --        ║█                                                           █║
  4. --        ║█                 Meridian Software Systems                 █║
  5. --        ║█                                                           █║
  6. --        ║█                    Copyright (C)  1990                    █║
  7. --        ║█                                                           █║
  8. --        ║█                    ALL RIGHTS RESERVED                    █║
  9. --        ║█                                                           █║
  10. --        ║█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█║
  11. --        ╚═════════════════════════════════════════════════════════════╝
  12. --
  13. ------------------------------------------------------------------------------
  14. --
  15. --   Unit Name: Window_IO           - package body
  16. --
  17. --   Purpose of unit:   This package is called to save and load windows to
  18. --                      and from a disk file.
  19. --
  20. ------------------------------------------------------------------------------
  21.  
  22. with Sequential_io, Ada_io;
  23.  
  24. package body WINDOW_IO is
  25.  
  26.   package FILE_IO is new Sequential_io(ELEMENT_TYPE => BYTE_REC);
  27.  
  28.   WINDOW_FILE : FILE_IO.File_type;
  29.  
  30.   -- ==========================================================================
  31.   --
  32.   --                            CREATE
  33.   --
  34.   -- ==========================================================================
  35.   function CREATE(FILE_NAME : in string) return boolean is
  36.   begin
  37.     FILE_IO.Create(FILE => WINDOW_FILE,
  38.            MODE => FILE_IO.Out_file,
  39.            NAME => FILE_NAME);
  40.     return true;
  41.   exception
  42.     when others =>
  43.       Ada_io.Put_line("Error creating file.");
  44.       return false;
  45.   end CREATE;
  46.  
  47.   -- ==========================================================================
  48.   --
  49.   --                           OPEN
  50.   --
  51.   -- ==========================================================================
  52.   function OPEN (FILE_NAME : in string) return boolean is
  53.   begin
  54.     FILE_IO.Open(FILE => WINDOW_FILE,
  55.          MODE => FILE_IO.In_file,
  56.          NAME => FILE_NAME);
  57.     return true;
  58.   exception
  59.     when others =>
  60.       Ada_io.Put_line("Error opening file.");
  61.       return false;
  62.   end OPEN;
  63.  
  64.   -- ==========================================================================
  65.   --
  66.   --                           READ
  67.   --
  68.   -- ==========================================================================
  69.   procedure READ (REC : out BYTE_REC;
  70.           OK  : out boolean) is
  71.   begin
  72.     FILE_IO.Read(FILE => WINDOW_FILE,
  73.          ITEM => REC);
  74.     OK := true;
  75.   exception
  76.     when others =>
  77.       Ada_io.Put_line("Error reading file.");
  78.       OK := false;
  79.   end READ;
  80.  
  81.   -- ==========================================================================
  82.   --
  83.   --                           WRITE
  84.   --
  85.   -- ==========================================================================
  86.   function WRITE (REC : in BYTE_REC) return boolean is
  87.   begin
  88.     FILE_IO.Write(FILE => WINDOW_FILE,
  89.           ITEM => REC);
  90.     return true;
  91.   exception
  92.     when others =>
  93.       Ada_io.Put_line("Error writing to file.");
  94.       return false;
  95.   end WRITE;
  96.  
  97.   -- ==========================================================================
  98.   --
  99.   --                           END_OF_FILE
  100.   --
  101.   -- ==========================================================================
  102.   function  END_OF_FILE return boolean is
  103.   begin
  104.     return FILE_IO.End_of_file(FILE => WINDOW_FILE);
  105.   exception
  106.     when others =>
  107.       Ada_io.Put_line("Error checking for end of file.");
  108.       return true;
  109.   end END_OF_FILE;
  110.  
  111.   -- ==========================================================================
  112.   --
  113.   --                           CLOSE
  114.   --
  115.   -- ==========================================================================
  116.   function CLOSE return boolean is
  117.   begin
  118.     FILE_IO.Close(FILE => WINDOW_FILE);
  119.     return true;
  120.   exception
  121.     when others =>
  122.       Ada_io.Put_line("Error closing file.");
  123.       return false;
  124.   end CLOSE;
  125.  
  126. end WINDOW_IO;
  127.