Введение в программирование - Учебное пособие (Корочкин А. В.)

15.1 пакет seqentialjo

Предопределенный настраиваемый пакет SeqentialJO обеспечивает файловые типы и операции ввода-вывода последовательных файлов. При последовательном доступе файл рассматривается как последова­тельность значений, предаваемых в порядке их поступления. При от­крытии файла передача начинается с начала файла.

Описание настройки и спецификации пакета SeqentialJO :

with   Ada.lOJExceptions; generic

type  Elemet_Type (<>)  is    private;

package   Ada. SeqentialJO   is

type   File_Type    is    limited    private; type   FileJVIode  is     (ln_File,  Oirt_File,  Append_File); --   управление файлами

in             out     File_Type;

in             FileJVIode := OutJ=ile;

in             String       : =

in             String       : = "" );

procedure Create (File Mode Name Form

in    out in    out in in

File_Jype; FileJVIode; String; String :="");

procedure  Open ( File Mode Name Form

 

out File_Type); out File_Type); out File_TypeJVIode;

FileJVIode); out       File_Type);

procedure  Close  ( File :     in

procedure   Delete ( File :    in

procedure  Reset  ( File :     in

File :       in

procedure   Reset (   File :   in

FileJVIode;

String;

String;

File_Type) return File_Type) return File_Type) return

function Mode ( File            :               in

function Name (File            :               in

function Form ( File             :               in

function IsJDpen ( File   :   in      File_Type)  return    Boolean;

Element_Type); Element_Type);

Операции  ввода-вывода procedure Read ( File : in File_Type ; Item :out procedure Write( File : in File_Type; Item: in

function EndJDfJ=ile( File : in   FileJType)   return   Boolean;

-.-    Исключения

StatusJError : exception renames     IO_Exceptions.Status_Error;

ModeJError   : exception renames   lOJExceptions.ModeJError;

NameJError : exception renames     IOJ5xceptions.Name_Error;

UseJError    : exception renames      IO_Exceptions.UseJ=rror;

DeviceJError: exception renames     IO_Exceptions.DeviceJ=rror;

EndJError    : exception   renames    IOJ=xceptions.EndJError;

DataJError   : exception    renames  IOJ=xceptions.DataJ=rror;

private

...  - -    He определены в языке end Ada. SeqentialJO;

Операции над последовательными файлами выполняются с помощью подпрограмм Read, Write и EndJDf_File.

Procedure Read (File : in   File_Type;   Item :   out    Element_Type ); Читает элемент файла типа   InJFile и вызывает его значение через параметр Item.

185

184

Ада 95. Введение в программирование

Procedure Write ( File: in File_Type; Item : in ElementJType );

Записывает в файл типа Out_File значение параметра Item. Function End_Of_File ( File : in      File_Type );

Если достигнут конец файла, то возвращает значение True , иначе - False.