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

📄 unit_customer.pas

📁 用delphi开发的美容院管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
   dtp_Register.Enabled:= temp;
   edt_Address.Enabled := temp;
   edt_Zipcode.Enabled := temp;
   mm_Remark.Enabled   := temp;
   if temp then edt_Cusno.SetFocus;

end;
{********************************客户操作过程****************************}

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

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

procedure Tfrm_customer.FormClose(Sender: TObject;
  var Action: TCloseAction);
var
  i:integer;
begin
  if PageControl1.ActivePage = sht_content then
  if sbtn_append.Enabled then
  begin
    if edt_CusNo.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_customer := nil;
end;

procedure Tfrm_customer.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_Cusno.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;   //to set AppendOrEdit to status of Append
  pagecontrol1.ActivePage := sht_content; //to change page to content
  MakeEnabled(true);      //to determine button's status
  ClearInfo;              //to clear information of components
  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_Cusno.Text :=GetNo('DBMeirong','Customer','','','Cus_no',temp,2); //to set value of Empno like '2003101301'
end;

procedure Tfrm_customer.sbtn_editClick(Sender: TObject);
var
  i:integer;
begin
  if pagecontrol1.ActivePage = sht_content then
   if AppendOrEdit and edt_Cusno.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_Cusno.Enabled := false;
end;

procedure Tfrm_customer.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
    sg.Cells[0,i] := trim(edt_Cusno.Text );
    sg.Cells[1,i] := trim(edt_Cusname.Text );
    sg.Cells[2,i] := trim(cbb_Sex.Text );
    sg.Cells[3,i] := trim(cbb_type.Text);
    sg.Cells[4,i] := DateToStr(dtp_register.Date);
  end;

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

procedure Tfrm_customer.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 Customer where cus_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_customer.sbtn_backClick(Sender: TObject);
var
  i:integer;
begin
  if pagecontrol1.ActivePage = sht_content then
  if edt_Cusno.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_customer.sbtn_frontClick(Sender: TObject);
var
  i:integer;
begin
  if pagecontrol1.ActivePage = sht_content then
  if edt_Cusno.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_customer.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_Cusno.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_customer.cbb_TypeEnter(Sender: TObject);
begin
  cbb_type.Clear ;
  with dmod.qrydata do
  begin
    close;
    SQL.Text :='select type_id,type_name from CustomerType order by type_id';
    Open;
    while not eof do
    begin
      cbb_type.Items.Add(FieldByName('type_id').AsString+'-'+FieldByName('type_name').AsString ); 
      next;
    end;
  end;
end;

procedure Tfrm_customer.sbtn_AddCusTypeClick(Sender: TObject);
begin
  DoDictionary;
end;

procedure Tfrm_customer.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_customer.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_customer.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_customer.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_customer.sgDblClick(Sender: TObject);
begin
  sbtn_editClick(nil);
end;

procedure Tfrm_customer.sbtn_printClick(Sender: TObject);
begin
  DoReportCustomer;
end;

end.

⌨️ 快捷键说明

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