Естественный доступом к компонентам файла, являеться последовательный. Короче как массив. Однако реализован и прямой доступ, который дает возможность пазиционирования на требуемую запись.
херачим ресунок
Поскольку фактически пронумерованны не элементы файла, а гранцы между ними, реальный номер записи всегда на единицу больше чем номер границы перед ней. Следует учитывать, что границ между элементами нет, это чистая условность.
FileSize(var f:file):LongInt;//возврашает числа записей или блоков в файле f.
FilePos(var f:file):LongInt;//возврашает номер записи в открытом файле f, предшествуюшей той, которая будет считана или записана последующей операцией ввода – вывода.
Seek(var f:file;n:LongInt);// устанавливает текушей записью в файле f компоненту с номер N
Truncate(var f:file);//отсекает часть файла начиая с той позиции, которая была бы считанна последующей операцией.
Эти процедуры не применимы к текстовым файлам.
Пример.
Дан файл целых чисел, удалить компненту с заданным номером. Вставить новый элемент в конец файла