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

📄 unit_attendconfig.pas

📁 用delphi开发的美容院管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:

    sg_Time.Enabled :=true;
  end
  {*********************如果新建未考勤理由**********************}
  else if pagecontrol1.ActivePage = sht_Reason then
  begin
    if (not ReasonAppendOrEdit) and (not edt_Reasonid.Enabled) and (edt_Reasonid.Text<>'') then
    begin
      i:=MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
      if i=6 then
      if not SaveReasonInfo then i:=2;
      if i=2 then exit;
    end;
    ReasonAppendOrEdit:=true;
    sbtn_edit.Enabled :=true;
    MakeReasonEnabled(true);
    ClearReasonInfo();

    sg_Time.Enabled :=true;

    temp:=GetDateString('DBMeirong');//to get current datetime such as 2003-10-13 13:37:03
    temp:=copy(temp,1,4)+copy(temp,6,2)+copy(temp,9,2); //to set value of temp like '20031013'
    edt_Reasonid.Text :=GetNo('DBMeirong','specialreason','','','reason_id',temp,2); //to set value of Empno like '2003101301'
  end;
end;

procedure Tfrm_attendconfig.sbtn_editClick(Sender: TObject);
var
  i:integer;
begin
  {**************************修改时间设置************************}
  if pagecontrol1.ActivePage = sht_Time then
  begin
    if TimeAppendOrEdit and cbb_Timename.Enabled then
    begin
      i := MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
      if i=6 then
      if not SaveTimeInfo then i:=2;
      if i=2 then exit;
    end;
    if sg_Time.Cells[0,sg_Time.Row]='' then exit;

    TimeAppendOrEdit:=false;

    cbb_Timename.Text := sg_Time.Cells[0,sg_Time.Row];
    dtp_Timetime.Text := sg_Time.Cells[1,sg_Time.Row];

    MakeTimeEnabled(true);
    cbb_timename.Enabled :=false;
    sg_Time.Enabled :=false;
    sbtn_edit.Enabled :=false;
  end
  {**************************修改未考勤原因************************}
  else if pagecontrol1.ActivePage = sht_Reason then
  begin
    if ReasonAppendOrEdit and edt_Reasonid.Enabled then
    begin
      i := MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
      if i=6 then
      if not SaveReasonInfo then i:=2;
      if i=2 then exit;
    end;
    if sg_Reason.Cells[0,sg_Reason.Row]='' then exit;

    ReasonAppendOrEdit:=false;

    edt_Reasonid.Text :=sg_Reason.Cells[0,sg_Reason.Row];
    mm_remark.Text := sg_Reason.Cells[1,sg_Reason.Row];

    MakeReasonEnabled(true);
    edt_Reasonid.Enabled :=false;
    sg_Reason.Enabled :=false;
    sbtn_edit.Enabled :=false;
  end
end;

procedure Tfrm_attendconfig.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  action:=cafree;
  frm_attendConfig:=nil;
end;

procedure Tfrm_attendconfig.sbtn_saveClick(Sender: TObject);
var
  i:integer;
  temp:string;
begin
  {**********************进行时间设置的保存********************}
  if pagecontrol1.ActivePage = sht_Time then
  begin
    if not SaveTimeInfo then exit;
    if TimeAppendOrEdit then
    begin
      StringGridInsert(sg_Time);
      i:=1;
    end else i:=sg_Time.Row;
    with sg_Time do
    begin
      cells[0,i] := trim(cbb_timename.Text );
      cells[1,i] := dtp_timetime.Text;
    end;
    if TimeAppendOrEdit then
    begin
      ClearTimeInfo();
      if sg_Time.rowcount>3 then sbtn_Back.Enabled:=true;
    end
    else begin
      MakeTimeEnabled(false);
      ClearTimeInfo();
      sg_Time.Enabled:=true;
      sbtn_save.Enabled :=false;
    end;
    sbtn_delete.enabled:=true;
    sbtn_edit.Enabled :=true;
  end
  {**********************进行理由的保存********************}
  else if pagecontrol1.ActivePage = sht_Reason then
  begin
    if not SaveReasonInfo then exit;
    if ReasonAppendOrEdit then
    begin
      StringGridInsert(sg_Reason);
      i:=1;
    end else i:=sg_Reason.Row;
    with sg_Reason do
    begin
      cells[0,i] := trim(edt_Reasonid.Text );
      cells[1,i] := trim(mm_remark.Text );
    end;
    if ReasonAppendOrEdit then
    begin
      ClearReasonInfo();
      temp:=GetDateString('DBMeiRong');
      temp:=copy(temp,1,4)+copy(temp,6,2)+copy(temp,9,2);
      edt_Reasonid.Text :=GetNo('DBMeiRong','specialreason','','','reason_id',temp,2);
      if sg_Reason.rowcount>3 then sbtn_Back.Enabled:=true;
    end
    else begin
      MakeReasonEnabled(false);
      ClearReasonInfo();
      sg_Reason.Enabled:=true;
      sbtn_save.Enabled :=false;
    end;
    sbtn_delete.enabled:=true;
    sbtn_edit.Enabled :=true;
  end;

end;

procedure Tfrm_attendconfig.sbtn_deleteClick(Sender: TObject);
begin
  {******************进行时间设置的删除*************************}
  if pagecontrol1.ActivePage = sht_Time then
  begin
    if sg_Time.Cells[0,sg_Time.Row]='' then exit;
    if MessageBox(handle,'你确定要删除该时间设置信息吗?','询问',mb_yesno+mb_iconquestion)<> IDYes then exit;
    with dmod.qrydata do
    begin
      close;
      SQL.Text := 'delete from AttendTime where time_name='+#39+sg_Time.Cells[0,sg_Time.Row]+#39;
      ExecSQL;
    end;
    StringGridDelete(sg_Time,sg_Time.Row);
    if sg_Time.Row = sg_Time.RowCount - 1 then
    begin
      if sg_Time.RowCount > 2 then
        sg_Time.Row := sg_Time.Row - 1
      else
        sbtn_back.Enabled := false;
    end;
    if sg_Time.Row = 1 then sbtn_front.Enabled := false;
    if sg_Time.Row = sg_Time.RowCount - 2 then sbtn_back.Enabled := false;
  end
  {******************进行理由的删除*************************}
  else if pagecontrol1.ActivePage = sht_Reason then
  begin
    if sg_Reason.Cells[0,sg_Reason.Row]='' then exit;
    if MessageBox(handle,'你确定要删除未考勤理由吗?','询问',mb_yesno+mb_iconquestion)<> IDYes then exit;
    with dmod.qrydata do
    begin
      close;
      SQL.Text := 'delete from specialreason where reason_id='+#39+sg_Reason.Cells[0,sg_Reason.Row]+#39;
      ExecSQL;
    end;
    StringGridDelete(sg_Reason,sg_Reason.Row);
    if sg_Reason.Row = sg_Reason.RowCount - 1 then
    begin
      if sg_Reason.RowCount > 2 then
        sg_Reason.Row := sg_Reason.Row - 1
      else
        sbtn_back.Enabled := false;
    end;
    if sg_Reason.Row = 1 then sbtn_front.Enabled := false;
    if sg_Reason.Row = sg_Reason.RowCount - 2 then sbtn_back.Enabled := false;
  end
end;

procedure Tfrm_attendconfig.sbtn_backClick(Sender: TObject);
var
  i:integer;
