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

📄 unit_employee.pas

📁 用delphi开发的美容院管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
      begin
        try
          MemStream := TMemoryStream.Create ;
          Img_photo.Picture.Graphic.SaveToStream(MemStream);
          ParamByName('photo').LoadFromStream(MemStream,FtGraphic);
        finally
          MemStream := nil;
          MemStream.Free ;
        end;
      end else ParamByName('photo').AsBlob :='';
       
      ParamByName('remark').AsString := mm_remark.Text ;
      ExecSQL;
    end;
  finally
    try
       dmod.Database.Commit ;
    except
       dmod.Database.Rollback ;
       MessageBox(handle,'操作失败,请重试!','提示',mb_ok+mb_iconinformation);
       result := false;
    end;
  end;

end;

{************************************************}
procedure Tfrm_employee.sbtn_frontClick(Sender: TObject);
var
  i:integer;
begin
  if pagecontrol1.ActivePage = sht_content then
  if edt_Empno.Enabled then
  if sbtn_append.Enabled then
  begin
     i := MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
     if i=6 then
     if not SaveInfo then i:=2;
     if i=2 then exit;
  end;

  if sg.Row=1 then
  begin
    sbtn_front.Enabled := false;
    exit;
  end;

  sbtn_back.Enabled := true;
  sg.Row := sg.Row-1;

  if pagecontrol1.ActivePage = sht_content then
  begin
    GetInfo();
    MakeEnabled(false);
  end;
end;

procedure Tfrm_employee.sbtn_backClick(Sender: TObject);
var
  i:integer;
begin
  if pagecontrol1.ActivePage = sht_content then
  if edt_empno.Enabled  then
  if sbtn_append.Enabled  then
  begin
     i := MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
     if i=6 then  //select yes
     if not SaveInfo then i:=2; //if save error
     if i=2 then exit;
  end;
  if sg.Row > sg.RowCount-2 then
  begin
     sbtn_back.Enabled := false;
     exit;
  end;
  sbtn_front.Enabled := true;
  sg.Row := sg.Row+1;
  if pagecontrol1.ActivePage = sht_content then
  begin
     GetInfo();
     MakeEnabled(false);
  end;
end;

procedure Tfrm_employee.sbtn_appendClick(Sender: TObject);
var
  i : integer;
  temp : string;
begin
  if pagecontrol1.ActivePage = sht_content then  //to determine whethter sht_content is shown
  if (not AppendOrEdit) and edt_Empno.Enabled then  //to determine status of Edit and Components' Enabled
  begin
    i := MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
    if i=6 then //select yes
    if not SaveInfo then i:=2;
    if i=2 then exit;
  end;

  AppendOrEdit := true;
  pagecontrol1.ActivePage := sht_content;
  MakeEnabled(true);
  ClearInfo;
  temp:=GetDateString('DBMeirong');
  temp:=copy(temp,1,4)+copy(temp,6,2)+copy(temp,9,2);
  edt_Empno.Text :=GetNo('DBMeirong','Employee','','','Emp_no',temp,2);
end;

procedure Tfrm_employee.sbtn_editClick(Sender: TObject);
var
   i:integer;
begin
  if pagecontrol1.ActivePage = sht_content then
   if AppendOrEdit and edt_Empno.Enabled then
   begin
     i := MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
     if i=6 then
     if not SaveInfo then i:=2;
     if i=2 then exit;
   end;
   if sg.Cells[0,sg.Row]='' then exit;
   if pagecontrol1.ActivePage <> sht_content then pagecontrol1.ActivePage := sht_content;
   if AppendOrEdit then GetInfo;
   AppendOrEdit := false;
   MakeEnabled(true);
   edt_Empno.Enabled := false;
end;

procedure Tfrm_employee.sbtn_saveClick(Sender: TObject);
var
  i : integer;
  temp : string;
begin
  if not SaveInfo then exit;

  if AppendOrEdit then
  begin
    StringGridInsert(sg);
    i:=1;
  end else i:=sg.Row ;

  with sg do
  begin
    Cells[0,i] := trim(edt_Empno.Text );
    Cells[1,i] := trim(edt_Empname.Text );
    Cells[2,i] := trim(cbb_Sex.Text );
    Cells[3,i] := trim(DateToString(dtp_Birthday.Date));
    Cells[4,i] := trim(cbb_type.Text );
  end;

  if AppendOrEdit then
  begin
    ClearInfo;
    temp := GetDateString('DBMeirong');
    temp := copy(temp,1,4) + copy(temp,6,2) + copy(temp,9,2);
    edt_Empno.Text := GetNo('DBMeirong','Employee','','','Emp_no',temp,2);
    if sg.RowCount > 3 then sbtn_back.Enabled := true;
  end else MakeEnabled(false);
