Дипломная работа: Автоматизация процесса аттестации персонала для «ГАОУ ДПО МЦРКПО"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
156
iNumberQuesting:=ADOQuery2.RecordCount; // Запоминаем, сколько
вопросов в данном тесте
iSerialNumber:=0; //Подряковый номер равен 0
iStep:=1;
//Сохранять созданную запись будем в кнопке "Следующий вопрос" }
cmdNextQestion.Enabled:=True;// Разблокируем кнопку "Следующий
вопрос"
cmdStart.Enabled:=false; // А текущую кнопку блокируем
end;
procedure TfrmTesting.DBGrid1DrawColumnCell(Sender: TObject; const Rect:
TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
// {"раскрашиваем" ячейки только для поля Признак правильного ответа}
//if Column.FieldName = 'Признак_правильного_ответа' then
// if (Column.Field.AsInteger mod 2 <> 0) then
// begin
// if
ADOQuery4.FieldByName('Признак_правильного_ответа').AsString='Верно'
then
// DBGrid1.Canvas.Font.Color := clGreen else DBGrid1.Canvas.Font.Color
:= clRed;
// TDBGrid(Sender).DefaultDrawColumnCell(Rect,DataCol,Column,State);
// end;
end;
procedure TfrmTesting.FormClose(Sender: TObject; var Action: TCloseAction);
157
begin
frmMDI.mnuTestThing.Enabled:=true;
ADOQuery5.Close;
ADOQuery4.Close;
ADOQuery3.Close;
ADOQuery2.Close;
ADOQuery1.Close;
action:=caFree;
end;
procedure TfrmTesting.FormCreate(Sender: TObject);
begin
frmMDI.mnuTestThing.Enabled:=false;
lblKOlZap.Caption:='';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.add('SELECT * FROM Тесты WHERE
Тесты.Должность=:ParamPosition');
ADOQuery1.Parameters.ParamByName('ParamPosition').Value:=sPosition;
ADOQuery1.Open;
ADOQuery2.Open;
ADOQuery3.Open;
ListBox1.Items.Clear;
ADOQuery1.First;
while not ADOQuery1.Eof do begin
ListBox1.Items.Add(ADOQuery1.FieldByName('Наименование_теста').AsStrin
g);
158
ADOQuery1.Next;
end;
end;
procedure TfrmTesting.ListBox1Click(Sender: TObject);
var
iOstPop: integer;
begin
if ListBox1.ItemIndex<>–1 then //Если выбор из списка не является
нулевым, то
begin
ADOQuery1.First;//Ставим указатель на первую запись таблицы
ADOQuery1.Locate('Наименование_теста',
ListBox1.Items[ListBox1.ItemIndex],[]);//Находим в таблице запись с
выбранным сотрудника
lblKolZap.Caption:='Вопрос '+IntToStr(ADOQuery2.RecNo)+' из
'+IntToStr(ADOQuery2.RecordCount);
iKodTesta:=ADOQuery1.FieldByName('Код_теста').AsInteger;
//Присваимваем переменной код выбранного теста
ADOQuery5.Close;
ADOQuery5.SQL.Clear;
ADOQuery5.SQL.Add('Select * From Попытки where
Попытки.Код_сотрудника=:ParamKodSotr2 and
Попытки.Код_теста=:ParamKodTesta2');
ADOQuery5.Parameters.ParamByName('ParamKodSotr2').Value:=iKodSotr;
ADOQuery5.Parameters.ParamByName('ParamKodTesta2').Value:=iKodTesta;
ADOQuery5.Open;
159
//ADOQuery5.Locate('Код_сотрудника','Код_теста', iKodSotr,iKodTesta,[]);
iNumberAttemptCount:=ADOQuery1.FieldByName('Количество_попыток').AsI
nteger;
iNumberAttempt:=ADOQuery5.FieldByName('Номер_попытки').AsInteger;
if iNumberAttempt<iNumberAttemptCount then
begin
iOstPop:=iNumberAttemptCount–iNumberAttempt;
lblKolStart.Caption:='Оставшееся количество попыток:
'+IntToStr(iOstPop);
lblKolStart.Font.Color:=clYellow;
cmdStart.Enabled:=true;
end else
begin
lblKolStart.Caption:='Количество попыток прохождения теста
исчерпано!';
lblKolStart.Font.Color:=clRed;
cmdStart.Enabled:=false;
end;
end;
end;
end.
Источник: https://baza.diplomsite.ru/previewfile/2027