Последовательный и прямой доступ к файлу.

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

херачим ресунок

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

FileSize(var f:file):LongInt;//возврашает числа записей или блоков в файле f.

FilePos(var f:file):LongInt;//возврашает номер записи в открытом файле f, предшествуюшей той, которая будет считана или записана последующей операцией ввода – вывода.

Seek(var f:file;n:LongInt);// устанавливает текушей записью в файле f компоненту с номер N

Truncate(var f:file);//отсекает часть файла начиая с той позиции, которая была бы считанна последующей операцией.

Эти процедуры не применимы к текстовым файлам.

Пример.

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