medrecord.pas
来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 1,092 行 · 第 1/3 页
PAS
1,092 行
end else
application.messagebox('你输入了一个不存在的工号,请重新输入','工号错误',mb_okcancel+mb_iconerror);
end;
end;
procedure TFormmedrecord.tbnfindClick(Sender: TObject);
begin
if assigned(formcanfind) then formcanfind.close;
case pagecontrol1.ActivePageIndex of
0:findrecorder(Adomedrecord,'Adomedrecord','med03010');
1:findrecorder(Adomedtotal,'Adomedtotal','med04010');
2:findrecorder(Adomed,'Adomed','med01010');
3:findrecorder(Adodoctor,'Adodoctor','med02010');
end;
end;
procedure TFormmedrecord.DBGrid1TitleClick(Column: TColumn);
begin
if f='DESC' THEN
F:='ASC'
ELSE
F:='DESC';
Case pagecontrol1.ActivePageIndex of
0:Adomedrecord.sort:=column.FieldName +' '+f;
1:Adomedtotal.sort:=column.FieldName +' '+f;
2:Adomed.sort:=column.FieldName +' '+f;
3:Adodoctor.sort:=column.FieldName +' '+f;
end;
end;
procedure TFormmedrecord.AdomedrecordAfterInsert(DataSet: TDataSet);
begin
adomedrecordrq.asstring:=formatdatetime('yyyy'+dateseparator+'mm'+dateseparator+'dd',date);
end;
procedure TFormmedrecord.tbnsortClick(Sender: TObject);
var i:1..5;
begin
if manyfield then
begin
manyfield:=false;
tbnsort.hint:='设定多字段排序';
popupmenu1.Items[0].Enabled :=false;
popupmenu1.Items[1].Enabled :=false;
popupmenu1.Items[2].Enabled :=false;
popupmenu1.Items[3].Enabled :=false;
end
else begin
manyfield:=true;
tbnsort.hint:='取消多字段排序'; //说明现在dbgrid1正处于多字段排序中
f:='';
popupmenu1.Items[0].Enabled :=true;
popupmenu1.Items[1].Enabled :=true;
popupmenu1.Items[2].Enabled :=true;
popupmenu1.Items[3].Enabled :=true;
fcount:=0;
for i:=1 to 5 do
begin
findex[i]:=0;
fsort[i]:='';
end;
end;
end;
procedure TFormmedrecord.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 TFormmedrecord.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 TFormmedrecord.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:Adomedrecord.sort:=sortexp;
1:Adomedtotal.sort:=sortexp;
2:Adomed.sort:=sortexp;
3:Adodoctor.sort:=sortexp;
end;
end;
procedure TFormmedrecord.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 TFormmedrecord.DBGrid4KeyUp(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_CONTENTS0039');
end;
end;
procedure TFormmedrecord.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_contents0039');
end;
end;
procedure TFormmedrecord.DateTimePicker2CloseUp(Sender: TObject);
begin
maskedit1.text:=formatdatetime('yyyy'+dateseparator+'mm'+dateseparator+'dd',Datetimepicker2.date);
end;
procedure TFormmedrecord.DateTimePicker3CloseUp(Sender: TObject);
begin
maskedit2.text:=formatdatetime('yyyy'+dateseparator+'mm'+dateseparator+'dd',Datetimepicker3.date);
end;
procedure TFormmedrecord.MaskEdit2Exit(Sender: TObject);
begin
if maskedit2.text<>' / / ' then
if (not isdate(maskedit1.Text)) or (not isdate(maskedit2.text)) then
begin
Application.Messagebox('对不起,开始日期不是有效的,您不能进行查找','Warning',mb_ok+mb_iconwarning);
maskedit1.SetFocus;
end
else
begin
Adomedrecord.Filtered :=false;
Adomedrecord.Filter :='rq<='''+maskedit2.Text+''' and rq>='''+maskedit1.Text+''' ';
Adomedrecord.Filtered :=true;
end;
end;
procedure TFormmedrecord.Edit1Exit(Sender: TObject);
begin
if trim(edit1.text)<>'' then
begin
Adomedrecord.Filtered :=false;
Adomedrecord.Filter :='workno='''+edit1.text+'''';
Adomedrecord.Filtered :=true;
end;
end;
procedure TFormmedrecord.MaskEdit3Exit(Sender: TObject);
begin
if maskedit3.text<>' / ' then
begin
Adomedtotal.Filtered :=false;
Adomedtotal.Filter :='rq='''+maskedit3.text+'''';
Adomedtotal.Filtered :=true;
end;
end;
procedure TFormmedrecord.Edit2Exit(Sender: TObject);
begin
if trim(edit1.text)<>'' then
begin
Adomedtotal.Filtered :=false;
Adomedtotal.Filter :='workno='''+edit2.text+''' or cardno='''+edit2.text+''' ';
Adomedtotal.Filtered :=true;
end;
end;
procedure TFormmedrecord.ppReport1BeforePrint(Sender: TObject);
begin
pplabel31.caption:=companyname1;
if (maskedit1.text<>' / / ') and (maskedit2.text<>' / / ') then
pplabel32.caption:=maskedit1.text+'~'+maskedit2.text
else
pplabel32.Caption:='';
pplabel29.caption:='制表人:'+pubworkname;
end;
procedure TFormmedrecord.ppReport2BeforePrint(Sender: TObject);
begin
pplabel35.caption:=companyname1;
if maskedit3.text<>' / ' then
pplabel34.caption:=maskedit3.text
else
pplabel34.Caption:='';
pplabel38.caption:='制表人:'+pubworkname;
end;
procedure TFormmedrecord.ppReport3BeforePrint(Sender: TObject);
begin
pplabel51.caption:=companyname1;
pplabel55.caption:='制表人:'+pubworkname;
end;
procedure TFormmedrecord.ppReport4BeforePrint(Sender: TObject);
begin
pplabel68.caption:=companyname1;
pplabel71.caption:='制表人:'+pubworkname;
end;
procedure TFormmedrecord.ToolButton7Click(Sender: TObject);
begin
case pagecontrol1.activepageindex of
0:
begin
ppreport1.devicetype:='Screen';
ppreport1.print;
end;
1:
begin
ppreport2.devicetype:='Screen';
ppreport2.print;
end;
2:
begin
ppreport3.devicetype:='Screen';
ppreport3.print;
end;
3:
begin
ppreport4.devicetype:='Screen';
ppreport4.print;
end;
end;
end;
procedure TFormmedrecord.ppReport1PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure TFormmedrecord.ppReport2PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure TFormmedrecord.ppReport3PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure TFormmedrecord.ppReport4PreviewFormCreate(Sender: TObject);
begin
tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;
procedure TFormmedrecord.ToolButton5Click(Sender: TObject);
begin
case pagecontrol1.ActivePageindex of
0:begin
Adomedrecord.Filtered :=false;
Adomedrecord.Filter :='';
Adomedrecord.Filtered :=true;
maskedit1.Text:=' / / ';
maskedit2.Text:=' / / ';
end;
1:begin
Adomedtotal.Filtered :=false;
Adomedtotal.Filter :='';
Adomedtotal.Filtered :=true;
maskedit3.Text:=' / ';
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?