Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TURBO_PASCAL.doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
8.23 Mб
Скачать

12.5.5. Удаление файлов

Процедура Erase ( VAR f ) уничтожает (стирает) физический файл на носителе (диске). Файловая переменная f должна быть предварительно связана с существующим физическим файлом. Сам файл к моменту вызова Erase должен быть закрыт.

Чтобы уничтожить файл с именем FileName, достаточно конструкции:

Assign( f, FileName ); Erase( f );

где f — файловая переменная любого типа.

Если файл с именем FileName не существует, возникнет сбой при попытке уничтожить его.

12.5.6. Анализ состояния файлов

Логическая функция EOF(VAR f ) : Boolean возвращает значение True, когда при чтении достигнут конец файла f. Это означает, что уже прочитан последний элемент в файле или файл f после открытия оказался пуст. Во всех остальных случаях функция возвращает значение False. Состояние EOF обновляется автоматически при каждом обращении к процедуре ввода данных. Файл f должен быть открыт.

Обращение к EOF без указания файла соответствует анализу конца стандартного файла Input (как правило, связанного с клавиатурой). Стандартный файл считается текстовым, и конец файла в нем обозначен символом #26 (в прочих, нетекстовых файлах, явного обозначения конца файла не существует).

Назначение функции EOF — указывать на возникновение конца файла. Наиболее часто EOF используется в цикле while, читающем файл до конца:

while not EOF(f) do { пока не достигнут конец файла f,}

Read( f, ... ); { читать данные из этого файла} {229}

Эта конструкция гарантирует, что чтение прекратится только после считывания последнего элемента в файле с логическим именем f. Обратите внимание, что используется именно цикл while...do, а не repeat...until. Функция EOF постоянно следит за статусом чтения и позволяет опознать конец файла до того, как мы его непосредственно прочитаем.

12.6. Текстовые файлы

Определение «текстовые файлы — это те, которые выдают или принимают текстовую информацию» в целом правильно, но не слишком развернуто. Дадим другое определение: текстовые файлы — это файлы, в которых:

1) информация представляется в текстовом виде посредством символов в коде ASCII;

2) порции информации могут разделяться на строки. Признаком конца строки служит символ #13 (код 13 — CR). Он может быть объединен с символом перевода строки #10 (код 10 — LF);

3) конец файла обозначается явно символом ^Z (код 26);

4) при записи чисел, строк и логических значений они преобразуются в символьный (текстовый) вид;

5) при чтении чисел и строк они автоматически преобразуются из текстового представления в машинное.

Бытовые примеры текстовых файлов просты. Если файл можно вывести на экран в текстовом режиме и прочитать его, то это — текст. Клавиатура посылает в компьютер «сплошной» текст-файл. Компьютер посылает на принтер текст-файл, даже если принтер рисует в графическом режиме. Рассмотрим коротенький текст-файл:

Текст-файл

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

{230}

Цифры в квадратных скобках — управляющие коды с тем же номером, т.е. [13]=#13. в файле они занимают по одному символу и в текстовых режимах, как правило, на экран и принтер не выводятся (но управляют выводом).

Заметьте, что каждая строка заканчивается признаком конца строки, даже пустая (1-ая сверху). Самый последний символ в файле — признак его конца. Реально файл хранится как сплошная последовательность символов и разбивается на строки лишь при его выводе на экран или печать. Пустой текстовый файл содержит один символ #26.

Для работы с текстовым файлом необходимо определить файловую переменную (переменную логического файла):

VAR

f : Text;

и дальше связать ее с физическим файлом стандартной процедурой Assign, после чего файл можно открывать.

В системной библиотеке Турбо Паскаля определены две текст-файловые переменные: Input и Output. Они связаны с устройством 'CON' (или фиктивным устройством CRT, если подключен модуль CRT) автоматически. И если в процедурах ввода опущено имя файла, то считается, что ввод идет из системного файла Input (это клавиатура) , а если имя файла опущено в операторе вывода, то в файл Output (вывод идет на экран).

Текстовые файлы в Турбо Паскале — это вовсе не аналоги файлов типа File of Char. Знак равенства между этими типами можно поставить лишь со значительными оговорками.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]