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

Доступ к файлам данных

Для любой программы, написанной на языке Турбо Паскаль, всегда доступны два текстовых файла со стандартными именами файловых переменных: input – чтение данных с клавиатуры и output – вывод на экран. Эти файловые переменные используются «по умолчанию», т.е. нигде не упоминаются.

Любые другие файлы данных, хранящиеся на диске, становятся доступными программе после выполнения стандартной процедуры открытия файла assign. Эта процедура связывает объявленную в программе файловую переменную с именем существующего или вновь создаваемого на диске файла. Обращение к процедуре имеет вид:

assign(<файловая переменная>, <имя файла>);

<имя файла> – строка или переменная строкового типа.

Например: assign(f, ‘Wed.dat’);

Инициация файла

Инициировать файл данных означает указать направление передачи данных: чтение из файла или запись в файл.

Если файл создан ранее, т.е. является входным, то он инициируется для чтения стандартной процедурой:

reset(<файловая переменная>);

При выполнении процедуры reset специальный указатель строк устанавливается на начало файла, т.е. подготавливается к чтению первой строки.

Инициация записи во вновь создаваемый файл осуществляется с помощью процедуры:

rewrite(<файловая переменная>);

Если происходит инициация записи в существующий файл, то старый файл уничтожается, а указатель устанавливается на первую строку.

Можно добавлять новые данные в конец существующего файла. Для этого надо воспользоваться процедурой:

append(<файловая переменная>);

Стандарные функции и процедуры обработки текстовых файлов

Функции

eoln(<файловая переменная>) – логическая функция, возвращающая значение TRUE, если при чтении обнаружен маркер конца строки, и значение FALSE – в противном случае.

eof(<файловая переменная>) – логическая функция, возвращающая значение TRUE, если при чтении обнаружен маркер конца файла, и значение FALSE – в противном случае.

Процедуры чтения данных из файла

read(<файловая переменная>, <список ввода>);

readln(<файловая переменная>, <список ввода>);

<список ввода> – последовательность переменных целого, вещественного, символьного или строкового типов.

Замечание. Для ввода строковых переменных (string) обязательно используется процедура readln. Вызов процедуры readln без <списка ввода> приведет к пропуску текущей строки.

Процедуры записи данных в файл

write(<файловая переменная>, <список вывода>);

writeln(<файловая переменная>, <список вывода>);

<список вывода> – последовательность выражений целого, вещественного, символьного, строкового или логического типов.

Замечание. При использовании процедуры writeln без <списка вывода> в файл передается только маркер конца строки, что обеспечивает переход на начало следующей строки.

Процедуры закрытия или уничтожения файла

close(<файловая переменная>); – закрытие файла. Закрытый файл нельзя использовать для передачи данных. Однако связь между файловой переменной и именем файла на диске сохраняется, поэтому закрытый файл можно инициировать без дополнительного использования процедуры assign.

erase(<файловая переменная>); – уничтожение (стирание) файла. Перед выполнением данной процедуры файл надо закрыть, если он ранее был инициирован процедурами reset, rewrite или append.