end;

procedure Tfrm_employee.sbtn_deleteClick(Sender: TObject);
begin
  if sg.cells[0,sg.Row]='' then exit;
  if MessageBox(handle,'你确定要删除该员工信息吗?','询问',mb_yesno+mb_iconquestion)<> IDYes then exit;
  with dmod.qrydata do
  begin
    close;
    SQL.Text := 'delete from employee where emp_no='+#39+sg.Cells[0,sg.Row]+#39;
    ExecSQL;
  end;
  StringGridDelete(sg,sg.Row);
  if sg.Row = sg.RowCount - 1 then
  begin
    if sg.RowCount > 2 then
      sg.Row := sg.Row - 1
    else
      sbtn_back.Enabled := false;
  end;
  if sg.Row = 1 then sbtn_front.Enabled := false;
  if sg.Row = sg.RowCount - 2 then sbtn_back.Enabled := false;
end;

procedure Tfrm_employee.sbtn_printClick(Sender: TObject);
begin
  DoReportEmployee;
end;

procedure Tfrm_employee.sbtn_closeClick(Sender: TObject);
begin
  close;
end;

procedure Tfrm_employee.sgDblClick(Sender: TObject);
begin
  sbtn_editClick(nil);
end;

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

procedure Tfrm_employee.PageControl1Changing(Sender: TObject;
  var AllowChange: Boolean);
var
  i:integer;
begin
  AllowChange := true;
  if not sbtn_append.Enabled then exit;
  if PageIndex=1 then
  begin
    if edt_Empno.Enabled then
    begin
      AppendOrEdit := false;
      i := MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
      if i=6 then //
      begin
        sbtn_saveClick(nil);
        if not DoChange then i:=2;
      end;
      if i=7 then MakeEnabled(true);
      if i=2 then AllowChange:=true;
    end;
  end else if (sg.Cells [0,sg.Row]='') and not AppendOrEdit then AllowChange:=true;
end;

procedure Tfrm_employee.sht_contentShow(Sender: TObject);
begin
  PageIndex := 1;
  if not AppendOrEdit then
  begin
    if sg.Cells[0,sg.Row]<>'' then GetInfo;
    MakeEnabled(false);
  end;
end;

procedure Tfrm_employee.sht_mainShow(Sender: TObject);
begin
  PageIndex:=0;
  if not sbtn_append.Enabled then exit;
  sbtn_delete.Enabled := true;
  sbtn_save.Enabled := false;
end;

procedure Tfrm_employee.FormResize(Sender: TObject);
begin
  StringGridAutoSize(sg);
end;

procedure Tfrm_employee.FormKeyPress(Sender: TObject; var Key: Char);
var
   temp,temp1:boolean;
begin
   temp := false;
   temp1:= true;

   if (key=#13) and sbtn_save.Enabled then
   begin
     temp := true;
     if (ActiveControl is TMemo) then
     if TMemo(ActiveControl).Name = 'mm_Remark' then temp1:=false;
   end;

   if temp then
   begin
     if temp1 then
     begin
       key:=#0;
       perform(WM_NEXTDLGCTL,0,0)
     end else if sbtn_save.Enabled then sbtn_saveClick(nil);
   end;
end;

procedure Tfrm_employee.FormClose(Sender: TObject;
  var Action: TCloseAction);
var
  i:integer;
begin
  if PageControl1.ActivePage = sht_content then
  if sbtn_append.Enabled then
  begin
    if edt_EmpNo.enabled then
    begin
      i:=MessageBox(handle,'在窗口关闭的同时,您要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
      if i=6 then    //点击是
      begin
        if SaveInfo then i:=7 else i:=2;
      end;
      if i=2 then          //点击取消
      begin
        action:=canone;   
        exit;
      end;
    end;
  end;
  action:= cafree;
  frm_employee := nil;
end;

procedure Tfrm_employee.bbSelectClick(Sender: TObject);
var
  FileName:String;
begin
  if openpicturedialog1.Execute then
     FileName:=Openpicturedialog1.FileName ;
  if filename='' then exit;
  img_photo.Picture.LoadFromFile(filename); 
end;

procedure Tfrm_employee.bbCancelClick(Sender: TObject);
begin
  img_photo.Picture.Graphic := nil;
end;

end.

⌨️ 快捷键说明

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