Диплом: Автоматизация процесса контроля знаний учащихся ГУО "Средняя школа №8 г. Полоцка"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
140
fmain.StringGrid1.Cells[0,i]:=fmain.Tuch.Fields[1].AsString + ' ' +
fmain.Tuch.Fields[2].AsString + ' ' + fmain.Tuch.Fields[3].AsString;
fmain.Tuch.Next;
end;
end;
procedure TfMain.DBLookupListBox1Click(Sender: TObject);
Var n,i:integer;
begin
if fmain.DBLookupListBox1.SelectedItem = '' then
begin
showmessage('Выберите предмет!');
exit;
end;
fmain.BitBtn1.Enabled:=true;
fmain.ADOQuery2.Refresh;
fmain.ADOQuery1.Refresh;
n:=Tuch.RecordCount+1;
fmain.StringGrid1.ColCount:=5;
fmain.StringGrid1.RowCount:=n;
fmain.StringGrid1.ColWidths[0]:=200;
for i:=1 to n do
begin
fmain.StringGrid1.Cells[0,i]:=fmain.Tuch.Fields[1].AsString + ' ' +
fmain.Tuch.Fields[2].AsString + ' ' + fmain.Tuch.Fields[3].AsString;
fmain.Tuch.Next;
end;
fmain.Tuch.First;
141
fmain.StringGrid1.Cells[1,0]:='I -четверть';
fmain.StringGrid1.Cells[2,0]:='II -четверть';
fmain.StringGrid1.Cells[3,0]:='III -четверть';
fmain.StringGrid1.Cells[4,0]:='IV -четверть';
for i:=1 to n do
begin
id[i]:=fmain.Tuch.Fields[0].AsInteger;
fmain.Tuch.Next;
end;
fmain.Tuch.First;
for i:=1 to fmain.Tuch.FieldCount do
begin
AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('Select * From Успеваемость Where
ИДУчебНагрузка ='+IntToStr(fmain.DBLookupListBox1.KeyValue) +'and
ÈÄÓ÷àùèéñÿ = '+IntToStr(id[i]));
AdoQuery1.Open;
AdoQuery1.Active:=true;
fmain.StringGrid1.Cells[1,i]:=fmain.ADOQuery1.Fields[3].AsString;
fmain.StringGrid1.Cells[2,i]:=fmain.ADOQuery1.Fields[4].AsString;
fmain.StringGrid1.Cells[3,i]:=fmain.ADOQuery1.Fields[5].AsString;
fmain.StringGrid1.Cells[4,i]:=fmain.ADOQuery1.Fields[6].AsString;
end;
for i:=1 to fmain.Tuch.FieldCount do
begin
if fmain.StringGrid1.Cells[1,i] = IntToStr(0) then
fmain.StringGrid1.Cells[1,i]:='';
if fmain.StringGrid1.Cells[2,i] = IntToStr(0) then
fmain.StringGrid1.Cells[2,i]:='';
142
if fmain.StringGrid1.Cells[3,i] = IntToStr(0) then
fmain.StringGrid1.Cells[3,i]:='';
if fmain.StringGrid1.Cells[4,i] = IntToStr(0) then
fmain.StringGrid1.Cells[4,i]:='';
end;
end;
procedure TfMain.BitBtn1Click(Sender: TObject);
Var i,Ppol,Vpol,god: integer;
begin
if fmain.DBLookupListBox1.SelectedItem = '' then showmessage('Вывберите
предмет!');
for i:=1 to fmain.Tuch.FieldCount do
begin
if fmain.StringGrid1.Cells[1,i] = '' then
fmain.StringGrid1.Cells[1,i]:=IntToStr(0);
if fmain.StringGrid1.Cells[2,i] = '' then
fmain.StringGrid1.Cells[2,i]:=IntToStr(0);
if fmain.StringGrid1.Cells[3,i] = '' then
fmain.StringGrid1.Cells[3,i]:=IntToStr(0);
if fmain.StringGrid1.Cells[4,i] = '' then
fmain.StringGrid1.Cells[4,i]:=IntToStr(0);
end;
for i:=1 to fmain.Tuch.RecordCount do
begin
Ppol:=Round(((StrToInt(fmain.StringGrid1.Cells[1,i]) +
StrToInt(fmain.StringGrid1.Cells[2,i]))/2));
Vpol:=Round(((StrToInt(fmain.StringGrid1.Cells[3,i]) +
StrToInt(fmain.StringGrid1.Cells[4,i]))/2));
god:=Round((Ppol + Vpol)/2);
143
fmain.DobZap.SQL.Clear;
fmain.DobZap.SQL.Add('DELETE From Успеваемость Where
ИДУчебНагрузка = '+IntToStr(fmain.DBLookupListBox1.KeyValue)+' AND
ИДУчащийся =' + IntToStr(id[i]));
fmain.DobZap.ExecSQL;
if fmain.StringGrid1.Cells[1,i] <> '' then
begin
fmain.DobZap.SQL.Clear;
fmain.DobZap.SQL.Add('Insert INTO
Успеваемость(ИДУчебНагрузка,ИДУчащийся,1_четверть,2_четверть,3_четверть
,4_четверть,1_полугодие,2_полугодие,годовая) VALUES
('+IntToStr(fmain.DBLookupListBox1.KeyValue)+','+IntToStr(id[i])+','+fmain.String
Grid1.Cells[1,i]+','+fmain.StringGrid1.Cells[2,i]+','+fmain.StringGrid1.Cells[3,i]+','+f
main.StringGrid1.Cells[4,i]+','+IntToStr(Ppol)+','+IntToStr(Vpol)+','+IntToStr(god)+')
');
fmain.DobZap.ExecSQL;
end;
end;
for i:=1 to fmain.Tuch.FieldCount do
begin
if fmain.StringGrid1.Cells[1,i] = IntToStr(0) then
fmain.StringGrid1.Cells[1,i]:='';
if fmain.StringGrid1.Cells[2,i] = IntToStr(0) then
fmain.StringGrid1.Cells[2,i]:='';
if fmain.StringGrid1.Cells[3,i] = IntToStr(0) then
fmain.StringGrid1.Cells[3,i]:='';
if fmain.StringGrid1.Cells[4,i] = IntToStr(0) then
fmain.StringGrid1.Cells[4,i]:='';
end;
fmain.BitBtn1.Enabled:=false;
144
end;
procedure TfMain.DBGrid4DblClick(Sender: TObject);
begin
if fauth.ComboBox1.ItemIndex = 0 then
Form6.Show;
end;
procedure TfMain.TabSheet4Show(Sender: TObject);
begin
fmain.StringGrid1.Cells[0,0]:='ФИО учащегося';
fmain.StringGrid1.Cells[1,0]:='I четверть';
fmain.StringGrid1.Cells[2,0]:='II четверть';
fmain.StringGrid1.Cells[3,0]:='III четверть';
fmain.StringGrid1.Cells[4,0]:='IV четверть';
end;
procedure TfMain.BitBtn2Click(Sender: TObject);
begin
if fmain.PageControl1.TabIndex = 0 then
begin
if MessageDlg('Удалить выбранного учащегося? ',mtConfirmation,
[mbYes,mbNo],0)=mrYes
then
begin
if not DBGrid2.DataSource.DataSet.Eof
then
DBGrid2.DataSource.DataSet.Delete;
end;
end;
145
if fmain.PageControl1.TabIndex = 1 then
begin
if MessageDlg('Удалить выбранного преподавателя? ',mtConfirmation,
[mbYes,mbNo],0)=mrYes
then
begin
if not DBGrid4.DataSource.DataSet.Eof
then
DBGrid4.DataSource.DataSet.Delete;
end;
end;
if fmain.PageControl1.TabIndex = 3 then
begin
if MessageDlg('Удалить выбранную учебную нагрузку? ',mtConfirmation,
[mbYes,mbNo],0)=mrYes
then
begin
if not DBGrid7.DataSource.DataSet.Eof
then
DBGrid7.DataSource.DataSet.Delete;
end;
end;
if fmain.PageControl1.TabIndex = 2 then
begin
if MessageDlg('Удалить выбранный учебный предмет? ',mtConfirmation,
[mbYes,mbNo],0)=mrYes
then
begin
if not DBGrid6.DataSource.DataSet.Eof
146
then
DBGrid6.DataSource.DataSet.Delete;
end;
end;
end;
procedure TfMain.DBLookupComboBox2Click(Sender: TObject);
begin
AdoQuery4.Close;
AdoQuery4.SQL.Clear;
AdoQuery4.SQL.Add('Select * From УчебнаяНагрузка Where ИДКласс =
'+IntToStr(DBLookupComboBox2.KeyValue));
AdoQuery4.Open;
AdoQuery4.Active:=true;
fmain.DBLookupListBox2.Enabled:=true;
end;
procedure TfMain.BitBtn3Click(Sender: TObject);
Var i:integer;
begin
fmain.QRas.Close;
fmain.QRas.SQL.Clear;
fmain.QRas.SQL.Add('Select * From Успеваемость Where ИДУчебНагрузка
= '+IntToStr(fmain.DBLookupListBox2.KeyValue));
fmain.QRas.Open;
fmain.QRas.Active:=true;
//////////////// Заполнение1четверти////////////////////////////
k10:=0;
k9:=0;
147
k8:=0;
k7:=0;
k6:=0;
k5:=0;
k4:=0;
k3:=0;
for i:=1 to fmain.QRas.RecordCount do
begin
if fmain.QRas.FieldByName('1_четверть').AsInteger = 10 then k10:=k10 + 1;
if fmain.QRas.FieldByName('1_четверть').AsInteger = 9 then k9:=k9 + 1;
if fmain.QRas.FieldByName('1_четверть ').AsInteger = 8 then k8:=k8 + 1;
if fmain.QRas.FieldByName('1_четверть ').AsInteger = 7 then k7:=k7 + 1;
if fmain.QRas.FieldByName('1_четверть ').AsInteger = 6 then k6:=k6 + 1;
if fmain.QRas.FieldByName('1_четверть ').AsInteger = 5 then k5:=k5 + 1;
if fmain.QRas.FieldByName('1_четверть ').AsInteger = 4 then k4:=k4 + 1;
if fmain.QRas.FieldByName('1_четверть ').AsInteger = 3 then k3:=k3 + 1;
fmain.QRas.Next;
end;
kol10_4:=k10 + k9+ k8+ k7+ k6+ k5+ k4;
kol10_7:=k10 + k9+ k8+ k7;
fmain.QRas.First;
//абсолютная успеваемость
absuspev:=FloatToStr(RoundTo(((kol10_4 *
100)/fmain.ADOTable3.RecordCount),-2));
//качественная успеваемость
kachuspev:=FloatToStr(RoundTo(((kol10_7 *
100)/fmain.ADOTable3.RecordCount),-2));
//СОУ по предмету
sou:=FloatToStr(RoundTo(((((k10+k9)*100)+((k8+k7)*64)+((k6+k5)*36)+((k4+k3)*
16))/fmain.ADOTable3.RecordCount),-2));
148
//Заполнение таблицы Годовая
fmain.StringGrid2.Cells[1,1]:=fmain.ADOTable2DSDesigner2.AsString;
//Название класса
fmain.StringGrid2.Cells[2,1]:=IntToStr(fmain.ADOTable3.RecordCount);
//Количество учащихся
fmain.StringGrid2.Cells[3,1]:=IntToStr(k10+k9); //Количество10/9
fmain.StringGrid2.Cells[4,1]:=IntToStr(k8+k7); //Количество8/7
fmain.StringGrid2.Cells[5,1]:=kachuspev; //Качественная Успеваемость
fmain.StringGrid2.Cells[6,1]:=absuspev; //Абсолютная Успеваемость
fmain.StringGrid2.Cells[7,1]:=sou; //СОУ
//////////////// Заполнение2 четверти ////////////////////////////
k10:=0;
k9:=0;
k8:=0;
k7:=0;
k6:=0;
k5:=0;
k4:=0;
k3:=0;
for i:=1 to fmain.QRas.RecordCount do
begin
if fmain.QRas.FieldByName('2_четверть').AsInteger = 10 then k10:=k10 + 1;
if fmain.QRas.FieldByName('2_ четверть ').AsInteger = 9 then k9:=k9 + 1;
if fmain.QRas.FieldByName('2_ четверть ').AsInteger = 8 then k8:=k8 + 1;
if fmain.QRas.FieldByName('2_ четверть ').AsInteger = 7 then k7:=k7 + 1;
if fmain.QRas.FieldByName('2_ четверть ').AsInteger = 6 then k6:=k6 + 1;
if fmain.QRas.FieldByName('2_ четверть ').AsInteger = 5 then k5:=k5 + 1;
if fmain.QRas.FieldByName('2_ четверть ').AsInteger = 4 then k4:=k4 + 1;
if fmain.QRas.FieldByName('2_ четверть ').AsInteger = 3 then k3:=k3 + 1;
fmain.QRas.Next;
149
end;
kol10_4:=k10 + k9+ k8+ k7+ k6+ k5+ k4;
kol10_7:=k10 + k9+ k8+ k7;
fmain.QRas.First;
//абсолютная успеваемость
absuspev:=FloatToStr(RoundTo(((kol10_4 *
100)/fmain.ADOTable3.RecordCount),-2));
//качественная успеваемость
kachuspev:=FloatToStr(RoundTo(((kol10_7 *
100)/fmain.ADOTable3.RecordCount),-2));
//СОУ
sou:=FloatToStr(RoundTo(((((k10+k9)*100)+((k8+k7)*64)+((k6+k5)*36)+((k4+k3)*
16))/fmain.ADOTable3.RecordCount),-2));
//Заполнение таблицы Годовая
fmain.StringGrid2.Cells[1,2]:=fmain.ADOTable2DSDesigner2.AsString;
//ÍàçâàíèåÊëàññà
fmain.StringGrid2.Cells[2,2]:=IntToStr(fmain.ADOTable3.RecordCount);
fmain.StringGrid2.Cells[3,2]:=IntToStr(k10+k9);
fmain.StringGrid2.Cells[4,2]:=IntToStr(k8+k7);
fmain.StringGrid2.Cells[5,2]:=kachuspev;
fmain.StringGrid2.Cells[6,2]:=absuspev;
fmain.StringGrid2.Cells[7,2]:=sou;
//////////////// Заполнение3четверть ////////////////////////////
k10:=0;
k9:=0;
k8:=0;
k7:=0;
k6:=0;
k5:=0;

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)