schebrow.pas

来自「pasa人力资源考勤管理系统」· PAS 代码 · 共 693 行 · 第 1/2 页

PAS
693
字号
          with datamod do
          begin
            query1.Close;
            query1.sql.text:=' ';
            query1.execsql;
          end;
      end;
end;

procedure TFormschebrow.ToolButton5Click(Sender: TObject);
begin
  with datamod do
  begin
   adobc.disablecontrols;
   adobc.close;
   adobc.filter:='';
   adobc.filtered:=false;
   adobc.open;
   adobc.EnableControls;
  end;
end;

procedure TFormschebrow.ToolButton4Click(Sender: TObject);
begin
  close;
end;

procedure TFormschebrow.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
   begin
     with sender as twincontrol do
        postmessage(handle,Wm_KeyDown,VK_TAB,0);
     key:=#0;
   end;
end;

procedure TFormschebrow.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key=#13 then
    begin
      key:=#0;
      selectnext(activecontrol,true,true);
    end;
end;

procedure TFormschebrow.DBGrid1TitleClick(Column: TColumn);
begin
   if f='DESC' then
     f:='ASC'
   else
     f:='DESC';
   datamod.ADObc.Sort :=column.FieldName+' '+f;
end;

procedure TFormschebrow.tbnfindClick(Sender: TObject);
begin
  if assigned(formcanfind) then  formcanfind.close;
  findrecorder(datamod.adobc,'Adobc','atd01010');   //调用publicfuction中的查询功能
end;

procedure TFormschebrow.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 TFormschebrow.MenuItem1Click(Sender: TObject);
var i:integer;
begin
  for i:=1 to fcount do
   if dbgrid1.SelectedIndex =findex[i] then
    begin
     fsort[i]:='ASC';
     exit;
    end;
  if fcount<5 then
   begin
    fcount:=fcount+1;
    findex[fcount]:=dbgrid1.selectedindex;
    fsort[fcount]:='ASC';
    dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
   end;
end;

procedure TFormschebrow.MenuItem2Click(Sender: TObject);
var i:integer;
begin
  for i:=1 to fcount do
   if dbgrid1.SelectedIndex =findex[i] then
    begin
     fsort[i]:='DESC';
     exit;
    end;
  if fcount<5 then
   begin
    fcount:=fcount+1;
    findex[fcount]:=dbgrid1.selectedindex;
    fsort[fcount]:='DESC';
    dbgrid1.Columns[dbgrid1.selectedindex].Color :=clgray;
   end;
end;

procedure TFormschebrow.N4Click(Sender: TObject);
var i:1..5;
   sortexp:string;
begin
  sortexp:='';
  for i:=1 to fcount do
  begin
   if dbgrid1.Columns[findex[i]].Color=clgray then
    begin
     sortexp :=sortexp+dbgrid1.Columns[findex[i]].FieldName+' '+fsort[i];
     if i<fcount then sortexp:=sortexp+',';
    end;
  end;
  if sortexp<>'' then datamod.ADObc.Sort :=sortexp;
end;

procedure TFormschebrow.N3Click(Sender: TObject);
var i:1..5;
begin
  for i:=1 to fcount do
    dbgrid1.Columns[findex[i]].Color :=clwindow;
  fcount:=0;
end;

procedure TFormschebrow.DateTimePicker1CloseUp(Sender: TObject);
begin
    // datamod.adobc.edit;
    // datamod.ADObceffectdate.asstring:=datetostr(datetimepicker1.date);
end;

procedure TFormschebrow.DBEdit8Exit(Sender: TObject);
begin      //第一时段

end;

procedure TFormschebrow.DBEdit12Exit(Sender: TObject);
begin     //第二时段

end;

procedure TFormschebrow.DBEdit18Exit(Sender: TObject);
begin     //第三时段
end;

procedure TFormschebrow.DBEdit25Exit(Sender: TObject);
begin      //第四时段

end;

procedure TFormschebrow.DBEdit22Exit(Sender: TObject);
begin     //第五时段

end;

procedure TFormschebrow.DBEdit10Exit(Sender: TObject);
var hours:string;
begin      //第一时段
  if ((datamod.ADObcgotime1.Value<>'') and (datamod.ADObcouttime1.Value<>'')) then
  begin
    hours:=timedec(datamod.ADObcgotime1.Value,datamod.ADObcouttime1.Value);
    Indata(datamod.adobcdaytime1,hours,dbedit10.Text);
  end;
end;

