Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Teoria 158783 .doc
Скачиваний:
6
Добавлен:
25.09.2019
Размер:
1.72 Mб
Скачать

Файлы с типом

Состоят из однотипных компонент, тип которых указан при обьявлении.

Пример 5.1.

Примеры объявления файлов с типом.

Type

Zap = Record

I: Integer;

R: Real

End;

Var

F1: File Of Real;

F2: File Of Char;

F3: File Of String[50];

F4: File Of Zap;

F5: File Of Integer;

Здесь F1 - F5 – это файловые переменные.

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

  1. Процедура Assign

Процедура Assign – связывает файловую переменную с внешним файлом на диске. Описана в п.5.2.

  1. Процедура Rewrite (f)

Процедура Rewrite (F) – создает и открывает новый файл F.

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

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

Если ранее в файл были записаны какие-либо элементы, они становятся недоступными.

Результат выполнения процедуры Rewrite(F) изображает Рисунок 5 .38.

Рисунок 5.38 – Результат выполнения процедуры Rewrite(F)

Перед использованием процедуры Rewrite файл F должен быть связан с внешним файлом (набором данных) процедурой Assign.

Таким образом, процедура Rewrite создает новый внешний файл с именем, присвоенным переменной F процедурой Assign.

  1. Процедура Write (f, v1 [, v2, … , vn])

Процедура Write (F, V1 [, V2, … , VN]) – записывает в ту позицию файла, на которую указывает окно, очередной элемент файла, равный значению переменной Vi. После записи переменной Vi окно сдвигается на следующую позицию файла. Если окно достигает конца файла, файл расширяется.

Результат выполнения процедуры Write (F, V1, V2) изображает Рисунок 5 .39.

Рисунок 5.39 – Результат выполнения процедуры Write (F, V1, V2)

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

Пример 5.2.

Пример создания файла.

Var

F1: File Of Char;

X: Char;

Begin

Assign (F1, ‘Newfile’);

Rewrite (F1);

For I:=1 To 100 Do

Begin

<Операторы программы>

Write (F1, X) {X – переменная, получаемая при

выполнении программы}

End;

. . .

  1. Процедура Reset (f)

Процедура Reset (F) – открывает существующий файлF.

Фактически при этом открывается внешний файл с именем, присвоенным переменной F процедурой Assign. Если файл с данным именем не существует, возникает сообщение об ошибке.

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

Процедура Reset(F) может быть применена к файлу любое количество раз. При выполнении этой процедуры содержимое файла не изменяется.

Результат выполнения процедуры Reset(F) изображает Рисунок 5 .40.

Рисунок 5.40 – Результат выполнения процедуры Reset(F)

  1. Процедура Read (f, V [, v2, …, vn])

Процедура Read (F, V [, V2, …, VN]) – обеспечивает чтение текущего элемента файла F (того элемента, на который указывает окно) в переменную Vi и передвигает окно на следующую позицию файла.

Чтение из файла с помощью процедуры Read можно производить только для предварительно открытого файла.

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

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

Результат выполнения процедуры Read (F,V1,V2) изображает Рисунок 5 .41.

Рисунок 5.41 - Результат выполнения процедуры Read (F, V1, V2)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]