Для ввода даты используйте компонент MonthCalendar. Если файл данных отсутствует, то программа должна его создать. Рекомендуемый вид формы программы при веден на рис. 1.53.

implementation
{$R *.dfm}
const
DBNAME = 'pogoda.txt';
var
db: TextFile; // файл — база данных
// Начало работы. Откроем или создадим
// файл данных.
procedure TForml.FormCreate(Sender: TObject);

Рис. 1.53. Форма программы базы данных "Погода"

var
г: integer; // ответ пользователя
begin
AssignFile(db,DBNAME);
try
Append(db); // возможна ошибка
except
on E: EInOutError do
begin
r := MessageDlg('Файл базы данных (pogoda.txt) +
'не найден.' +
#13+'Создать файл?',mtWarning,[mbOk,mbCancel],0);
if r = mrOK
then begin
Rewrite(db); // создадут файл
ShowMessage('Файл базы данных создан!');
end
else Application.Terminate; // завершить работу
end;
end;
Editl.Enabled := True;
Buttonl.Enabled := True;
end;
// нажатие клавиши в поле Температура
procedure TForml.EditlKeyPress(Sender: TObject; var Key: Char);
begin
case Key of
' 0 ' . . ' 9', #8 :; // цифры и клавиша
#13: // клавиша
if Length(Editl.Text) о О
then Buttonl.SetFocus;
',','¦': begin // десятичная точка
Key:= DecimalSeparator;
if Pos(DecimalSeparator,Editl.Text) о О
then Key :=Char(0);
end;
'-': if Length(Editl.Text) о 0
then Key:=Char(0);
else Key:= Char(0); // остальные символы запрещены
end;
end;
// щелчок на кнопке Добавить
procedure TForml.ButtonlClick(Sender: TObject);
begin
if Length(Editl.Text) = 0
then ShowMessage('Надо ввести температуру.1)
else begin
writeln(db,
FormatDateTime('dd/mm/yy',
MonthCalendarl.Date),
1 ',Editl.Text);
Editl.Text :=
end;
end;
// завершение работы программы
procedure TForml.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
CloseFile(db); // закрыть файл
end;
end.