procedure TFormschebrow.DBEdit10KeyPress(Sender: TObject; var Key: Char);
begin
  if key<>#8 then
    if (key<#48) or (key>#58) then
      key:=#0;
end;

procedure TFormschebrow.ComboBox1Change(Sender: TObject);
var CxName:string;
begin
 // if (DataMod.ADObc.State =dsInsert) or (DataMod.ADObc.State =dsEdit) then
 //  begin
     CxName:=(sender as Tcombobox).name;
    // case strtoint(copy(cxname,9,1)) of
   //  1:DataMod.ADObc.FieldByName('Daytime1').asstring:=combobox1.text;
   //  2:DataMod.ADObc.FieldByName('Daytime2').asstring:=combobox2.text;
    // 3:DataMod.ADObc.FieldByName('Daytime3').asstring:=combobox3.text;
    // 4:DataMod.ADObc.FieldByName('Daytime4').asstring:=combobox4.text;
   //  5:DataMod.ADObc.FieldByName('Daytime5').asstring:=combobox5.text;
    // end;
 //  end;
end;

procedure Tformschebrow.Indata(var cx:Tbcdfield;lb1:string;decrease:string);
var h,m:string;   //第一个时段
begin
  if length(lb1)>1 then
   begin
    h:=copy(lb1,1,pos('小时',lb1)-1);
    m:=copy(lb1,pos('时',lb1)+2,pos('分',lb1)-pos('时',lb1)-2);
   end else exit;
  datamod.adobc.edit;
  if length(decrease)>1 then
    if strtoint(m)>=strtoint(decrease) then
      cx.Value:=strtoint(h)+(strtoint(m)-strtoint(decrease))/60
    else
      cx.Value:=(strtoint(h)*60-strtoint(decrease)+strtoint(m))/60
  else
    cx.Value:=strtoint(h)+(strtoint(m)/60);


end;

procedure TFormschebrow.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_CONTENTS0017');
    end;
end;

procedure TFormschebrow.ToolButton7Click(Sender: TObject);
begin
   ppreport2.devicetype:='Screen';
   ppreport2.print;
end;

procedure TFormschebrow.ppReport2BeforePrint(Sender: TObject);
begin
   pplabel46.caption:=companyname1;
   pplabel49.caption:='制表人:'+pubworkname;
end;

procedure TFormschebrow.ppReport2PreviewFormCreate(Sender: TObject);
begin
  tppReport(Sender).PreviewForm.WindowState:=wsMaximized;
end;

procedure TFormschebrow.DBCheckBox1Click(Sender: TObject);
begin
 if (sender as tdbcheckbox).Checked then
   dbcheckbox16.Enabled:=true
 else
   dbcheckbox16.Enabled:=false;
end;

procedure TFormschebrow.DBCheckBox4Click(Sender: TObject);
begin
 if (sender as tdbcheckbox).Checked then
   dbcheckbox17.Enabled:=true
 else
   dbcheckbox17.Enabled:=false;
end;

procedure TFormschebrow.DBCheckBox7Click(Sender: TObject);
begin
 if (sender as tdbcheckbox).Checked then
   dbcheckbox18.Enabled:=true
 else
   dbcheckbox18.Enabled:=false;
end;

procedure TFormschebrow.DBCheckBox13Click(Sender: TObject);
begin
 if (sender as tdbcheckbox).Checked then
   dbcheckbox19.Enabled:=true
 else
   dbcheckbox19.Enabled:=false;
end;

procedure TFormschebrow.DBCheckBox10Click(Sender: TObject);
begin
 if (sender as tdbcheckbox).Checked then
   dbcheckbox20.Enabled:=true
 else
   dbcheckbox20.Enabled:=false;
end;

procedure TFormschebrow.DBEdit14Exit(Sender: TObject);
var hours:string;
begin      //第一时段
  if ((datamod.ADObcgotime2.Value<>'') and (datamod.ADObcouttime2.Value<>'')) then
  begin
    hours:=timedec(datamod.ADObcgotime2.Value,datamod.ADObcouttime2.Value);
    Indata(datamod.adobcdaytime2,hours,dbedit14.Text);
  end;
end;

procedure TFormschebrow.DBEdit15Exit(Sender: TObject);
var hours:string;
begin      //第一时段
  if ((datamod.ADObcgotime3.Value<>'') and (datamod.ADObcouttime3.Value<>'')) then
  begin
    hours:=timedec(datamod.ADObcgotime3.Value,datamod.ADObcouttime3.Value);
    Indata(datamod.adobcdaytime3,hours,dbedit15.Text);
  end;
end;


procedure TFormschebrow.DBEdit16Exit(Sender: TObject);
var hours:string;
begin      //第一时段
  if ((datamod.ADObcgotime4.Value<>'') and (datamod.ADObcouttime4.Value<>'')) then
  begin
    hours:=timedec(datamod.ADObcgotime4.Value,datamod.ADObcouttime4.Value);
    Indata(datamod.adobcdaytime4,hours,dbedit16.Text);
  end;
end;

procedure TFormschebrow.DBEdit20Exit(Sender: TObject);
var hours:string;
begin      //第一时段
  if ((datamod.ADObcgotime5.Value<>'') and (datamod.ADObcouttime5.Value<>'')) then
  begin
    hours:=timedec(datamod.ADObcgotime5.Value,datamod.ADObcouttime5.Value);
    Indata(datamod.adobcdaytime5,hours,dbedit20.Text);
  end;
end;

end.

⌨️ 快捷键说明

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