TURBO PASCAL |
Новости
|
Значения файлового типаЗначения файлового типа представляются в виде записей. Типи- зированные и нетипизированные файлы занимают 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 в разделе под заглавием "Драйверы устройств для тексто- вых файлов" приводится дополнительная информация по этому вопро- су. |
(с)Все права защищены По всем интересующим вопросам прошу писать на электронный адрес |