⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 edurecord.pas

📁 pasa人力资源考勤管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
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 + -