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

📄 unit_createcard.pas

📁 用delphi开发的美容院管理系统
💻 PAS
📖 第 1 页 / 共 2 页
字号:
   edt_Cardno.Enabled   := temp;
   edt_Cusno.Enabled    := temp;
   edt_Cusname.Enabled  := temp;
   edt_Password1.Enabled:= temp;
   edt_Password2.Enabled:= temp;
   cbb_CardType.Enabled := temp;
   dtp_CreateDate.Enabled:= temp;
   edt_Empno.Enabled    := temp;
   edt_MinCost.Enabled  := temp;
   edt_Discount.Enabled := temp;
   edt_Curcurrency.Enabled:= temp;
   edt_Storecurrency.Enabled:= temp;
   edt_WarningCurrency.Enabled:= temp;
   edt_CostScore.Enabled :=temp;
   mm_remark.Enabled :=temp;
   if temp then edt_Cardno.SetFocus;
end;

{*****************用户定义过程***********************}
procedure Tfrm_createcard.FormClose(Sender: TObject;
  var Action: TCloseAction);
var
  i:integer;
begin
  if pagecontrol1.ActivePage = sht_Card then
  if sbtn_append.Enabled then
  begin
    if edt_cardno.Enabled then
    begin
      i := MessageBox(handle,'在窗口关闭的同时,你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
      if i=6 then
      begin
        if SaveCustomerCardInfo then i:=7 else i:=2;
      end;
      if i=2 then
      begin
        action := canone;
        exit;
      end;
    end;
  end;
  action:=cafree;
  frm_createcard:=nil;
end;

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

procedure Tfrm_createcard.FormResize(Sender: TObject);
begin
  StringGridAutoSize(sg_Customer);
end;

procedure Tfrm_createcard.sbtn_appendClick(Sender: TObject);
var
  i : integer;
  temp : string;
begin
  if pagecontrol1.ActivePage = sht_Card then  //to determine whethter sht_content is shown
  if (not AppendOrEdit) and edt_Cardno.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 SaveCustomerCardInfo then i:=2;
    if i=2 then exit;
  end;

  AppendOrEdit := true;
  pagecontrol1.ActivePage := sht_card;
  MakeEnabled(true);
  ClearCustomerCardInfo;
  //设置密码为可修改
  edt_password1.ReadOnly :=false;
  edt_password2.ReadOnly :=false;
  //设置原始数据
  temp:=GetDateString('DBMeirong');
  temp:=copy(temp,1,4)+copy(temp,6,2)+copy(temp,9,2);
  edt_Cardno.Text :=GetNo('DBMeirong','CustomerCard','','','Card_no',temp,2);
end;

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

procedure Tfrm_createcard.sbtn_editClick(Sender: TObject);
var
   i:integer;
begin
   if pagecontrol1.ActivePage = sht_Card then
   if AppendOrEdit and edt_Cardno.Enabled then
   begin
     i := MessageBox(handle,'你要保存操作的数据吗?','询问',mb_yesnocancel+mb_iconquestion);
     if i=6 then
     if not SaveCustomerCardInfo then i:=2;
     if i=2 then exit;
   end;
   if sg_Customer.Cells[0,sg_Customer.Row]='' then exit;
   if pagecontrol1.ActivePage <> sht_Card then pagecontrol1.ActivePage := sht_Card;
   if AppendOrEdit then begin GetCustomerCardInfo; edt_password1.ReadOnly :=true; edt_password2.ReadOnly :=false; end;
   AppendOrEdit := false;
   MakeEnabled(true);

   edt_Cardno.Enabled := false;
end;

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

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

  with sg_Customer do
  begin
    Cells[0,i] := trim(edt_Cardno.Text );
    Cells[1,i] := trim(edt_cusno.Text );
    Cells[2,i] := trim(edt_cusname.Text );
    Cells[3,i] := trim(DateToString(dtp_createdate.Date));
    Cells[4,i] := trim(cbb_cardtype.Text );
    Cells[5,i] := trim(edt_Empno.Text );
    Cells[6,i] := trim(mm_remark.Text );
  end;

  if AppendOrEdit then
  begin
    ClearCustomerCardInfo;
    temp := GetDateString('DBMeirong');
    temp := copy(temp,1,4) + copy(temp,6,2) + copy(temp,9,2);
    edt_Cardno.Text := GetNo('DBMeirong','CustomerCard','','','Card_no',temp,2);
    if sg_Customer.RowCount > 3 then sbtn_back.Enabled := true;
  end else MakeEnabled(false);
end;

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

procedure Tfrm_createcard.sbtn_backClick(Sender: TObject);
var
   i: integer;
begin
   if pagecontrol1.ActivePage = sht_Card 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 SaveCustomerCardInfo then i:=2; //if save error
     if i=2 then exit;
   end;
   if sg_Customer.Row > sg_Customer.RowCount-2 then
   begin
     sbtn_back.Enabled := false;
     exit;
   end;
   sbtn_front.Enabled := true;
   sg_Customer.Row := sg_Customer.Row+1;
   if pagecontrol1.ActivePage = sht_Card then
   begin
     GetCustomerCardInfo();
     MakeEnabled(false);
   end;
end;

procedure Tfrm_createcard.sbtn_frontClick(Sender: TObject);
var
  i:integer;
begin
  if pagecontrol1.ActivePage = sht_card 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 SaveCustomerCardInfo then i:=2;
     if i=2 then exit;
  end;

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

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

  if pagecontrol1.ActivePage = sht_card then
  begin
    GetCustomerCardInfo();
    MakeEnabled(false);
  end;
end;

procedure Tfrm_createcard.SpeedButton1Click(Sender: TObject);
begin
  DoDictionary;
end;

procedure Tfrm_createcard.cbb_CardTypeEnter(Sender: TObject);
begin
  with dmod.qrydata do
  begin
    close;
    SQL.Text :='select type_id,type_name from MemberCardType';
    Open;
    while not eof do
    begin
      cbb_cardtype.Items.Add(FieldByName('type_id').AsString + '-' + FieldByName('type_name').AsString); 
      next;
    end;
  end;
end;

procedure Tfrm_createcard.cbb_CardTypeExit(Sender: TObject);
var
  temp_typeid:string;
begin
  if cbb_Cardtype.Text ='' then exit;
  temp_typeid:=cbb_Cardtype.Text ;
  with dmod.qrydata do
  begin
    close;
    SQL.Text :='select mincost,discount from MemberCardType where type_id='+#39+StringGetChar(temp_typeid,'-')+#39;
    Open;
    if not eof then
    begin
      edt_MinCost.Text := FieldByname('mincost').AsString ;
      edt_Discount.Text := FieldByName('discount').AsString ;
    end;
  end;
end;

procedure Tfrm_createcard.edt_CusNoExit(Sender: TObject);
begin
  if edt_CusNo.Text ='' then exit;
  with dmod.qrydata do
  begin
    close;
    SQL.Text :='select cus_name from customer where cus_no='+#39+trim(edt_Cusno.Text)+#39;
    Open;
    if not eof then
      edt_cusname.Text :=FieldByName('cus_name').AsString 
    else begin
      MessageBox(self.handle,'该客户编号不存在,请重试!','提示',mb_ok+mb_iconinformation);
      edt_cusname.SetFocus ;
    end;
  end;
end;

procedure Tfrm_createcard.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_Cardno.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_Customer.Cells [0,sg_Customer.Row]='') and not AppendOrEdit then AllowChange:=true;
end;

procedure Tfrm_createcard.sht_CardShow(Sender: TObject);
begin
  PageIndex := 1;
  if not AppendOrEdit then
  begin
    if sg_Customer.Cells[0,sg_Customer.Row]<>'' then GetCustomerCardInfo;
    MakeEnabled(false);
  end;
end;

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

procedure Tfrm_createcard.edt_Password2Exit(Sender: TObject);
begin
  if trim(edt_password2.Text)<>trim(edt_password1.Text) then
  begin
    MessageBox(handle,'两次输入的密码不一样,请重试!','提示',mb_ok+mb_iconinformation);
    edt_password1.SetFocus ;
  end;
end;

procedure Tfrm_createcard.sbtn_printClick(Sender: TObject);
begin
  DoReportCustomerCard;
end;

end.

⌨️ 快捷键说明

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