Информатика и информационные технологии: конспект лекций - страница 19

Шрифт
Интервал


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

Особое место в языке Pascal занимают текстовые файлы, компоненты которых имеют символьный тип. Для описания текстовых файлов в языке определен стандартный тип Text:

var TF1, TF2: Text;

Текстовые файлы представляют собой последовательность строк, а строки – последовательность символов. Строки имеют переменную длину, каждая строка завершается признаком конца строки.

Компонентные файлы

Компонентный, или типизированный файл, – это файл с объявленным типом его компонент. Компонентные файлы состоят из машинных представлений значений переменных, они хранят данные в том же виде, что и память ЭВМ.

Описание величин файлового типа имеет вид:

type М = File Of Т;

где М – имя файлового типа;

Т – тип компоненты.

Компонентами файла могут быть все скалярные типы, а из структурированных – массивы, множества, записи. Практически во всех конкретных реализациях языка Pascal конструкция «файл файлов» недопустима.

Все операции над компонентными файлами производятся с помощью стандартных процедур.

Write(f,X1,X2,...XK)

Бестиповые файлы

Бестиповые файлы позволяют записывать на диск произвольные участки памяти ЭВМ и считывать их с диска в память. Описываются бестиповые файлы следующим образом:

var f: File;

Теперь перечислим процедуры и функции для работы с различными видами файлов.

1. Procedure Assign(var F; FileName: String);

Процедура AssignFile сопоставляет имя внешнего файла с файловой переменной.

F – файловая переменная любого файлового типа, FileName – выражение типа String или выражение типа PChar, если допускается расширенный синтаксис. Все дальнейшие операции с F производятся с внешним файлом.

Нельзя использовать процедуру с уже открытой файловой переменной.

2. Procedure Close(var F);

Процедура разрывает связь между файловой переменной и внешним дисковым файлом и закрывает файл.

F – файловая переменная любого файлового типа, открытая процедурами Reset, Rewrite или Append. Внешний файл, связанный с F, полностью модифицируется и затем закрывается, освобождая дескриптор файла для повторного использования.

Директива {SI+} позволяет обрабатывать ошибки во время выполнения программы, используя обработку исключительных ситуаций. При выключенной директиве {$1—} необходимо использовать IOResult для проверки ошибок ввода-вывода.

3. Function Eof(var F): Boolean;