Работа с текстовыми файлами

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

Пример.

Type

UnTyp = file;

Файловые переменные имеют специфическое применение. Над ними нельзя выполнять никаких операций (присваивать значение, сравнивать и т. д.). Их можно использовать лишь для выполнения операций с файлами (чтения, записи, удаления файла и т. д.). Кроме того, через файловую переменную можно получить информацию о конкретном файле (тип, параметры, имя файла и т. д.).

Для организации работы с файлом нужно выполнить следующие действия:

- связать файловую переменную с файлом на диске;

- открыть файл;

- выполнить операции с файлом (например, чтение или запись);

- закрыть файл.

Процедура ASSIGN(<ф.п.>,<имя файла на диске>) – Связывает файловую переменную (ф.п.) с конкретным файлом на диске (имя файла на диске).

Процедура REWRITE (<ф.п.>) – открывает файл для записи и устанавливает указатель на начало файла. При открытии файла в режиме записи вся содержащаяся в нем информация уничтожается, причем если файла с указанным именем не существует, то он создается.

Процедура RESET (<ф.п.>) – открывает существующий файл для чтения и устанавливает указатель на начало файла, при этом информация остается неизменной. Файл должен существовать, иначе операция открытия завершается с ошибкой.

Процедура APPEND(<ф.п.>) – открывает существующий файл для добавления и устанавливает указатель на конец файла. Используется для работы с текстовыми файлами.

Процедура READ (<ф.п.>,<список_ввода>) – Производит чтение информации из файла.

Процедура WRITE (<ф.п.>,<список_вывода>) – Записывает информацию в файл.

Процедура READLN(<ф.п.>,<перемен.>) – Производит чтение строки из файла, перемещая указатель на следующую строку. Используется для работы с текстовыми файлами.

Процедура WRITELN(<ф.п.>,<перемен.>) – Записывает строку в файл. Используется для работы с текстовыми файлами.

Процедура CLOSE(<ф.п.>) – Закрывает указанный файл.

Функция EOF(<ф.п.>) – Возвращает значение True, если достигнут конец файла, иначе – False.

Функция EOLN(<ф.п.>) – Возвращает значение True, если достигнут конец строки файла, иначе – False.

Пример:

Assign (F, ’C:\f1.txt’);

Rewrite (F);

Close (F);

Ключи компилятора {$I+} и {$I-} используются для проверки результатов ввода-вывода. Если используется ключ {$I+}, то при возникновении ошибки ввода-вывода программа прекращает работу, данный ключ используется по умолчанию. Если используется ключ {$I-}, то при возникновении ошибки ввода-вывода программа не прекращает работу, а код ошибки можно получить с помощью функции IOResult.

Функция IOResult принимает значение 0, если последняя операция ввода-вывода завершилась успешно, и другое значение – в противном случае. Одновременно значение системной переменной, содержащей код ошибки, сбрасывается в 0. Функцию можно использовать только при наличии ключа компилятора {$I-}.

Пример:

program f_pr;

uses crt;

var

f_in, f_out:text;

r, s, l:real;

begin

clrscr;

{$I-}

assign(f_in,'in_1.txt');

reset(f_in);

{$I+}

if IOResult <> 0

then

begin

writeln('file not found');

readkey;

exit

end;

read(f_in,r);

close(f_in);

s:=pi*r*r;

l:=2*pi*r;

assign(f_out,'out_1.txt');

rewrite(f_out);

write(f_out,s,l);

close(f_out);

end.