Функции для работы с типизированными файлами

End.

Repeat

Begin

3 -1 5 12 -6

Begin

Read(f_int,n); читаем из него очередную запись в переменнуюn

Write(n:5); выводим прочитанное значение на экран

End;

WriteLn; текстовый курсор – в начало новой строки
на экране

Внимание! Оператор ReadLn при чтении типизированных файлов использовать нельзя.

Таким образом, типизированный файл читается с помощью цикла с предусловием While. Условие окончания цикла – чтение метки конца цикла EOF.

После окончания работы с файлом он должен быть закрыт оператором:

Close(файловая переменная);

Например,

Close(f_int);

Пример записать в целочисленный файл несколько чисел, вводимых с экрана. Конец ввода – число 0. Прочитать эти числа из файла и вывести их на экран в одну строку.

Интерфейс программы:

Введите число: 3

Введите число: -1

Введите число: 5

Введите число: 12

Введите число: -6

Введите число: 0

Введены числа:

Программа:

Program File_1;

Uses CRT;

Var n : Integer;

f_int : File Of Integer;

ClrScr;

Assign(f_int, ‘d:\User\f_int.dat’);

ReWrite(f_int);

Write(‘Введите число:’);

ReadLn(n);

If (n <> 0)

Then Write(f_int,n);

Until (n=0);

ReSet(f_int);

Схема алгоритма: While Not(EOF(f_int)) Do

Begin

Read(f_int, n);

Write(n:5);

End;

WriteLn;

Close(f_int);

ReadLn;

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

FileSize(файловая переменная) - текущий размер файла – количество записей в файле,

FilePos(файловая переменная) - номер текущей записи в файле – позиция указателя текущей записи (нумерация записей начинается с нуля, номер последней записи на единицу меньше текущего размера файла),

и процедуры:

Seek(файловая переменная, номер) - перемещение указателя на запись с заданным номером (нумерация записей начинается с нуля),

Truncate(файловая переменная) - усечение файла после текущей записи: все записи в файле после текущей удаляются, и после нее ставится метка конца файла EOF,

Erase(файловая переменная)- уничтожение файла – стирание его с диска.

Пример: открыть файл, созданный предыдущей программой, определить его конечный размер, номер начальной записи, поставить указатель на третью запись (по номеру), вывести ее на экран, усечь файл, начиная с нее и вывести новый файл на экран:

Программа:

Program File_1;

Uses CRT;

Var n : Integer;

f_int : File Of Integer;