filesize(f) — возвращает текущее число компонент открытого файла;
filepos(f) — возвращает номер текущей позиции маркера;
seek(f,N) — устанавливает маркер на позицию N;
rename(f,имя) — переименование файла, связанного с f;
erase(f) — уничтожение файла;
execute(f) — выполнение COM-файла;
eof(f) — возвращает TRUE, если найден конец файла;
eoln(f) — возвращает TRUE, если найден конец строки.
Текстовые файлы предназначены для хранения текстовой информации. Они трактуются в Турбо Паскале как совокупность строк переменной длины. Доступ к каждой строке возможен лишь последовательно, начиная с первой. При создании текстового файла в конце каждой записи (строки) ставится специальный признак EOLN (End Of LiNe – конец строки), а в конце всего файла – признак EOF (End Of File- конец файла). При формировании текстовых файлов используются следующие системные соглашения :
EOLN- последовательность кодов ASCII #13(Cr) и #10 (LF);
EOF – код #26 стандарта ASCII.
Для доступа к записям применяются процедуры READ, READLN, WRITE, WRITELN.
Они отличаются возможностью обращения к ним с переменным числом фактических параметров, в качестве которых могут использоваться символы, строки и числа. Первым параметром в любой из перечисляемых процедур может стоять файловая переменная. В этом случае осуществляется обращение к дисковому файлу или логическому устройству, связанному с переменной процедурой ASSIGN. Если файловая переменная не указана, происходит обращение к стандартным файлам INPUT и OUTPUT.
Процедура READ обеспечивает ввод символов, чисел и строк.
список – последовательность одной или более переменных типа char, string, а так же любого целого или вещественного типа.
При вводе переменных типа char выполняется чтение одного символа из файла и присваивание считанного значения переменной.
При вводе переменных типа string количество считанных процедурой и помещенных в строку символов равно максимальной длине строки, если только раньше не встретились символы CR или EOF. В этом случае сами символы CR и EOF в строку не помещаются. Если количество символов во входном потоке данных больше максимальной длины строки, «лишние» символы до конца строки отбрасываются, а новое обращение к READ возвращает пустую строку. Таким образом, процедура READ не в состоянии прочесть последовательность строк: первая строка будет прочтена нормально, а все последующие окажутся пустыми. Для ввода последовательности строк нужно использовать процедуру READLN .
Процедура READ прекрасно приспособлена к вводу чисел. При обращении к ней за вводом очередного целого или вещественного числа процедура «перескакивает» маркеры конца строк, т.е. фактически весь файл рассматривается как одна длинная строка, содержащая текстовое представление чисел. При заполнении файла вручную, числа должны разделяться пробелами.
Процедура READLN обеспечивает ввод символов, строк и чисел. Эта процедура идентична процедуре READ за исключением того, что после считывания последней переменной оставшаяся часть строки до маркера пропускается, поэтому следующее обращение к READLN или READ начинается с первого символа новой строки.
Процедура WRITE обеспечивает ввод информации в текстовый файл или передачу ее на логическое устройство. Формат обращения: WRITE (файловая переменная, список);
список – последовательность одной или более переменных типа char, string, boolean, а так же любого целого или вещественного типа. При выводе логических выражений в зависимости от их значения выводятся строки TRUE или FALSE.(Ввод логических констант процедурами READ или READLN не предусмотрен).
Процедура WRITELN полностью идентична процедуре WRITE, за исключением того, что выводимая строка символов завершается кодами CR и LF.
Пример, иллюстрирующий работу с текстовым файлом. Подсчитывается общее количество символов в файле и результат делится на 40000 – таким способом можно оценить объем рукописи в так называемых учетно-издательских листах: