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 + -
显示快捷键?