Перед чтением-записью данных файл необходимо открыть. Существующий файл можно открыть с помощью процедуры Reset,а новый файл можно создать и открыть с помощью процедуры Rewrite.Кроме того текстовые файлы могут быть открыты процедурой Append для добавления данных в конец файла.
Когда начинается выполнение программы, всегда автоматически открываются стандартные текстовые файловые переменные INPUT и OUTPUT. INPUT – это доступный только для чтения текстовый файл, связанный с клавиатурой, а OUTPUT – это доступный только для записи текстовый файл, связанный с дисплеем.
Любой файл представляет собой последовательность элементов(записей). Каждая запись имеет свой порядковый номер, начиная с 0.
Обычно доступ к файлам организуется последовательно. Для чтения используется процедура Read, а для записи –Write.Текущая позиция файла перемещается к следующей по порядку. При выполнении операций выполняется проверка текущей позиции в файле. Функция Eof проверяет, является ли текущая позиция последней (достигнут ли конец файла). Функция Bof проверяет, является ли текущая позиция первой (начало файла).
Для типизированных и нетипизированных файлов можно организовать прямой доступ с помощью стандартной процедуры Seek,которая перемещает текущую позицию файла к записи с указанным порядковым номером. Можно определить текущую позицию в файле, с помощью функции FilePos.
Размер файла(количество записей) определяют с помощью функцииFileSize.
Процедура CloseFile закрывает файл после завершения обработки файла.
Функция IOResult используется следующим образом: перед фрагментом программы, в котором может возникнуть ошибка ввода-вывода, ставится директива {$1-}, отключающая автоматический контроль операций ввода-вывода. После выполнения опасного участка автоматический контроль включается вновь директивой {$1+} и вызывается функция IOResult. Если операция завершилась успешно, функция возвращает ноль.
Следует помнить, что IOResult становится доступной только при отключении автоматического контроля ошибок ввода-вывода. Если автоматический контроль отключен, а операция ввода-вывода привела к возникновению ошибки, устанавливается флаг ошибки и все последующие обращения к вводу-выводу блокируются, пока не будет вызвана функция IOResult.