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

📄 meal.pas

📁 pasa人力资源考勤管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
  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 TFormmeal.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 TFormmeal.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: ADOmealrecord.Sort :=sortexp;
       1: ADOmealtotal.sort:=sortexp;
//       1: ADOunusual.sort:=sortexp;
    end;
end;

procedure TFormmeal.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 TFormmeal.MaskEdit2Exit(Sender: TObject);
var s1,s2,str,s3:string;
begin
  s1:='';s2:='';s3:='';
  if trim(edit1.text)<>'' then
     s1:=' (workno='''+edit1.text+''' or cardno='''+edit1.text+''' or name='''+edit1.text+''') ';
  if trim(maskedit2.text)<>fmat1 then
    if (not isdate(maskedit1.Text)) or (not isdate(maskedit2.text)) then
    begin
       Application.MessageBox('对不起,您输入的不是有效日期','Warning',mb_ok+mb_iconwarning);
       maskedit1.SetFocus;
       exit;
    end
    else s2:=' and (rq<='''+maskedit2.text+''' and rq>='''+maskedit1.text+''')';
  if trim(combobox1.text)='' then
    combobox1.Text:='全部';
  if combobox1.Text<>'全部' then
    s3:=' and dept='''+combobox1.text+'''';
  str:=s1+s2+s3;
  if trim(str)<>'' then
   if s1<>'' then
     str:=copy(str,1,length(str))
   else
     str:=copy(str,pos(' and',str)+5,length(str));
    adomealrecord.Close;
    adomealrecord.Prepared:=True;
    if trim(str)<>'' then
     adomealrecord.CommandText:='Select * From mel04010 where '+str
    else
     adomealrecord.CommandText:='Select * From mel04010';
    Adomealrecord.Open;
  end;



procedure TFormmeal.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if (activecontrol=dbgrid1) or (activecontrol=dbgrid2)  then
    exit;
  if key=#13 then
    begin
      selectnext(activecontrol,true,true);
      key:=#0;
    end;
end;
procedure TFormmeal.ToolButton5Click(Sender: TObject);
begin
  case pagecontrol1.ActivePageIndex of
  0:begin
      adomealrecord.close;
      adomealrecord.Filtered:=false;
      adomealrecord.commandText:='select * from mel04010 order by rq ';
      adomealrecord.Open;
      maskedit1.text:=fmat1;
      maskedit2.Text:=fmat1;
      combobox1.Text:='';
      Combobox2.text:='';
      Combobox3.text:='';
    end;
  2:begin
      adomealtotal.close;
      adomealtotal.Filter:='';
      adomealtotal.Filtered:=True;
      adomealtotal.CommandText:='select * from mel05010 order by rq ';
      adomealtotal.Prepared:=True;  //进行优化
      adomealtotal.Open;
      adodataset1.Close;
      adodataset1.CommandText:='select * from mel08010 where workno=:workno and left(convert(varchar,rq,111),7)=:rq ';
      adodataset1.Open;
      maskedit3.Text:=fmat2;
    end;
  1:begin
      AdoDataSet2.Close;
      AdoDataSet3.Close;
      AdoDataSet2.CommandText:='Select * From mel08010 order  by rq  ';
      AdoDataSet3.CommandText:='Select * From mel04010 where convert(varchar(10),rq,111)=:rq and workno=:workno';
      AdoDataSet2.Open;
      AdoDataSet3.Open;
      MaskEdit4.Text:=fmat1;
      MaskEdit5.Text:=fmat1;
      Edit3.Text:='';
    end;
  end;
end;
procedure TFormmeal.MaskEdit3Exit(Sender: TObject);
var s1,s2,str,s3:string;
begin
  s1:='';s2:='';s3:='';
  if trim(edit2.text)<>'' then
     s1:=' (workno='''+edit2.text+''' or cardno='''+edit2.text+''' or name='''+edit2.text+''') ';
  if trim(maskedit3.text)<>fmat then
    s2:=' and (rq='''+maskedit3.text+''')';
  if trim(combobox2.Text)='' then
    combobox2.Text:='全部';
  if combobox2.Text<>'全部' then
    s3:=' and deptno='''+combobox2.text+'''';
  str:=s1+s2+s3;
  if trim(str)<>'' then
   if s1<>'' then
     str:=copy(str,1,length(str))
   else
     str:=copy(str,pos(' and',str)+5,length(str));
  adomealtotal.Close;
  if trim(str)<>'' then
    adomealtotal.CommandText:='select * from mel05010 where '+str
  else
    adomealtotal.CommandText:='select * From mel05010';
  adomealtotal.Open;
end;
procedure TFormmeal.Edit2Exit(Sender: TObject);
begin
  // if trim(edit2.text)<>'' then
  //  begin
  //   adomealtotal.Filtered :=false;
 //     adomealtotal.Filter :='workno='''+edit2.text+''' or name='''+edit2.text+''' or deptno='''+edit2.text+''' or cardno='''+Edit2.Text+'''';
  //    adomealtotal.Filtered :=true;
  //  end;
end;

procedure TFormmeal.Edit3Exit(Sender: TObject);
begin
  if (pageControl1.ActivePageIndex=2)and(Edit3.Text<>'') and (MaskEdit4.Text<>'    /  /  ')and (MaskEdit5.Text<>'    /  /  ')then
  begin
    AdoDataSet2.Close;
    AdoDataSet2.CommandText:='Select * From mel08010 where rq between '''+MaskEdit4.Text+''' and '''+MaskEdit5.Text+''' and workno='''+Edit3.Text+''' or cardno='''+Edit3.Text+''' or name='''+Edit3.Text+''' or dept='''+Edit3.Text+'''order by dept,workno';
    AdoDataSet2.Prepared:=True;
    AdoDataSet2.Open;
  end
  else if (pageControl1.ActivePageIndex=2) and (Edit3.Text<>'') and (MaskEdit4.Text='    /  /  ')and (MaskEdit5.Text='    /  /  ')then
  begin
    AdoDataSet2.Close;
    AdoDataSet2.CommandText:='Select * From mel08010 where workno='''+Edit3.Text+''' or cardno='''+Edit3.Text+''' or name='''+Edit3.Text+''' or dept='''+Edit3.Text+''' order by dept,workno';
    AdoDataSet2.Prepared:=True;
    AdoDataSet2.Open;
  end;
end;
procedure TFormmeal.FormKeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if key=VK_F1 then
      begin
       Application.HelpFile :=Extractfilepath(application.ExeName)+ 'help\pasahelp.hlp';
      application.HelpJump('SHM_CONTENTS0037');
    end;
end;
procedure TFormmeal.tbnprintClick(Sender: TObject);
begin
  Formmealprint:=TFormmealprint.create(Application);
  Formmealprint.showmodal;
end;
procedure TFormmeal.DBGrid3TitleClick(Column: TColumn);
begin
  if f='DESC' THEN
    F:='ASC'
  ELSE
    F:='DESC';
  AdoDataSet2.sort:=column.fieldname+' '+f;
end;
procedure TFormmeal.DBGrid7TitleClick(Column: TColumn);
begin
  if f='DESC' THEN
    F:='ASC'
  ELSE
    F:='DESC';
  AdoDataSet3.sort:=column.fieldname+' '+f;
end;
procedure TFormmeal.Edit1Exit(Sender: TObject);
begin
  if (pageControl1.ActivePageIndex=0) and (Edit1.Text<>'') and (MaskEdit1.Text<>'    /  /  ')and (MaskEdit2.Text<>'    /  /  ')then
  begin
    Adomealrecord.Close;
    Adomealrecord.CommandText:='Select * From mel04010 where rq between '''+MaskEdit1.Text+''' and '''+MaskEdit2.Text+''' and (workno='''+Edit1.Text+''' or cardno='''+Edit1.Text+''' or name='''+Edit1.Text+''' or dept='''+Edit1.Text+''' or mealname='''+Edit1.Text+''' or mealtype='''+Edit1.Text+''') order by dept,workno';
    Adomealrecord.Prepared:=True;
    Adomealrecord.Open;
  end
  else if (pageControl1.ActivePageIndex=0) and (Edit1.Text<>'') and (MaskEdit1.Text='    /  /  ')and (MaskEdit2.Text='    /  /  ')then
  begin
    Adomealrecord.Close;
    Adomealrecord.CommandText:='Select * From mel04010 where workno='''+Edit1.Text+''' or cardno='''+Edit1.Text+''' or name='''+Edit1.Text+''' or dept='''+Edit1.Text+''' or mealname='''+Edit1.Text+''' or mealtype='''+Edit1.Text+''' order by dept,workno';
    Adomealrecord.Prepared:=True;
    Adomealrecord.Open;
  end;
end;
procedure TFormmeal.MaskEdit5Exit(Sender: TObject);
var s1,s2,str,s3:string;
begin
  s1:='';s2:='';s3:='';
  if trim(edit3.text)<>'' then
     s1:=' (workno='''+edit3.text+''' or cardno='''+edit3.text+''' or name='''+edit3.text+''') ';
  if trim(maskedit5.text)<>fmat1 then
    if (not isdate(maskedit4.Text)) or (not isdate(maskedit5.text)) then
    begin
       Application.MessageBox('对不起,您输入的不是有效日期','Warning',mb_ok+mb_iconwarning);
       maskedit4.SetFocus;
       exit;
    end
    else s2:=' and (rq<='''+maskedit5.text+''' and rq>='''+maskedit4.text+''')';
  if trim(combobox3.text)='' then
    combobox3.Text:='全部';
  if combobox3.Text<>'全部' then
    s3:=' and dept='''+combobox3.text+'''';
  str:=s1+s2+s3;
  if trim(str)<>'' then
   if s1<>'' then
     str:=copy(str,1,length(str))
   else
     str:=copy(str,pos(' and',str)+5,length(str));
    adodataset2.Close;
    adodataset2.Prepared:=True;
    if trim(str)<>'' then
     adodataset2.CommandText:='Select * From mel08010 where '+str
    else
     adodataset2.CommandText:='Select * From mel08010';
    adodataset2.Open;
    adodataset3.Close;
    adodataset3.CommandText:='Select * From mel04010 where rq=:rq and workno=:workno';
    adodataset3.Open;
end;
procedure TFormmeal.ComboBox1Change(Sender: TObject);
begin
//  ADOmealrecord.Close;
//  if (sender as TCombobox).text='全部' then
 //   ADOmealrecord.CommandText:='select * from mel04010 order by dept,rq,workno'
//  else
/////    ADOmealrecord.CommandText:='select * from mel04010 where dept='''+(sender as TCombobox).text+''' order by dept,rq,workno';
 // ADOmealrecord.Open;
end;

procedure TFormmeal.ComboBox2Change(Sender: TObject);
begin
 // ADOmealtotal.close;
 // if Tcombobox(Sender).Text='全部' then
 //   ADOmealtotal.CommandText:='select * from mel05010 order by deptno,rq,workno'
//  else
//    ADOmealtotal.CommandText:='select * from mel05010 where deptno='''+Tcombobox(Sender).Text+'''order by deptno,rq,workno';
// ADOmealtotal.Open;
end;
procedure TFormmeal.ComboBox3Change(Sender: TObject);
begin
 // ADODataSet2.close;
 // if TCombobox(Sender).Text='全部' then
 //   ADODataSet2.commandtext:='Select * From mel08010 order by dept,rq,workno'
//  else
 //   ADODataSet2.commandtext:='Select * From mel08010 where dept='''+TCombobox(Sender).Text+''' order by dept,rq,workno';
//  ADODataSet2.open;
end;
procedure TFormmeal.BitBtn2Click(Sender: TObject);
var i:string;
begin
  if messagedlg('注意:移除前,请确认为已无效的数据'+#13+'是否要进行移除',mtinformation,[mbyes,mbno],0)=mryes then
  begin
    Animate1.Active:=true;
    adoquery1.Close;
    adoquery1.SQL.Clear;
    label23.Caption:='正在移除资料,请稍後........';
    label23.Visible:=true;
    label23.Update;
    adoquery1.SQL.text:='exec mealbk ''1'','''+formatdatetime('yyyy/mm/dd',DateTimePicker3.DateTime)+''','''+formatdatetime('yyyy/mm/dd',DateTimePicker4.datetime)+'''';
    try
    adoquery1.ExecSQL;
    except
      ;
    end;
    label23.Caption:='移除完毕';
    label23.Update;
    ADOmealrecord.close;
    ADOmealrecord.commandtext:='select * from mel04010 order by dept,workno ';
    ADOmealrecord.Open;
    messagedlg('移除成功,谢谢使用!!!!',mtinformation,[mbok],0);
    Animate1.Active:=false;
    label23.Visible:=false;
  end;
end;
procedure TFormmeal.BitBtn3Click(Sender: TObject);
var i:string;
begin
  if messagedlg('注意:是否进行还原!!!!',mtinformation,[mbyes,mbno],0)=mryes then
  begin
    Animate1.Active:=true;
    adoquery1.Close;
    adoquery1.SQL.Clear;
    label23.Caption:='正在还原资料,请稍後........';
    label23.Visible:=true;
    label23.Update;
    adoquery1.SQL.text:='exec mealbk ''0'','''+formatdatetime('yyyy/mm/dd',DateTimePicker3.DateTime)+''','''+formatdatetime('yyyy/mm/dd',DateTimePicker4.datetime)+'''';
    try
    adoquery1.ExecSQL;
    except
      ;
    end;
    label23.Caption:='还原完毕';
    label23.Update;
    ADOmealrecord.close;
    ADOmealrecord.commandtext:='select * from mel04010 order by dept,workno ';
    ADOmealrecord.Open;
    messagedlg('还原成功,谢谢使用!!!!',mtinformation,[mbok],0);
    Animate1.Active:=false;
    label23.Visible:=false;
  end;
end;
procedure TFormmeal.BitBtn1Click(Sender: TObject);
begin
  panel6.Visible:=false;  
end;

procedure TFormmeal.ToolButton4Click(Sender: TObject);
begin
  panel6.Visible:=true;
  datetimepicker3.SetFocus;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -