СТАНДАРТНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ ДЛЯ РАБОТЫ С ФАЙЛАМИ

 

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

Assign(var F : file; name : string); - связывает имя файловой переменной F в программе с именем внешнего файла на диске name. Здесь name - выражение строкового типа вида

'диск:\имя_каталога\имя_подкоталога\...\имя_файла'

 

Если в параметре name имена диска и подкаталога не указаны, то выбирается текущий диск и текущий каталог. Если вместо name указать '' (без пробела), то файл F оказывается связанным со стандартным файлом ввода Input или со стандартным файлом вывода Output (в зависимости от того, как он будет открыт - для чтения или для записи). После выполнения процедуры Assign все действия над переменной F будут эквивалентны действиям над файлом, определяемым спецификацией name. Процедуру Assign необходимо использовать до начала работы с файлом (до его открытия процедурой reset или rewrite);

Reset(var F : file); - открывает файл F для чтения. При этом указатель файла устанавливается на первый элемент файла и Eof(F) = False.

Если файл пустой, то Eof(F) = True;

Rewrite(var F : file); - открывает новый файл F для записи. При этом уничтожается вся информация в F и Eof(F) = True;

Read(var F: file; var x1, x2, ..., xn); - считывает в переменную x1 один элемент файла F (или несколько элементов в переменные x1, x2, ..., xn), начиная чтение с элемента, на который указывает текущий указатель. Если F опущено, то подразумевается стандартный файл Input. Read выполним только в случае, если Eof(F) = false;

Write(var F : file; var x1, x2, ..., xn); -записывает одно (x1) или более (x1, x2, ..., xn) значений переменных в файл F, начиная с той позиции, на которую установлен указатель. Если F опущено, то подразумевается стандартный файл Output. Write выполним только в случае, если Eof(F) = True;

Close(var F : file) - закрывает файл F;

Seek(var F : file; n : longint); - позволяет осуществить прямой доступ к элементам файла F. Здесь n - целая положительная константа, соответствующая порядковому номеру элемента в файле. Процедура Seek не выполняет операцию чтения или записи элемента файла. Она лишь перемещает указатель файла к элементу с номером n. При этом первый элемент файла имеет номер n = 0, второй - n = 1 и т.д.;

Стандартные функции FilePos(var F : file): longint и FileSize(var F : file): longint позволяют определить соответственно текущее положение указателя (номер элемента) и размер (число элементов) файла F.