Классификация файлов

В зависимости от способа объявления можно выделить три вида файлов:

· Типизированные файлы (задаются предложением FILE OF);

· Текстовые файлы (определяются типом TEXT);

· Нетипизированные файлы (определяются типом FILE);

Вид файла определяет способ хранения информации в файле.

В зависимости от метода доступа различают:

· Файлы последовательного доступа;

· Файлы прямого доступа.

Типизированные и нетипизированные файлы относятся к файлам прямого и последовательного доступа, а текстовые файлы – к файлам последовательного доступа.

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

Формат оператора:

ASSIGN(intname, extname),

где intname – внутреннее имя файла или файловая переменная;

extname – внешнее имя файла (стринговая переменная, например, string[w], которая предназначена для хранения текста длинной w, составленного из значений типа char).

Например, ASSIGN(F,’D:\PROGRAM.DAT’);

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


Чтение файла

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

Для чтения файла необходимо выполнить следующие действия:

1. Открыть файл для чтения оператором RESET(имя файла);

2. Ввести данные файла в программу: READ(имя файла, параметры);

3. Закрыть файл для чтения CLOSE(имя файла);

Файл, из которого считываются данные, называется входным файлом.

Оператор RESET может встречаться неоднократно. После его выполнения указатель файла устанавливается на первый элемент и готов к чтению сначала, то есть данные внешнего файла можно считать более чем один раз.

Так как число элементов не задаётся, то для определения конца ввода используется стандартная функция EOF(имя файла). Если указатель файла находится за последним элементом, то функция принимает истинное значение, в противном случае – ложное.

Например,

{раздел описаний}

begin

{главная программа}

ASSIGN(F,’D:\PROGRAM.DAT’);

RESET(F);

{текст программы}

WHILE NOT EOF(F) DO

BEGIN

END;

CLOSE(F);

END.