| >Текст-файл
| >[13][10]
| >Вы читаете текстовый файл, который [13][10]
| >может храниться на диске или печататься [13][10]
| >на принтере.[13][10]
| >В нем можно хранить цифровые записи чисел:[13][10]
| >123 456 789 0[13][10]
| >234 567 890 1[13][10]
| >1.2 3.4 5.60 4[13][10]
| >-100.254 [13][10]
| >Конец файла[13][10]
| >[26]
Цифры в квадратных скобках — управляющие коды с тем же номером, т.е. [13]=#13. в файле они занимают по одному символу и в текстовых режимах, как правило, на экран и принтер не выводятся (но управляют выводом).
Заметьте, что каждая строка заканчивается признаком конца строки, даже пустая (1-ая сверху). Самый последний символ в файле — признак его конца. Реально файл хранится как сплошная последовательность символов и разбивается на строки лишь при его выводе на экран или печать. Пустой текстовый файл содержит один символ #26.
Для работы с текстовым файлом необходимо определить файловую переменную (переменную логического файла):
VAR
f : Text;
и дальше связать ее с физическим файлом стандартной процедурой Assign, после чего файл можно открывать.
В системной библиотеке Турбо Паскаля определены две текст-файловые переменные: Input и Output. Они связаны с устройством 'CON' (или фиктивным устройством CRT, если подключен модуль CRT) автоматически. И если в процедурах ввода опущено имя файла, то считается, что ввод идет из системного файла Input (это клавиатура) , а если имя файла опущено в операторе вывода, то в файл Output (вывод идет на экран).
Текстовые файлы в Турбо Паскале — это вовсе не аналоги файлов типа File of Char. Знак равенства между этими типами можно поставить лишь со значительными оговорками.
12.6.1. Текст-ориентированные процедуры и функции
Кроме общих для всех файлов процедур и функций, определены еще несколько, работающих только с текстовыми файлами (табл. 12.3).
Таблица 12.3
Процедуры и функции | Действие |
SetTextBuf( VAR f : Text; VAR Buf [; BufSize : Word] | Устанавливает размер буфера файла f равным BufSize байт. Должна выполняться перед открытием файла f. Буфер размещается в переменной Buf. |
Append( VAR f : Text) | Открывает текстовый файл f для дозаписи в конец файла |
- 232 -
Flush( VAR f : Text) | Выводит текущее содержимое буфера f в физический файл, не дожидаясь заполнения буфера до конца. Имеет смысл только при записи в файл |
EOLn( VAR f : Text) : Boolean | Функция возвращает True, если текущая позиция в файле — конец строки или конец файла, и False, если нет |
SeekEOLn( VAR f : Text) : Boolean | Функция возвращает True, если достигнут конец строки или конец файла, или перед ними стоят лишь пробелы и (или) символы табуляции (#9) |