p3.Visible:= True;
vopr:= Random(4) + 1;
vars(vopr);
end;
procedure TForm1.p3Click(Sender: TObject);
begin
Label1.Caption:= 'Четвертый вопрос:';
verno();
р3.Visible:= False;
p4.Visible:= True;
vopr:= Random(4) + 1;
vars(vopr);
end;
procedure TForm1.p4Click(Sender: TObject);
begin
Label1.Caption:= 'Пятый вопрос:';
verno();
p4.Visible:= False;
p5.Visible:= True;
vopr:= Random(4) + 1;
vars(vopr);
end;
procedure TForm1.p5Click(Sender: TObject);
begin
//проверяем правильность ответа на последний вопрос
verno() ;
//узнаем, сколько баллов набрал пользователь
ss:= IntToStr(balls);
//делаем почти все компоненты невидимыми
Memo1.Visible:= False;
р5.Visible:= False;
RadioGroup1.Visible:= False;
Label1.Visible:= False;
an1.Visible:= False;
an2.Visible:= False;
an3.Visible:= False;
an4.Visible:= False;
Label2.Visible:=True;//показываем метку с результатом
Label2.Align:= alClient;//растягиваем ее на всю форму
//Отображаем процент правильных ответов
Label2.Caption:= 'Правильных ответов' + IntToStr(balls*(100 div 5))+'%';
end;
procedure TForm1.N4Click(Sender: TObject);
begin
Halt; //выход из программы
end;
procedure TForm1.p1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
p1.BevelInner:= bvLowered;
p1.BevelOuter:= bvRaised;
end;
procedure TForm1.p1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
p1.BevelInner:=bvRaised;
p1.BevelOuter:=bvLowered;
end;
procedure TForm1.p2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
p2.BevelInner:= bvLowered;
p2.BevelOuter:= bvRaised;
end;
procedure TForm1.p2MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
p2.BevelInner:=bvRaised;
p2.BevelOuter:=bvLowered;
end;
procedure TForm1.p3MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
p3.BevelInner:= bvLowered;
p3.BevelOuter:= bvRaised;
end;
procedure TForm1.p3MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
p3.BevelInner:=bvRaised;
p3.BevelOuter:=bvLowered;
end;
procedure TForm1.p4MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
p4.BevelInner:= bvLowered;
p4.BevelOuter:= bvRaised;
end;
procedure TForm1.p4MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
p4.BevelInner:=bvRaised;
p4.BevelOuter:=bvLowered;
end;
procedure TForm1.p5MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
p5.BevelInner:= bvLowered;
p5.BevelOuter:= bvRaised;
end;
procedure TForm1.p5MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
p5.BevelInner:=bvRaised;
p5.BevelOuter:=bvLowered;
end;
procedure TForm1.N1Click(Sender: TObject);
begin
Randomize;
ss:= zz;
start(); //начало теста
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DeleteFile('c:\base.bsd'); //удаляем расшифрованную базу
end
end.
⊚ Все файлы проекта и исполняемый файл рассмотренной программы находятся на прилагаемом к книге компакт-диске в папке Chapter_13.
Разработать программу, которая будет работать незаметно для пользователя и периодически выполнять выбранную случайным образом шуточную процедуру или функцию.
Создайте новый проект Delphi. Для того чтобы выполнять периодические действия, нам понадобится компонент Timer категории System. Программа будет выполнять каждую минуту случайно выбранную шутку. Для того чтобы таймер срабатывал каждую минуту, необходимо присвоить свойству Interval значение 60000. Больше никаких свойств ни для формы, ни для таймера изменять не нужно.
Разработка программного кода
Первое, что нужно сделать для шуточной программы, — скрыть ее от глаз пользователя. Для этого достаточно создать обработчик события формы OnPaint и добавить в него следующий код:
procedure TForm1.FormPaint(Sender: TObject);
begin
Form1. Hide; //прячем форму
end;
Здесь мы при каждой прорисовке формы скрываем ее из виду. При этом она не только будет скрыта визуально, но и исчезнет с панели задач, а также не будет отображаться на вкладке Приложенияв диспетчере задач Windows.
Еще одно важное действие для нашей программы — реализация автозагрузки вместе с запуском ОС. Для этого создайте обработчик события главной формы OnCreate и добавьте в него следующий код:
Читать дальше