Изучение принципов алгоритмического программирования на языке Pascal

       

Файлы


Для хранения информации на постоянном носителе используют файлы. Файл в языке Паскаль – поименованная условно-бесконечная последовательность однотипных записей, доступ к которым осуществляется последовательно. Файл по структуре похож на киноплёнку, в которой каждый кадр – запись.

При объявлении переменной типа «файл» не требуется указывать количество записей в файле. При открытии файла указатель текущей позиции устанавливается на первую запись. Прочтение очередной записи переводит указатель на одну запись вперёд, к концу файла. Если прочитана последняя запись, значение функции EOF(<файловая_переменная>) – устанавливается в истину, после чего чтение невозможно.

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

<идентификатор> : file

of <тип записи>;

например, F: file of Byte;

Тип записи может быть любым простым или сложным типом, за исключением файлов. Чаще всего работают с файлами из структур, символов, целых чисел или байтов.

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

Assign (<файловая_переменная>,<строковое_значение>);

например, Assign(F,’a:\data.bin’);

Перед началом работы файл необходимо открыть. В зависимости от смысла операций, файл может быть открыт как на чтение, так и на запись. Открытие на чтение (Reset(<файловая_переменная>)) означает установку указателя текущей записи на первую запись файла. Операция открытия на запись (Rewrite(<файловая_переменная>)) дополнительно удаляет старое содержимое файла.

Ввод и вывод информации в файл осуществляется при помощи стандартных процедур Write и Read. В отличие от вызова их для консольного ввода/вывода, при работе с файлами первым параметром в них передаётся файловая переменная.

Для перемещения по файлу используют процедуру Seek, позволяющую устанавливать произвольную текущую позицию относительно начала или конца файла, а также от текущей позиции.

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




Содержание раздела