Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 10 - Файлы.doc
Скачиваний:
5
Добавлен:
12.07.2019
Размер:
83.97 Кб
Скачать

Тема 10 – Файлы 9 Файлы

В зависимости от способа объявления можно выделить три вида файлов Паскаля:

  • типизированные файлы Паскаля(задаются предложением file of..);

  • текстовые файлы Паскаля(определяются типом text);

  • нетипизированные файлы Паскаля(определяются типом file).

Следует помнить, что физические файлы на магнитных дисках и переменные файлового типа в программе на Паскале – объекты различные. Переменные файлового типа в Паскале могут соответствовать не только физическим файлам, но и логическим устройствам, связанным с вводом/выводом информации. Например, клавиатуре и экрану соответствуют файлы со стандартными именами Input, Output.

Над значениями файлового типа Паскаля не определены какие-либо операции. Все операции могут производиться лишь с элементами (компонентами) файлов. Естественно, что множество операций над компонентами файла определяется типом компонент.

В Турбо-Паскале описанные выше файлы называются логическими. Основное назначение логического файла - обеспечить программе средства для обмена данными с периферийными устройствами компьютера. В связи с этом вводится понятие физического файла, как совокупности данных во внешней памяти (дискета, жесткий диск, магнитная лента и др.) Кроме того, в качестве физического файла могут использоваться и сами периферийные устройства, например, принтер).

Общие процедуры работы с файлами

Процедура или функция

Назначение

Assign (Var f;

FileName: String)

Предназначена для связывания файловой переменной f (формальный файл) с физическим файлом на диске, путь к которому хранится в переменной FileName

Close (Var f)

Предназначена для закрытия файла f

Reset (Var f)

Открывает файл f для чтения, устанавливает указатель на начало файла

Rewrite (Var f)

Открывает файл f для записи, устанавливает указатель на начало файла, стирает предыдущее содержимое файла, если оно было

Erase (Var f)

Предназначена для удаления файла f, файл при этом должен быть закрытым

Rename (Var f;

NewName: String)

Предназначена для переименования файла f, файл при этом должен быть закрытым. В NewName записывается новое имя файла

EOF (Var f): Boolean

Функция выдает результат True, если достигнут конец файла f, т.е. при прочтении последней записи

Текстовые файлы - последовательные файлы

Чтение файла производится только с начала, каждый раз считывается только одна текущая компонента, причем нельзя прочитать текущую компоненту, не прочитав предыдущей. Запись в файл осуществляется только присоединением очередной компоненты к его концу. Число компонент, называемое длиной файла, в определении файлового типа не фиксируется. Эта способность явно отличает понятие файла от понятия массива. Если файл не имеет компонент, то его называют пустым. Для файла имеется специальный признак окончания - конец файла (eof (f)).

Одной из разновидностей последовательных файлов являются текстовые файлы, компонентами которых являются литеры ( стандартный тип CHAR ). Для указания типа файлов в языке ПАСКАЛЬ существует заранее определенный стандартный идентификатор TEXT:

var f1, f2: text;

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

Текстовые файлы – это файлы в которых:

а) информация представлена в текстовом виде посредством символов из набора ASCII;

б) информация может разделяться на строки произвольной длины. Признаком конца строки служат два специальных символа #10 и #13;

в) в конце файла присутствует символ #26;

г) при записи чисел, строк и логических значений они преобразуются в символьный (текстовый вид);

д) при чтении чисел они автоматически преобразуются из текстового в машинное представление.