Для описания текстовых файлов в языке определен стандартный тип Тext:
var f1, f2: text;
Пример: описание текстового файла в разделе var
var
t: text;
Для операций над текстовыми файлами, кроме перечисленных в параграфе «Файлы», определены также следующие процедуры:
Readln(T, x1, x2, …, xN) – реализует чтение из файла T N значений исходных данных и пропуск остальных значений до начала следующей строки. Считанные значения присваиваются переменным x1, x2, ..., xN.
Readln(T) – пропускает в файле T одну строку данных.
Writeln(T, x1, x2, …, xN) – реализует вывод в файл T значений x1, x2, ..., xN и переход к началу следующей строки.
Writeln(T) – вставляет признак конца строки в текущую позицию файла T.
Здесь Т –текстовый файл, а переменные x1, x2, …, xN могут быть целого, действительного, символьного, логического типа или строкой. При записи значений переменных в файл они преобразуются из внутреннего представления в текстовый.
Строки в тестовых файлах имеют переменную длину.
Каждая строка завершается признаком конца строки. Проверить, достигнут ли признак конца строки, можно с помощью функции:
EOLn (var T: Text): Boolean;
где Т – имя текстового файла. Функция возвращает значение True, если конец строки достигнут, и значение False, если конец строки не достигнут.
При работе с текстовыми файлами бывает удобно также использовать функцию
SeekEOLn(var T: Text): Boolean;
которая возвращает значение True даже в том случае, если конец строки еще не достигнут, но до него остались лишь пробелы.
Аналогичная функция существует и для проверки признака конца файла:
SeekEOF(var f: Text): Boolean;
Функция возвращает значение True, если до конца файла остались лишь пустые строки и строки, заполненные пробелами.
В Паскале существуют и дополнительные процедуры и функции, применимые только к текстовым файлам. Рассмотрим их подробнее.
Процедура SetTextBuf(var T: Text; var Buf; BufSize: Word) служит для увеличения или уменьшения буфера ввода-вывода текстового файла T. Значение размера буфера для текстовых файлов по умолчанию равно 128 байтам. Изменять размер буфера рекомендуется до открытия файла. Буфер файла начнется с первого байта переменной Buf. Размер буфера задается в необязательном параметре BufSize, а если этот параметр отсутствует, то определяется длиной переменной Buf.
Процедура Append(var T: Text) служит для специального открытия выходных файлов. Она применима к уже существующим физическим файлам и открывает их для дозаписи в конец файла.
Процедура Flush(var T: Text) применяется к открытым выходным файлам. Она принудительно записывает данные из буфера в файл независимо от степени его заполнения.