Типы файловых записей
Определение записей, используемых Turbo Pascal, определены в модуле Dos. FileRec используется для типизированных и не типизированных файлов, а TextRec – внутренний формат переменной типа Text. type {типизированные и не типизированные файлы} FileRec=record Handle: Word; Mode: Word; RecSize: Word; Private: array [1..6] of Byte; UserData: array [1..16] of Byte; Name: array [0..79] of Char; end; {тип записи для текстовых файлов} TextBuf=array [0..127] of Char; TextRec=record Handle: Word; Mode: Word; BufSize: Word; Private: Word; BufPos: Word; BufEnd: Word; BufPtr: ^TextBuf; OpenFunc: Pointer; InOutFunc: Pointer; FlushFunc: Pointer; CloseFunc: Pointer; UserData: array [1..16] of Byte; Name: array [0..79] of Char; Buffer: TextBuf; end;
Тип Registers. Переменные типа Registers используются процедурами Intr и MS DOS для указания входных значений содержимого регистров и проверки выходных значений содержимого регистров процессора для программного прерывания. type Registers=record Case Integer of 0: (AX, BX, CX, DX, BP, SI, DI, DS, ES, Flags: Word); 1: (AL, AH, BL, BH, CL, CH, DL, DH: Byte); end;
Заметим, что можно пользоваться одновременно 8-разрядными и 16-разрядными регистрами. Тип DataTime. Переменные типа DataTime используются в сочетании с процедурами UnpacTime и PackTime для проверки и создания 4-байтных упакованных значений даты и времени в процедурах GetFTime, SetFTime, FindFirst и FindNext: type DataTime=record Year, Month, Day, Hour, Min, Sec: Integer; end; Диапазон допустимых значений: Year 1980.. 2009, Month 1..12, Day 1..31, Hour 0..23, Min 0..59, Sec 0..59. Тип SearchRec. Переменная типа SearchRecиспользуется процедурами FindFirst и FindNext для просмотра справочников: type SearchRec=record Fill: array [1..21] of Byte; Attr: Byte; Time, Size: Longint; Name: String [12]; end;
Информация, найденная для каждого файла одной из этих процедур, возвращается в SearchRec. Поле Attr содержит атрибуты файла (сформированного из констант атрибутов), Time содержит упакованные время и дату, Size содержит размер файла в байтах и Name содержит имя файла. Поле Fill резервируется операционной системой и никогда не должно модифицироваться. Строковые типы обработки файлов. Эти строковые типы используются в процедуре FSplit: DirStr=String [67]; {строка устройства и справочника} NameStr= String [8]; {строка имени файла} ExtStr= String [4]; {строка расширения файла} ComStr= String [127]; {командная строка} PathStr= String [79]; {полная строка пути файла}
Переменные.
|