Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конструирование программ.doc
Скачиваний:
12
Добавлен:
05.05.2019
Размер:
12.37 Mб
Скачать

3.4.2 Типизированные файлы

Если все операции ввода-вывода с файлом используют данные некоторого определенного типа T, то такой файл называют типизированным. Такому файлу соответствует тип файловой переменной – file of T.

Часто компонентами типизированного файла являются записи.

Пример описания типизированного файла:

type

Student = record

name : string[20];

gruppa : string[5];

number: integer;

end;

var

F: file of Student;

Стандартные процедуры и функции работы с типизированными файлами

AssignFile(F, Str) – процедура определения файловой переменной. F – файловая переменная, Str – строка, содержащая путь к файлу и его имя.

Rewrite(F) – процедура открытия файла для записи (создание нового файла).

Reset(F) – процедура открытия существующего файла для чтения.

Read(F, P) – процедура чтения данных из файла. P – переменная того же типа, что и компоненты файла.

Write(F, P) – процедура записи данных в файл.

Seek(F, n) – процедура устанавливает указатель текущей позиции файла на компонент с порядковым номером n (n = 0, 1, 2, …). Обеспечивает прямой доступ к данным.

CloseFile(F) – процедура закрытия файла.

Truncate(F) – процедура уничтожает все компоненты файла, начиная с текущего, и подготавливает файл для записи.

Eof(F) – функция проверки маркера конца файла. Функции возвращает True, если указатель текущей позиции файла находится сразу за последней его компонентой, и False – в противном случае.

FilePos(F) – функция возвращает номер текущего компонента файла.

FileSize(F) – функция возвращает длину файла – количество компонент в файле.

IOResult – функция возвращает код ошибки последней операции ввода-вывода. Если IOResult(F) = 0, операция ввода-вывода успешно завершилась – ошибки нет. Для использования данной функции в программе необходимо отключить системную обработку ошибок ввода-вывода {$I-} перед выполнением операции с файлом, а потом вернуть обработку ошибок системе – {$I+}.

Пример обработки ошибки при открытии файла:

var

F: file of byte;

begin

AssignFile(F, 'MyFile');

{$I-}

Reset(F);

{$I+}

if IOResult = 0 then

Writeln('Размер файла в байтах: ', FileSize(F))

else

Writeln('Файл не найден');

end.

3.4.3 Текстовые файлы

Текстовый файл – это файл, компонентами которого являются символы. Текстовые файлы – это одна из форм последовательных файлов. Поэтому с ними можно производить те же действия, что и с последовательными файлами.

Особенностью является наличие специальной процедуры (Append) открытия существующего файла для записи в него новых компонент.

Синтаксис описания файловых переменных текстового файла:

<имя файловой переменной> : text;

Процедуры и функции работы с текстовыми файлами

AssignFile(F, Str) – процедура определения файловой переменной. F – файловая переменная, Str – строка, содержащая путь к файлу и его имя.

Rewrite(F) – процедура создания нового файла. Файл открывается для записи. Указатель текущей позиции в файле устанавливается на начало файла.

Append(F) – процедура открытия существующего файла для добавления (записи) данных. Указатель текущей позиции в файле устанавливается на его конец.

Reset(F) – процедура открытия существующего файла для чтения. Указатель текущей позиции в файле устанавливается на начало файла.

CloseFile(F) – процедура закрытия файла.

Read(F, Ch) – процедура считывания символа из файла. Ch – переменная типа char.

Readln(F, Str) – процедура считывает строку из файла. Str – переменная типа string.

Write(F, Ch) – процедура записывает символ в файл.

Writeln(F, Str) – процедура записывает строку в файл.

Eoln(F) – функция возвращает True, если указатель текущей позиции в файле достиг маркера конца строки.

SeekEof(F) – функция возвращает True, если указатель текущей позиции в файле достиг маркера конца файла.