Пример программы
Следующая программа ведет простую базу данных. При каждом ее запуске на экране появляется диалоговое окно (рис. 7.5), в поля которого пользователь может ввести дату и температуру воздуха.
Рис. 7.5. Диалоговое окно программы База данных "Погода"
Дата вводится в поле Edit1, температура – в поле Edit2. Текст программы приведен в листинге 7.3.
Листинг 7.3. Простая база данных (запись в файл).
unit pogoda_; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCTRLs; type TForm1 = class(TForm) Edit1: TEdit; // дата Edit2: TEdit; // температура Button1: TButton; // кнопка Добавить Label1: TLabe1; Label2: TLabe1; procedure FormActivate(Sender: TObject); procedure ButtonlClick(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} const DBNAME = 'a:\pogoda .db'; var db: TextFile; // файл – база данных procedure TForm1.FormActivate(Sender: TObject); begin AssignFile(db, DBNAME);. {$I-} Append(db); if IOResult = 0 then begin Edit1.Text: = DateToStr(Date); // получить текущую дату Edit2.SetFocus; // курсор в поле Edit2 end else begin Rewrite(db); if IOResult <> 0 then begin // сделать недоступными поля ввода // и командную кнопку Edit1.Enabled: = False; Edit2.Enabled: = False; Buttonl.Enabled: = False; ShowMessage('Ошибка создания '+DBNAME); end; end; end; // щелчок на кнопке Добавить procedure TForml.Button1Click(Sender: TObject); begin if (Length(edit1.text)=0) or (Length(edit2.text)=0) then ShowMessage('Ошибка ввода данных.' +#13+'Bce поля должны быть заполнены.') else writeln(db, editl.text,' ',edit2.text); end; // Событие OnClose возникает при закрытии формы procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction); begin CloseFile(db); // закрыть файл БД end; end.