- 2.2.6.14. -
Table of Contents
2. TMT Pascal Language Description
2.2. Pascal Language Structure
2.2.6. Types
2.2.6.14. File Types
2.2.6.14. File Types
File types are structures that contain components of any type except another
file type. File types are defined as follows:
File [of Componenttype];
If of is not specified and component types are not indicated then the
file is untyped.
Untyped files are used to access files regardless of their structure. Text
file types refer to a file of ASCII characters grouped in lines. Text is
a predefined type.
The record definitions used internally by TMT Pascal are also declared in
the System unit.
TFileRec is used for both typed and untyped files.
type
TFileRec = object
magic : ^TFileRec;
name : string;
handle : Longint;
rec_len : Longint;
state : flags;
rd_proc,
wr_proc : function (F: Longint; Buf: Pointer; Len: Longint;
var Act: Longint): Longint;
procedure check_magic;
procedure check_opened;
procedure check_readable;
procedure check_writeable;
procedure io_error(code: Integer);
end;
PFileRec = ^TFileRec;
TTextRec is the internal format of a variable of type text.
type
TTextRec = object (TFileRec)
buffer : array [0..63] of Char;
index : Longint;
len_buf : Longint;
max_buf : Longint;
buf_adr : Pointer;
function Eof: Boolean;
procedure init;
procedure fill_buf;
procedure fill_chr;
procedure skip_spaces;
procedure get_n_char(n: Integer);
end;
PTextRec = ^TTextRec;
Internal Type flags is declared as:
type
flags = set of file_state;
where file_state is:
type
file_state = (
file_readable, //00h
file_writeable, //01h
file_opened, //02h
file_assigned, //03h
file_eof, //04h
file_text, //05h
file_file, //06h
file_fileof, //07h
file_tty, //08h
file_special, //09h
file_settextbuf //0Ah
);
- 2.2.6.14. -