begin
  {*********************时间设置向后移动*****************************}
  if pagecontrol1.ActivePage = sht_Time then
  begin
     if sbtn_save.Enabled and sbtn_append.Enabled then
     begin
       i:=MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
       if i=6 then
       if not SaveTimeInfo then i:=2;
       if i=2 then exit;
       if i=7 then begin ClearTimeInfo(); sg_Time.Enabled:=true;MakeTimeEnabled(false);sbtn_save.Enabled :=false;sbtn_delete.Enabled :=true;end;
    end;
    if sg_Time.Row > sg_Time.RowCount -2 then
    begin
      sbtn_back.Enabled :=false;
      exit;
    end;
    sbtn_front.Enabled :=true;
    sbtn_edit.Enabled  :=true;
    sg_Time.Row :=sg_Time.Row +1;
  end
  else if pagecontrol1.ActivePage = sht_Reason then
  begin
    {*********************时间设置向后移动*****************************}
    if pagecontrol1.ActivePage = sht_Reason then
    begin
       if sbtn_save.Enabled and sbtn_append.Enabled then
       begin
         i:=MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
         if i=6 then
         if not SaveReasonInfo then i:=2;
         if i=2 then exit;
         if i=7 then begin ClearReasonInfo(); sg_Reason.Enabled:=true;MakeReasonEnabled(false);sbtn_save.Enabled :=false;sbtn_delete.Enabled :=true;end;
      end;
      if sg_Reason.Row > sg_Reason.RowCount -2 then
      begin
         sbtn_back.Enabled :=false;
         exit;
      end;
      sbtn_front.Enabled :=true;
      sbtn_edit.Enabled  :=true;
      sg_Reason.Row :=sg_Reason.Row +1;
    end
  end;
end;

procedure Tfrm_attendconfig.sbtn_frontClick(Sender: TObject);
var
  i:integer;
begin
  {*************************时间设置向前移动*****************************}
  if pagecontrol1.ActivePage = sht_Time then
  begin
    if sbtn_save.Enabled and sbtn_append.Enabled then
    begin
      i := MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
      if i=6 then
      if not SaveTimeInfo then i:=2;
      if i=2 then exit;
      if i=7 then begin ClearTimeInfo();sg_Time.Enabled:=true;MakeTimeEnabled(false);sbtn_save.Enabled :=false;sbtn_delete.Enabled :=true; end;
    end;
    if sg_Time.Row =1 then
    begin
      sbtn_front.Enabled:=false;
      exit;
    end;
    sbtn_back.Enabled :=true;
    sbtn_edit.Enabled :=true;
    sg_Time.Row :=sg_Time.Row -1;
  end
  else if pagecontrol1.ActivePage = sht_Reason then
  begin
    {*************************时间设置向前移动*****************************}
    if pagecontrol1.ActivePage = sht_Reason then
    begin
      if sbtn_save.Enabled and sbtn_append.Enabled then
      begin
        i := MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
        if i=6 then
        if not SaveReasonInfo then i:=2;
        if i=2 then exit;
        if i=7 then begin ClearReasonInfo();sg_Reason.Enabled:=true;MakeReasonEnabled(false);sbtn_save.Enabled :=false;sbtn_delete.Enabled :=true; end;
      end;
      if sg_Reason.Row =1 then
      begin
        sbtn_front.Enabled:=false;
        exit;
      end;
      sbtn_back.Enabled :=true;
      sbtn_edit.Enabled :=true;
      sg_Reason.Row :=sg_Reason.Row -1;
    end
  end;
end;

procedure Tfrm_attendconfig.sg_TimeSelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  if ARow=sg_Time.RowCount-1 then
    CanSelect:=false
  else
  begin
    sbtn_back.Enabled :=true;
    sbtn_front.Enabled :=true;
    if ARow = sg_Time.rowcount-2 then sbtn_back.Enabled := false;
    if ARow=1  then sbtn_front.Enabled := false;
    CanSelect:=true;
  end;
end;

procedure Tfrm_attendconfig.sg_ReasonSelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin
  if ARow=sg_Reason.RowCount-1 then
    CanSelect:=false
  else
  begin
    sbtn_back.Enabled :=true;
    sbtn_front.Enabled :=true;
    if ARow = sg_Reason.rowcount-2 then sbtn_back.Enabled := false;
    if ARow=1  then sbtn_front.Enabled := false;
    CanSelect:=true;
  end;
end;

end.

⌨️ 快捷键说明

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