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

§7. Внешние файлы

В данном параграфе рассматриваются следующие вопросы: процедуры работы с файлами, создание главного меню,

использование стандартных диалогов

Теория

Процедуры работы с файлами

Файл ― это именованная структура данных, представляющая собой последовательность элементов данного типа, причем количество элементов последовательности практически не ограничено.

Файл должен быть объявлен в разделе описания переменных. В общем виде объявление файла:

Имя: file of ТипЭлементов;

Файл, компонентами которого являются данные символьного типа, называется символьным или текстовым. Описание текстового файла в общем виде:

Имя: TextFile;

где Имя ― имя файловой переменной, TextFile ― обозначение типа, показывающее, что Имя ― это файловая переменная, представляющая текстовый файл.

Примеры описания файлов:

Var Job: file of char; // файл символьного типа

Test: file of real; // файл вещественного типа

Fz: file of integer; // файл целого типа

My_File: TextFile; // файл текстового типа

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

Процедура AssignFile устанавливает физическую связь между файловой переменной f и строковой переменной ИмяФайла:

AssignFile (var f, ИмяФайла: string);

Примеры вызова процедуры AssignFile:

AssignFile(f, ‘d:\Мои документы\result.txt’);

AssignFile(Fin, ‘test011.txt’);

FileName:=’otchet1.txt’;

AssignFile(Fot, FileName); .

Прежде чем записывать информацию в файл необходимо его открыть. Возможны следующие режимы открытия файла для записи в него данных:

― перезапись (запись нового файла поверх существующего или создание нового файла);

― добавление в существующий файл.

Открыть для чтения файл можно с помощью процедуры Reset(f), где f — имя файловой переменной. Процедура Reset ищет файл, открывает его и устанавливает указатель на начало файла. Если файл не найден, выдается сообщение об ошибке ввода/вывода и программа завершает свою работу.

Открыть файл для записи позволяет процедура Rewrite(f), где f — имя файловой переменной. Процедура Rewrite(f) ищет файл, открывает его, стирает в нем старую информацию и устанавливает указатель на начало файла. Если файл не найден, он создается заново.

Для открытия файла с целью добавления в него информации служит процедура AppendFile(f), где f — имя файловой переменной. Процедура AppendFile открывает файл и устанавливает указатель на конец файла. Если файл не найден, выдается сообщение об ошибке ввода/вывода и программа завершает свою работу.

Для ввода (чтения) информации из файла предназначены процедуры:

Read(f,[список ввода]);

Readln(f,[список ввода]);

где f — имя файловой переменной,

список ввода — переменные, элементы массивов.

Процедура Readln имеет следующие особенности:

— после ввода данных указатель переносится на начало следующей строки;

— процедура используется только для текстовых файлов.

Для вывода (записи) данных в файл существует процедуры:

Write(f,[список вывода]);

Writeln(f,[список вывода]);

где f — имя файловой переменной,

список вывода — переменные, элементы массивов, константы.

Отличительными особенностями процедуры Writeln также является применимость ее только в случае текстовых файлов и перенос указателя на новую строчку.

После окончания всех действий с файлом он должен быть обязательно закрыт с помощью процедуры CloseFile(f), где f — имя файловой переменной.

Часто в программах при работе с файлами оказываются полезными функции EOF(f) и EOLN(f).

EOF(f) — логическая функция, принимает значение TRUE (истина), если обнаружен конец файла.

EOLN(f) — логическая функция, принимает значение TRUE (истина), если обнаружен конец строки.

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