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

ASSIGN (имя_файла_в_программе, имя_файла_на_носителе) – процедура устанавливает связь между файловой переменной (имя_файла_в_программе) и файлом на носителе.

Здесь:

имя_файла_в_программе - это файловая переменная, т.е. идентификатор, объявленный в программе как переменная файлового типа.

имя_файла_на_носителе – текстовое выражение, содержащее имя файла. Перед именем файла на носителе может быть указан полный путь к файлу – имя диска, имена каталогов вышестоящих уровней, имя текущего каталога. Это единственное место в программе, где используется имя физического файла на носителе. Во всех остальных местах используется имя логического файла, имя файла в программе.

Примеры применения.

1. Закрепление постоянного файла за программой:

ASSIGN (F_PROG, ‘CONST_F.DAT’);

ASSIGN (F_PROG, ‘C:\DIR1\CONST_F.DAT’);

Примечание: 1) если задано имя файла без префикса, то файл располагается в текущем каталоге; 2) при таких вариантах программа зависима от физического файла, с которым она работает.

2. Возможность работы с различными файлами данной структуры:

WRITELN (‘ Введите полное имя файла на диске’);

READLN (FILENAME);

ASSIGN (F_PROG, FILENAME);

Пользователь с клавиатуры вводит полное имя с префиксом, например, C:\DIR1\CONST_F.DAT. Таким образом, достигается независимость программы от конкретного физического файла, т.е. можно обрабатывать различные физические файлы заданной структуры, одинаковой для всех обрабатываемых файлов

RESET (имя_файла_в_программе) – процедура открытия существующего файла

v для чтения при последовательном доступе и

v для чтения и записи при прямом доступе.

Указатель файла при этом устанавливается на первую запись (с 0 номером). Если файл с таким именем не существует, то происходит аварийное завершение программы.

REWRITE (имя_файла_в_программе) – процедура открытия создаваемого файла для записи. Если файл с таким именем не существовал, то он создается и начинается заполнение файла. Если файл с таким именем уже существовал, то он стирается, и заполнение файла начинается заново. Указатель файла устанавливается на первую запись (запись – она же компонент файла).

READ (имя_файла_в_программе, имя_переменной) процедура чтения очередного компонента файла в переменную, тип которой должен совпадать с типом компонентов файла. В принципе, переменных может быть указано несколько:

READ (имя_файла_в_программе, имя_переменной [, имя_переменной …]);

Указатель файла при этом передвигается на количество прочитанных компонентов (сколько переменных в списке).

READLN (имя_файла_в_программе, имя_переменной) применяется для чтения записей из текстового файла.

WRITE (имя_файла_в_программе, имя_переменной

[, имя_переменной …]);

–процедура записи содержимого переменных в файл согласно положению указателя. Указатель автоматически сдвигается на число записанных компонентов. На носитель (диск) записывается копия участкаоперативной памяти, в которой находился очередной компонент (запись) файла, то есть внутреннее, машинное представление её информации, поэтому просмотр содержания файла простыми средствами (программа Блокнот, просмотр по клавише F3 в файловых менеджерах) практически невозможен. Необходимо наличие программы чтения записей из файла и вывода их содержания в отредактированном виде, например, на дисплей.

WRITELN (имя_файла_в_программе, имя_переменной) – применяется для записи компонента в текстовый файл.

SEEK (имя_файла_в_программе, номер_компонента ) – процедура установки текущего указателя для чтения или записи требуемого компонента файла (в качестве номера компонента используется физический номер записи, или номер участка внутри файла). Используется для организации прямого доступа к записям типизированного файла, но может использоваться и при последовательном доступе записям типизированного файла.

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: