Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка программы тестирования.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
329.22 Кб
Скачать

Разработка программы тестирования

Цели работы:

  1. Закрепление теоретических сведений по работе с компонентами вкладки System.

  2. Использование методов, свойств, событий для формы, мыши, клавиатуры.

Практическая часть:

  1. Создать проект для запуска заставки тестирующей программы (Unit1.pas), которая будет отображаться на экране несколько секунд.

  2. Составить блок, содержащий 8 вопросов с несколькими вариантами ответов на каждый. Вопросы и ответы взять из «Справки» по соответствующей программе.

Форма заставки (Форма 1)

implementation

uses Unit2;

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Hide;

Form2.Show;

Timer1.Enabled:=false;

end;

procedure TForm1.Timer2Timer(Sender: TObject);

begin

Gauge1.Progress:=gauge1.Progress+25;

end;

Форма регистрации (Форма 2)

var

Form2: TForm2;

str,str2:string;

implementation

uses Unit3;

Предустановки при запуске формы 2

procedure TForm2.FormCreate(Sender: TObject);

begin

Button2.Enabled:=false; //недоступна кнопка, пока не введены личные данные

Button1.Enabled:=false; // недоступна кнопка, пока не введены личные данные

end;

Внесение изменений в поле «Введите ФИО»

procedure TForm2.LabeledEdit1Change(Sender: TObject);

begin

If (LabeledEdit1.Text<>'') and (LabeledEdit2.Text<>'') then Button1.Enabled:=true

else Button1.Enabled:=false;

end;

procedure TForm2.LabeledEdit1KeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

If (LabeledEdit1.Text<>'') and (LabeledEdit2.Text<>'') then Button1.Enabled:=true

else Button1.Enabled:=false;

end;

Внесение изменений в поле «Введите группу»

procedure TForm2.LabeledEdit2KeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState);

begin

If (LabeledEdit1.Text<>'') and (LabeledEdit2.Text<>'') then Button1.Enabled:=true

else Button1.Enabled:=false;

end;

procedure TForm2.Button1Click(Sender: TObject);

begin

str:=LabeledEdit1.Text;

str2:=LabeledEdit2.Text;

button2.Enabled:=true;

Memo1.Lines.Add(str+' '+str2);

end;

Начать тестирование

procedure TForm2.Button2Click(Sender: TObject);

begin

Form2.Hide;

Form3.Show;

end;

Завершение (закрытие) приложения

procedure TForm2.Button3Click(Sender: TObject);

begin

Application.Terminate

end;

Сохранить введенные данные

procedure TForm2.Button4Click(Sender: TObject);

begin

With SaveDialog1 do

if Execute then begin

Memo1.Lines.SaveToFile(FileName);

Caption:='Сохранить - '+ExtractFileName(FileName);

end;

end;

Вопрос 1 (Форма 3): использование RadioGroup

var

Form3: TForm3;

n,k:integer;

m:integer;

implementation

uses Unit4, Unit9, Unit8;

Первоначальные установки:

Метка «Вопрос», радиогруппа «Варианты ответов» и кнопка «Принять» первоначально невидимы.

procedure TForm3.FormCreate(Sender: TObject);

begin

label7.Visible:=false;

RadioGroup1.Visible:=false;

button4.Visible:=false;

end;

Событие на кнопку «Начать тестирование». Первоначальные установки: Номер вопроса – 1; Количество правильных ответов - 0

procedure TForm3.Button1Click(Sender: TObject);

begin

Label6.Caption:='1';

Label5.Caption:='0';

n:=30;

label7.Visible:=true;

RadioGroup1.Visible:=true;

button4.Visible:=true;

button1.Enabled:=false;

end;

procedure TForm3.Timer1Timer(Sender: TObject);

begin

n:=n-1;

MessageDlg('Время закончилось', mtConfirmation,[mbOk],0);

Button4.Caption:='Далее';

end;

Событие на кнопку «Принять», оценивание правильного ответа и вывод соответствующего сообщения.

procedure TForm3.Button4Click(Sender: TObject);

begin

begin

if k=1 then

begin

MessageDlg('Вы ответили правильно', mtConfirmation,[mbOk],0);

Label5.Caption:='1';

form4.Label5.Caption:='1';

Button4.Caption:='Далее';

end

else

begin

MessageDlg('Вы ответили неправильно! Правильный - MAC OC', mtConfirmation,[mbOk],0);

Button4.Caption:='Далее';

form4.Label5.Caption:='0';

end

end;

begin

n:=30;

hide;

form4.show;

end;

end;

Выбор ответа из радиогруппы

procedure TForm3.RadioGroup1Click(Sender: TObject);

begin

case RadioGroup1.ItemIndex of

0: k:=1;

1: k:=2;

2: k:=3;

end;

end;

Вызов модальной формы «О программе» (кнопка «О программе»)

procedure TForm3.Button2Click(Sender: TObject);

begin

AboutBox.showmodal;

end;

procedure TForm3.Timer2Timer(Sender: TObject);

begin

m:=m+1;

form8.Label9.Caption:=inttostr(m);

end;

Выход из приложения (кнопка «Выход»)

procedure TForm3.Button3Click(Sender: TObject);

begin

Application.Terminate

end;