- •Тема 1. Разработка линейных программ
- •Этапы разработки программы
- •Переменные и константы
- •Оператор присваивания
- •Структура программы на языке Object Pascal
- •Некоторые функции преобразования типов
- •Среда программирования Delphi Главные составные части среды программирования
- •Структура модуля
- •Компиляция и выполнение проекта
- •Состав проекта
- •Сохранение проекта
- •Тема 2. Стандартные и библиотечные функции в линейных программах в данной теме рассматриваются следующие вопросы:
- •Некоторые стандартные библиотечные функции
- •Некоторые функции и процедуры даты
- •Ввод из окна ввода
- •Вывод в окно сообщения
- •Тема 3. Программы с разветвлениями
- •Логические выражения
- •Условный оператор
- •Оператор выбора
- •Оператор перехода
- •Компонент ListBox
- •Компонент ComboBox
- •Некоторые приемы работы с отладчиком
- •Тема 4. Циклы
- •Операторы цикла
- •Оператор цикла с параметром
- •Оператор цикла с предусловием
- •Оператор цикла с постусловием
- •Компонент Memo
- •Тема 5. Использование массивов в программах, компонента Memo для ввода данных в массив в данной теме рассматриваются следующие вопросы:
- •Массивы
- •Компонент Memo для ввода и вывода массивов
- •Тема 6. Разработка многооконных проектов. Двумерные массивы. Компонента StringGrid
- •Компонент StringGrid
- •Технология создания многооконных проектов
- •Ввод и вывод двумерных массивов c помощью компонента StringGrid
- •Тема 7. Внешние файлы
- •Процедуры работы с файлами
- •Главное меню
- •Тема 8. Разработка внутренних процедур и функций в данной теме рассматриваются следующие вопросы:
- •Процедуры
- •Функции
- •Литература
- •Оглавление
Тема 7. Внешние файлы
В данной теме рассматриваются следующие вопросы: процедуры работы с файлами, создание главного меню,
использование стандартных диалогов
Теория
Процедуры работы с файлами
Файл ― это именованная структура данных, представляющая собой последовательность элементов данного типа, причем количество элементов последовательности практически не ограничено.
Файл должен быть объявлен в разделе описания переменных. В общем виде объявление файла:
Имя: file of ТипЭлементов;
Файл, компонентами которого являются данные символьного типа, называется символьным или текстовым. Описание текстового файла в общем виде:
Имя: TextFile;
Где Имя ― имя файловой переменной, TestFile ―обозначение типа, показывающее, что Имя ― это файловая переменная, представляющая текстовый файл.
Примеры описания файлов:
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 (истина), если обнаружен конец строки.
