Программирование в среде Турбо Паскаль (Поляков, Круглов) - страница 148


| >Текст-файл

| >[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)