📄 edurecord.pas
字号:
begin
(sender as Tpagecontrol).activepage.highlighted:=false;
end;
procedure TFormedurecord.ToolButton5Click(Sender: TObject);
begin
case pagecontrol1.ActivePageIndex of
0:
begin
adoedurecord.filtered:=false;
adoedurecord.filter:='';
adoedurecord.filtered:=true;
maskedit3.Text:=' / / ';
maskedit4.Text:=' / / ';
end;
1:
begin
adoeduresult.filtered:=false;
adoeduresult.filter:='';
adoeduresult.filtered:=true;
maskedit1.Text:=' / / ';
maskedit2.Text:=' / / ';
end;
end;
end;
procedure TFormedurecord.ToolButton4Click(Sender: TObject);
begin
close;
end;
procedure TFormedurecord.tblcheckClick(Sender: TObject);
begin
{ if Application.MessageBox('你确定要将所有所见人员成绩审核通过?','审核确认',
mb_yesno+mb_iconQuestion)=idyes then
with datamod do
begin
try
adoeduresult.DisableControls;
adoeduresult.close;
adoeduresult.open;
while not adoeduresult.eof do
begin
adoeduresult.edit;
adoeduresultcheckman.asboolean:=true;
adoeduresult.post;
adoeduresult.Next;
end;
except
Application.MessageBox('审核成绩单失败!','审核失败',mb_iconError);
end;
adoeduresult.EnableControls;
end;}
end;
procedure TFormedurecord.tbluncheckClick(Sender: TObject);
begin
if Application.MessageBox('你确定要将所有所见人员取消审核通过?','取消审核确认',
mb_yesno+mb_iconQuestion)=idyes then
with datamod do
begin
try
adoeduresult.DisableControls;
adoeduresult.close;
adoeduresult.open;
while not adoeduresult.eof do
begin
adoeduresult.edit;
adoeduresultcheckman.asboolean:=false;
adoeduresult.post;
adoeduresult.Next;
end;
except
Application.MessageBox('取消审核成绩单失败!','审核失败',mb_iconError);
end;
adoeduresult.EnableControls;
end;
end;
procedure TFormedurecord.FormKeyPress(Sender: TObject; var Key: Char);
begin
if (activecontrol=dbgrid1) or (activecontrol=dbgrid2) then
exit;
if key=#13 then
begin
key:=#0;
selectnext(activecontrol,true,true);
end;
end;
procedure TFormedurecord.AdoedurecordcoursenoChange(Sender: TField);
begin
with datamod do
begin
query1.close;
query1.sql.text:='select * from edu02010 where courseno='''+adoedurecordcourseno.asstring+''' ';
query1.Open;
if not query1.eof then
adoedurecordcourse.asstring:=Query1.fieldbyname('course').asstring
else
application.messagebox('你输入了一个不存在的课程编号,请重新输入','课程编号错误',mb_ok+mb_iconerror);
end;
end;
procedure TFormedurecord.AdoedurecordAfterInsert(DataSet: TDataSet);
begin
adoedurecordoperator.asstring:=pubworkname;
adoedurecordrq.asstring:=formatdatetime('yyyy'+dateseparator+'mm'+dateseparator+'dd',date);
end;
procedure TFormedurecord.ADOeduresultworknoChange(Sender: TField);
begin
with datamod do
begin
query1.Close;
query1.sql.text:='select * from per24010 where workno='''+adopersonalworkno.asstring+''' and leave=0 ';
query1.open;
if not query1.eof then
begin
adoeduresultcardno.asstring:=query1.fieldbyname('cardno').asstring;
adoeduresultname.asstring:=query1.fieldbyname('name').asstring;
adoeduresultdept.asstring:=query1.fieldbyname('dept').asstring;
end else
application.messagebox('你输入了一个不存在的工号,请重新输入','工号错误',mb_okcancel+mb_iconerror);
end;
end;
procedure TFormedurecord.ADOeduresultcoursenoChange(Sender: TField);
begin
with datamod do
begin
query1.close;
query1.sql.text:='select * from edu02010 where courseno='''+adoeduresultcourseno.asstring+''' ';
query1.Open;
if not query1.eof then
adoeduresultcourse.asstring:=Query1.fieldbyname('course').asstring
else
application.messagebox('你输入了一个不存在的课程编号,请重新输入','课程编号错误',mb_ok+mb_iconerror);
end;
end;
procedure TFormedurecord.ADOeduresultAfterInsert(DataSet: TDataSet);
begin
adoeduresultrq.asstring:=formatdatetime('yyyy'+dateseparator+'mm'+dateseparator+'dd',date);
end;
procedure TFormedurecord.tbnfindClick(Sender: TObject);
begin
case pagecontrol1.ActivePageIndex of
0:findrecorder(adoedurecord,'Adoedurecord','edu07010');
1:findrecorder(adoeduresult,'Adoeduresult','edu08010');
end;
end;
procedure TFormedurecord.tbnsortClick(Sender: TObject);
var i:1..5;
begin
if manyfield then
begin
manyfield:=false;
tbnsort.hint:='设定多字段排序';
popupmenu2.Items[0].Enabled :=false;
popupmenu2.Items[1].Enabled :=false;
popupmenu2.Items[2].Enabled :=false;
popupmenu2.Items[3].Enabled :=false;
end
else begin
manyfield:=true;
tbnsort.hint:='取消多字段排序'; //说明现在dbgrid1正处于多字段排序中
f:='';
popupmenu2.Items[0].Enabled :=true;
popupmenu2.Items[1].Enabled :=true;
popupmenu2.Items[2].Enabled :=true;
popupmenu2.Items[3].Enabled :=true;
fcount:=0;
for i:=1 to 5 do
begin
findex[i]:=0;
fsort[i]:='';
end;
end;
end;
procedure TFormedurecord.N1Click(Sender: TObject);
var i:integer;
dbgrid:Tdbgrid;
begin
if fcount>0 then
if db<>pagecontrol1.ActivePageIndex then
begin
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
with dbgrid do
begin
for i:=1 to fcount do
dbgrid.Columns[findex[i]].Color :=clwindow;
end;
fcount:=0;
end;
db:=pagecontrol1.ActivePageIndex;
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
with dbgrid do
begin
for i:=1 to fcount do
if dbgrid.SelectedIndex =findex[i] then
begin
fsort[i]:='ASC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid.selectedindex;
fsort[fcount]:='ASC';
dbgrid.Columns[dbgrid.selectedindex].Color :=clgray;
end;
end;
end;
procedure TFormedurecord.N2Click(Sender: TObject);
var i:integer;
dbgrid:Tdbgrid;
begin
if fcount>0 then
if db<>pagecontrol1.ActivePageIndex then
begin
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
with dbgrid do
begin
for i:=1 to fcount do
dbgrid.Columns[findex[i]].Color :=clwindow;
end;
fcount:=0;
end;
db:=pagecontrol1.ActivePageIndex;
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
with dbgrid do
begin
for i:=1 to fcount do
if dbgrid.SelectedIndex =findex[i] then
begin
fsort[i]:='DESC';
exit;
end;
if fcount<5 then
begin
fcount:=fcount+1;
findex[fcount]:=dbgrid.selectedindex;
fsort[fcount]:='DESC';
dbgrid.Columns[dbgrid.selectedindex].Color :=clgray;
end;
end;
end;
procedure TFormedurecord.N4Click(Sender: TObject);
var i:1..5;
sortexp:string;
dbgrid:Tdbgrid;
begin
if db<>pagecontrol1.ActivePageIndex then
begin
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
with dbgrid do
begin
for i:=1 to fcount do
dbgrid.Columns[findex[i]].Color :=clwindow;
end;
fcount:=0;
exit;
end;
sortexp:='';
for i:=1 to fcount do
begin
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(db+1)));
with dbgrid do
begin
if dbgrid.Columns[findex[i]].Color=clgray then
begin
sortexp :=sortexp+dbgrid.Columns[findex[i]].FieldName+' '+fsort[i];
if i<fcount then sortexp:=sortexp+',';
end;
end;
end;
if sortexp<>'' then
Case pagecontrol1.ActivePageIndex of
0:Adoedurecord.sort:=sortexp;
1:Adoeduresult.sort:=sortexp;
end;
end;
procedure TFormedurecord.N3Click(Sender: TObject);
var i:1..5;
dbgrid:Tdbgrid;
begin
dbgrid:=tdbgrid(findcomponent('dbgrid'+inttostr(pagecontrol1.ActivePageIndex+1)));
with dbgrid do
begin
for i:=1 to fcount do
dbgrid.Columns[findex[i]].Color :=clwindow;
end;
fcount:=0;
end;
procedure TFormedurecord.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if key=VK_F1 then
begin
//showmessage('ok!')
//MessageDlg(Key + ' has been pressed', mtInformation, [mbOK], 0);
Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
application.HelpJump('SHM_CONTENTS0045');
end;
end;
procedure TFormedurecord.DateTimePicker3CloseUp(Sender: TObject);
begin
TMaskedit(Findcomponent('maskedit'+copy((Sender as TDatetimepicker).Name,length((Sender as TDatetimepicker).Name),1))).text:=
formatdatetime('yyyy/mm/dd',(Sender as TDatetimepicker).Date);
end;
procedure TFormedurecord.MaskEdit4Exit(Sender: TObject);
begin
if maskedit4.Text <>' / / ' then
begin
if isdate(maskedit3.text) and isdate(maskedit4.text) then
begin
Adoedurecord.Filtered :=false;
Adoedurecord.Filter :='rq<='''+maskedit3.Text+''' and rq>='''+maskedit4.text+''' ';
Adoedurecord.Filtered :=true;
end;
end;
end;
procedure TFormedurecord.MaskEdit2Exit(Sender: TObject);
begin
if maskedit2.Text <>' / / ' then
begin
if isdate(maskedit1.text) and isdate(maskedit2.text) then
begin
ADOeduresult.Filtered :=false;
ADOeduresult.Filter :='rq<='''+maskedit1.Text+''' and rq>='''+maskedit2.text+''' ';
ADOeduresult.Filtered :=true;
end;
end;
end;
procedure TFormedurecord.Edit1Exit(Sender: TObject);
begin
if trim(edit1.text)<>'' then
begin
ADOeduresult.Filtered :=false;
ADOeduresult.Filter :='workno='''+edit1.text+''' or cardno='''+edit1.text+''' ';
ADOeduresult.Filtered :=true;
end;
end;
procedure TFormedurecord.ppReport1BeforePrint(Sender: TObject);
begin
pplabel31.caption:=companyname1;
if (maskedit3.text<>' / / ') and (maskedit4.text<>' / / ') then
pplabel32.caption:=maskedit3.text+'~'+maskedit4.text
else pplabel32.Caption:='';
pplabel29.caption:='制表人:'+pubworkname;
end;
procedure TFormedurecord.ppReport2BeforePrint(Sender: TObject);
begin
pplabel22.caption:=companyname1;
pplabel26.caption:='制表人:'+pubworkname;
adoquery1.close;
if (maskedit1.text<>' / / ') and (maskedit2.text<>' / / ') then
begin
adoquery1.sql.text:='select sum(case when pass=1 then 1 else 0 end) p,sum(case when pass=0 then 1 else 0 end) u from edu08010 where rq<='''+trim(maskedit1.text)+''' and rq>='''+trim(maskedit2.text)+''' ';
pplabel23.caption:=maskedit1.text+'~'+maskedit2.text;
end
else
begin
adoquery1.sql.text:='select sum(case when pass=1 then 1 else 0 end) p,sum(case when pass=0 then 1 else 0 end) u from edu08010 ';
pplabel23.caption:='';
end;
adoquery1.open;
pplabel39.caption:=inttostr(adoquery1.fieldbyname('p').asinteger);
pplabel40.caption:=inttostr(adoquery1.fieldbyname('u').asinteger);
end;
procedure TFormedurecord.ToolButton7Click(Sender: TObject);
begin
case pagecontrol1.activepageindex of
0:
begin
ppreport1.devicetype:='Screen';
ppreport1.print;
end;
1:
begin
ppreport2.devicetype:='Screen';
ppreport2.print;
end;
end;
end;
procedure TFormedurecord.ppDBText18GetText(Sender: TObject;
var Text: String);
begin
if text='0' then
text:='未通过'
else
text:='通过';
end;
procedure TFormedurecord.ppReport1PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure TFormedurecord.ppReport2PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -