leTrue.Text := IntToStr(StrToInt(leTrue.Text) + 1); // увеличиваем счётчик правильных ответов
lbAnswer.Caption := 'Ответ верный!';
end
else begin
test_res[test_num].wrong:=test_res[test_num].wrong+1;
leFalse.Text := IntToStr(StrToInt(leFalse.Text) + 1); // увеличиваем счётчик неправильных ответов
lbAnswer.Caption := 'Ответ не верный!';
end;
//Настраиваем следующий вопрос.
vremya:=46;
question_count:=question_count+1;
//Пройдены все вопросы теста.
if question_count=6 then // Задано 6 вопросов
begin
Timer1.Enabled:=false;
// lbAnswer.Caption := '';
if test_res[test_num].right < 5 then
label3.Caption := 'Тест не пройден! Попробуйте пройти ещё раз.'
else label3.Caption := 'Тест пройден! Нажмите кнопку "ОК" для продолжения.';
Button1.Caption := 'ОК';
end
//Показываем следующий вопрос.
else
ShowQuestion();
end // if Button1.Caption = 'Ответить' then
else begin // Кнопка Ок
Form2.Close;
Form1.Enabled:=true;
Form1.PageControl1.ActivePageIndex:=1; // Только для теста 5 - страница 1
if test_num <>5 then Form1.PageControl1.ActivePageIndex:=test_num - 1; // Переход на страницы для других тестов
Form1.Show;
Button1.Caption := 'Ответить';
end;
end;
procedure TForm2.Timer1Timer(Sender: TObject);
begin
vremya:=vremya-1;
label2.Caption:='Осталось '+IntToStr(vremya)+' сек.';
if vremya = 44 then lbAnswer.Caption := ''; // Очищаем метку правильности ответа
//Жмём кнопку 'Ответить', если время кончилось.
if vremya=0 then
begin
vremya:=45;
Form2.Button1Click(Timer1);
end;
end;
procedure TForm2.FormShow(Sender: TObject);
begin
label3.Caption := ''; // Метка - пройден тест или нет
vremya:=45; //Задаём время.
Timer1.Enabled:=true; //Включаем тамер.
question_count:=1;
ShowQuestion();
end;
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if (test_num=1) and (test_res[1].right=5) then
begin
Form1.BaseSheet.Enabled:=true;
Form1.PageControl1.TabIndex:=1;
end
else if (test_num=2) and (test_res[2].right=5) then
begin
Form1.RedSheet.Enabled:=true;
Form1.PageControl1.TabIndex:=2;
end
else if (test_num=3) and (test_res[3].right=5) then
begin
Form1.SensorSheet.Enabled:=true;
Form1.PageControl1.TabIndex:=3;
end
else if (test_num=4) and (test_res[4].right=5) then
begin
Form1.LahSheet.Enabled:=true;
Form1.ShemeSheet.Enabled:=true;
Form1.PageControl1.TabIndex:=4;
end;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
//Сбрасываем результаты теста.
test_res[1].right:=0;
test_res[2].right:=0;
test_res[3].right:=0;
test_res[4].right:=0;
test_res[5].right:=0;
{Заполняем массив вопросов. Вообще-то тоже таблицей БД надо было.}
//ТЕСТ 1. (Следящие ситемы)
tests[1][1].Variants[1] := 'по назначению';
tests[1][1].Variants[2] := 'по принципу действия';
tests[1][1].Variants[3] := 'по принципу построения';
tests[1][1].Variants[4] := 'по характеру передающего сигнала';
tests[1][1].Question:='К какому признаку классификации относятся позиционные следящие системы ?';
tests[1][1].Answer:=2;
tests[1][2].Variants[1] := 'Непрерывные';
tests[1][2].Variants[2] := 'Несущие';
tests[1][2].Variants[3] := 'Релейно-импульсные';
tests[1][2].Variants[4] := 'Гармонические';
tests[1][2].Question:='Какой класс следящих систем классифицируемых в зависимости от характера сигналов лишний?';
tests[1][2].Answer:=4;
tests[1][3].Variants[1] := 'Требования, предъявляемые к системе, и характер входного сигнала';
tests[1][3].Variants[2] := 'Характер входного сигнала';
tests[1][3].Variants[3] := 'Характер входного и выходного сигнала';
tests[1][3].Variants[4] := 'Требования, предъявляемые к корректирующему устройству';
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.