Следующая программа ведет простую базу данных. При каждом ее запускена экране появляется диалоговое окно (рис. 7.5), в поля которого пользователь может ввести дату и температуру воздуха.
Дата вводится в поле Edit1, температура — в поле Edit2. Текст программы приведен в листинге.
Листинг. Простая база данных (запись в файл)
Файл базы данных открывает процедура FormActivate, которая обрабатывает событие onActivate. Событие OnActivate возникает в момент активизации формы, поэтому процедура запускается автоматически, при активизации формы приложения. Если операция открытия файла завершается успешно, то в поле Editi записывается текущая дата.
Информация о текущей дате возвращает функция Date. Для преобразования возвращаемого функцией Date значения (числа типа Double) в удобную для восприятия форму используется функция DateToStr. После записи даты в поле Edit1 процедура обработки события onActivate с применением метода setFocus устанавливает курсор в поле ввода температуры. Если в процессе открытия или создания нового файла возникает ошибка, то процедура делает недоступной кнопку Добавить и выводит информационное сообщение.
Процедура TForm1.Button1click (процедура обработки события onclick) запускается нажатием кнопки Добавить (Buttoni). В результате введенная информация записывается в базу данных — файл pogoda.db. Перед выполнением записи программа проверяет, все ли поля формы заполнены, и, если не все, то выводит информационное сообщение. В результате работы процедуры в конец файла pogoda.db будет добавлена строка, содержащая дату (число, месяц, год) и температуру.
В данной программе используется инструкция writeln, а не write, для того чтобы данные за каждый день располагались в базе данных на отдельной строке.
Обратите внимание, что список вывода инструкции writeln состоит из трех элементов. После вывода в файл даты (edi.ti.text) в файл записывается пробел, а затем— температура (edit2.txt). Если температуру записать в файл сразу после даты, то числа, соответствующие году и температуре, сольются s одну последовательность цифр. Закрывает базу данных процедура TForm1. FormClose, которая обрабатывает событие enclose, возникающее при закрытии формы приложения.
После нескольких запусков программы файл pogoda.db может быть, например, таким:
9.05.2001 10
10.05.2001 12
11.05.2001 10
12.05.2001 7