Руководство по языку B.Pascal 7

       

Значения файлового типа


Значения файлового типа представляются в виде записей. Типи- зированные и нетипизированные файлы занимают 128 байт, которые располагаются по следующей схеме:

type TFileRec = record Handle : word; { описатель } Mode : word; { режим } RecSize : word; { размер записи } Private : array[1..26] of byte; UserData : array[1..16] of byte; Name : array[0..79] of char; end;

Текстовые файлы занимают 256 байт со следующей схемой распо- ложения:

type TTextBuf = array[0..127] of char; TTextRec = record Handle : word; Mode : word; BufSize : word; Private : word; BufPos : word; BufEnd : word; BufPtr : ^TTextBuf; OpenFunc : pointer; InOutFunc : pointer; FlushFunc : pointer; CloseFunc : pointer; UserData : array[1..16] of Byte; Name : array[0..79] of Char; Buffer : TTextBuf; end;

В переменной Наndlе содержится номер описателя файла (когда файл открыт). Это значение возвращается DOS.

Поле Моdе считается равным одному из следующих значений:

const fmClosed = $D7B0; fmInput = $D7B1; fmOutput = $D7B2; fmInOut = $D7B3;

Значение fmClosed показывает, что файл закрыт. Значения fmInput и fmOutput показывают, что файл является текстовым файлом и что для него была выполнена процедура Reset (fmInput) или Rewrite (fmOutput). Значение fmOutput показывает, что переменная файлового типа является типизированным или нетипизированным фай- лом, для которого была выполнена процедура Reset или Rewrite. Лю- бое другое значение говорит о том, что для файловой переменной присваивание не было выполнено (и она, таким образом, не инициа- лизирована).

Поле UserData в Borland Pascal недоступно, и пользователь- ские программы могут сохранять в нем данные.

Поле Nаме содержит имя файла, которое представляет собой последовательность символов, оканчивающуюся нулевым символом (#0).

Для типизированных и нетипизированных полей RесSizе содержит длину записи в байтах, а поле Рrivate зарезервировано, но являет- ся свободным.

Для текстовых файлов BufPtr является указателем на буфер размером BufSize, BufPоs представляет собой индекс следующего символа в буфере, который должен быть записан или прочитан, а BufEnd - счетчик допустимых символов в буфере. Указатели OpenFunc, InOutFunc, FlushFunc и CloseFunc служат для ссылки на программы ввода-вывода и используются для управления файлом. В Главе 14 в разделе под заглавием "Драйверы устройств для тексто- вых файлов" приводится дополнительная информация по этому вопро- су.



Содержание раздела







Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий