Практическая работа №
Задача 1.
Выполнил: Родов Андрей Евгеньевич
Цель работы: Изучение нестандартного стилистического оформления приложений, создаваемых в Delphi 7.
Задание: Создать интерактивный тест с выводом результата.
Ход работы
На форме создал объекты полей заполнения, кнопку и поле, которое будет появляться при вводе неверных данных.
Скриншот экрана на этапе разработки программы:
Скриншот работающей формы:
Полный текст модуля главной формы
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Edit4: TEdit;
StaticText1: TStaticText;
StaticText2: TStaticText;
StaticText3: TStaticText;
Edit3: TEdit;
StaticText4: TStaticText;
Button1: TButton;
StaticText5: TStaticText;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
a,b,c,d:string;
k:integer;
implementation
uses Unit2;
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
a:=edit1.text;
b:=edit2.text;
c:=edit3.text;
d:=edit4.text;
begin
Процедура авторизации пользователя. При отсутствии ввода одного любого поля выводится сообщение: «ВВЕДЕНЫНЕ ВСЕ ПОЛЯ» |
begin
if b <> '' then form2.visible:=true;
begin
if c <> '' then form2.visible:=true;
begin
if d <> '' then form2.visible:=true
else form1.statictext5.visible:=true;
end;
end;
end;
end;
end;
end.
Полный текст модуля второй формы
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, jpeg;
type
TForm2 = class(TForm)
RadioGroup1: TRadioGroup;
Button1: TButton;
Edit4: TEdit;
StaticText1: TStaticText;
Button2: TButton;
StaticText2: TStaticText;
Edit5: TEdit;
Button3: TButton;
RadioGroup2: TRadioGroup;
Button4: TButton;
RadioGroup3: TRadioGroup;
Button5: TButton;
Image1: TImage;
Label1: TLabel;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
procedure Button1Click(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Edit5Change(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure RadioGroup2Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure RadioGroup3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
k:integer;
implementation
{$R *.dfm}
procedure TForm2.Button1Click(Sender: TObject);
Процедура появления следующего вопроса и исчезновения предыдущего вопроса по нажатию кнопки. |
radiogroup1.visible:=false;
button1.visible:=false;
edit4.Visible:=true;
Statictext1.Visible:=true;
Image1.Visible:=true
end;
procedure TForm2.RadioGroup1Click(Sender: TObject);
Процедура появления кнопки при выборе ответа на вопрос. |
if form2.radiogroup1.ItemIndex=0 then button1.Visible:=true;
if form2.radiogroup1.itemindex=1 then button1.Visible:=true;
if form2.radiogroup1.itemindex=2 then button1.Visible:=true;
end;
Процедура появления кнопки при выборе ответа на вопрос. |
begin
if edit4.text <> '' then button2.Visible:=true;
end;
procedure TForm2.Button2Click(Sender: TObject);
Подсчет результата теста |
edit4.Visible:=false;
Statictext1.Visible:=false;
image1.Visible:=false;
button2.Visible:=false;
statictext2.Visible:=true;
Edit5.visible:=true;
end;
Процедура появления кнопки при выборе ответа на вопрос. |
begin
if edit5.text <> '' then button3.Visible:=true;
end;
Процедура появления следующего вопроса и исчезновения предыдущего вопроса по нажатию кнопки. |
begin
radiogroup2.Visible:=true;
button3.Visible:=false;
statictext2.visible:=false;
edit5.Visible:=false;
end;
procedure TForm2.RadioGroup2Click(Sender: TObject);
Процедура появления кнопки при выборе ответа на вопрос. |
if form2.radiogroup2.ItemIndex=0 then button4.Visible:=true;
if form2.radiogroup2.itemindex=1 then button4.Visible:=true;
if form2.radiogroup2.itemindex=2 then button4.Visible:=true;
if form2.radiogroup2.itemindex=3 then button4.Visible:=true;
end;
Процедура исчезновения предыдущего вопроса по нажатию кнопки. |
begin
radiogroup2.Visible:=false;
button4.Visible:=false;
radiogroup3.Visible:=true;
end;
procedure TForm2.Button5Click(Sender: TObject);
Подсчет результата теста |
radiogroup3.Visible:=false;
button5.Visible:=false;
if radiogroup1.itemindex=2 then k:=k+1;
if edit4.text='троянский конь' then k:=k+1;
if edit5.text='размножения' then k:=k+1;
if radiogroup2.itemindex=0 then k:=k+1;
if radiogroup3.itemindex=2 then k:=k+1;
if k=5 then label1.Visible:=true;
if k=4 then label2.Visible:=true;
if k=3 then label5.Visible:=true;
if k<=2 then label4.Visible:=true;
end;
procedure TForm2.RadioGroup3Click(Sender: TObject);
begin
if form2.radiogroup3.itemindex=0 then button5.Visible:=true;
if form2.radiogroup3.itemindex=1 then button5.Visible:=true;
if form2.radiogroup3.itemindex=2 then button5.Visible:=true;
end;
end.
Контрольный перечень файлов проекта и их суммарный объём в байтах:
Суммарный объем проекта: 5 320 704 байт
Вывод: