Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Зачет по инфе.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
336.26 Кб
Скачать

8.3 Типизированные файлы. Режимы доступа к файлу. Переменная Filemode.

Типизированные файлы–это такой вид файлов, в котором содержатся записи одного типа и фиксированной длины. Часто используется или для организации небольших баз данных, хранения конфигураций, иногда для импорта/экспорта в специальных форматах.Это файлы произвольного доступа. Это означает, возможность чтения или записи любого элемента файла в произвольном порядке. По сути, типизированный файл аналогичен одномерному массиву, только этот массив располагается не в оперативной памяти.

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

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

var FileVar: file of <тип>;

Здесь тип это или предопределенный или пользовательский типы. В качестве типов не могут фигурировать динамические структуры, такие как динамические массивы, длинные строки или любые указатели.

Подпрограммы для работы с типизированными файлами

function read (var F; V1, V2, …);

Читает из типизированного файла F последовательность переменных V1, V2, … того же типа, что и компоненты файла.

function write (var F; V1, V2, …);

Записывает переменные V1, V2, … в типизированный файл

procedure Seek (var F; N: Longint);

Смещает указатель файла F к требуемому компоненту: N – номер компонента файла.

function FileSize (var F):LongInt;

Возвращает количество компонентов файла.

function FilePos (var F):LongInt;

Возвращает текущую позицию в файле.

procedure Truncate(var F);

Удаляет все компоненты из файла, начиная с текущей позиции.

Режим, в котором будет открыт файл при использовании процедуры Reset, определяется значением переменной Filemode, описанной в модуле System.

Режимы работы с файлом, определяемые переменной Filemode:

fmOpenRead

Файл открывается только для чтения (значение 0).

fmOpenWrite

Файл открывается только для записи (значение 1).

fmOpenReadWrite

Файл открывается для чтения и записи (значение 2).

Режимы общего доступа, определяемые переменной Filemode

fmShareExclusive

Запрет на чтение и на запись для других процессов.

fmShareDenyWrite

Запрет на запись для других процессов.

fmShareDenyNone

Полный доступ для других процессов.