File Type
  
    
    
     
   
   Formal Definition
  
   A type that provides access to
   objects containing a sequence of values of a given type. File types
   are typically used to access files in the host system environment.
   The value of a file object is the sequence of values contained in the
   host system file. 
  
   Simplified Syntax
  
   type type_name is
    file of type; 
  
   Description
  
   The file type is used to 
   define objects representing files in the host environment. The value 
   of a file object is the sequence of values contained in the physical file. 
  
   The type mark in the file declaration defines the subtype of the 
   values contained in the file. The subtype can be either constrained 
   or unconstrained. The subtype cannot be based on a file type or an 
   access type. If a composite type is used, the elements cannot be of 
   an access type and in case of arrays, it must be a one-dimensional 
   array. Example 1 shows several file type declarations. 
  
   When a file type is 
   declared, several operations on objects of this type are implicitly 
   defined. The list of the operations includes: opening a file, closing 
   a file, reading from a file, writing to a file and checking the end 
   of a file. For a file type declared as 
  
   type FT is
    file of SomeType; 
  
   the implicit operations are as follows: 
  
   procedure FILE_OPEN ( file 
   anonymous: FT; 
  
   External_Name: in STRING; 
  
   Open_Kind: in FILE_OPEN_KIND 
   := READ_MODE ); 
  
   procedure FILE_OPEN ( 
   Status: out FILE_OPEN_STATUS; 
  
   file anonymous: FT; 
  
   External_Name: in STRING; 
  
   Open_Kind: in FILE_OPEN_KIND 
   := READ_MODE ); 
  
   procedure FILE_CLOSE ( file 
   anonymous: FT ); 
  
   procedure READ ( file 
   anonymous: FT; Value: out 
   SomeType ); 
  
   procedure WRITE ( file 
   anonymous: FT; Value: in 
   SomeType ); 
  
   function ENDFILE ( file 
   anonymous: FT ) return BOOLEAN; 
  
   Examples
  
   Example 1 
  
   type POSITIVE_FILE is file of POSITIVE; 
   type BIT_VECTOR_FILE is file of 
   BIT_VECTOR ( 0 to 7 ); 
   type STRING_FILE is file of STRING; 
  
     
   Here, the first type declares a file of positive numbers, the second 
   one - a file of 8-bit wide vectors of bits, and the third one - a 
   file containing an indefinite number of strings of arbitrary length. 
  
   Important Notes
  
  
    
 
    |