Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекция по информатике №8.doc
Скачиваний:
0
Добавлен:
24.11.2019
Размер:
149.5 Кб
Скачать

Лекция 8

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

procedure Erase(var F: <Файловый тип>);

procedure Rename(var F: <Файловый тип>; <Новое имя файла>: string);

procedure MKDir(<Имя папки>: string); // Создает пустую папку

procedure RMDir(<Имя папки>: string); // Удаляет пустую папку

function IOResult: integer;

Функция возвращает значение 0, если операция открытия файла прошла успешно, и значение, отличное от 0, если открытие не заладилось (например, была попытка открыть на чтение файл, которого нет на диске, или была попытка открыть на запись файл с неприемлемым именем).

function EOF(var F: <Файловый тип>) boolean;

Функция возвращает значение true, если маркер файла переместился за последний байт файла (достигнут конец файла).

Замечание

Существуют альтернативные варианты процедур:

procedure Rename(var F <Файловый тип>; <Новое имя файла>: PChar);

procedure MKDir(<Имя папки>: PChar);

procedure RMDir(<Имя папки>: PChar);

PChar – специальный «строковый» тип, разговор о нём пойдёт позже.

Замечание

Файловых типов в языке Паскаль может быть три: текстовые файлы, типизированные файлы и файлы без типа.

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

Тип «Текстовый файл», или файл последовательного доступа, предназначен для работы с т.н. текстовыми файлами (на дисках и не только). Признаком текстового файла является множество байтовых пар с кодами 13 и 10. В литературе для них встречается обозначение CR (Carriage Return, возврат каретки) и LF (Line Feed, перевод строки). Между парами с кодами 13 и 10 обычно стоят символы разговорных алфавитов, образующие осмысленный текст. Для служебных целей текстовые файлы могут содержать, например, числа, представляющие входной набор данных для программы.

<Объявление текстовой файловой переменной> ::=

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

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

Синтаксис TP7:

procedure Assign(var F: <Файловый тип>; <Имя файла>: string);

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

procedure Reset(var F: <Файловый тип>);

Процедура открывает файл для чтения (данных из файла).

procedure Rewrite(var F: <Файловый тип>);

Процедура открывает файл для записи (данных в файл).

procedure Append(var F: <Файловый тип>);

Процедура открывает файл для ДОзаписи данных в конец файла.

procedure Close(var F: <Файловый тип>);

Процедура закрывает ранее открытый файл.

function Assign(var F: <Файловый тип>; <Имя файла>: string);

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

function EOLN(var F: <Файловый тип>) boolean;

Функция возвращает значение true, если маркер файла переместился за последний байт строки (достигнут конец строки).

function SeekEOLN(var F: <Файловый тип>) boolean;

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

function SeekEOF(var F: <Файловый тип>) boolean;

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

procedure Flush(var F <Файловый тип>);

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

procedure Read(var F <Файловый тип>; <Список ввода>);

Производится чтение данных из текстового файла в переменные, представленные в <Списке ввода>. Разделителями между данными служат пробелы либо символы подчеркивания. Переход на следующую строку файла происходит только в случае, если текущая строка уже исчерпана.

procedure Readln(var F < Файловый тип>; <Список ввода>);

Производится чтение данных из текстового файла в переменные, представленные в <Списке ввода> аналогично тому, как это делается процедурой Read. Когда список ввода исчерпан, производится перевод маркера на начало следующей строки текстового файла, даже если до конца текущей строки остаются данные, которые не прочтены.

procedure Write(var F <Файловый тип>; <Список вывода>);

Производится запись данных из <Списка вывода> в текстовый файл.

procedure Writeln(var F <Файловый тип>; <Список вывода>);

Производится запись данных из <Списка вывода> в текстовый файл. Когда список вывода исчерпан, производится перевод маркера на начало следующей строки текстового файла.

Синтаксис Delphi:

<Объявление текстовой файловой переменной> ::=

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

procedure AssignFile(var F: <Файловый тип>; <Имя файла>: string);

procedure CloseFile (var F: <Файловый тип>);

Процедуры аналогичны соответственно процедурам Assign и Close.

Пример обращения к текстовым файлам приведен в проекте OptPathRDLU.