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

📄 c_clientedit.pas

📁 《delphi数据库设计与实例开发》随书光盘
💻 PAS
字号:
unit c_clientedit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, DBCtrls, ComCtrls, Mask;

type
  Tcfrm_clientedit = class(TForm)
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    GroupBox1: TGroupBox;
    e_id: TDBEdit;
    Label1: TLabel;
    Label5: TLabel;
    e_date: TDateTimePicker;
    Label2: TLabel;
    e_name: TDBEdit;
    Label3: TLabel;
    e_sex: TDBComboBox;
    Label4: TLabel;
    e_nl: TDBEdit;
    Label6: TLabel;
    e_zlx: TDBComboBox;
    Label9: TLabel;
    e_yj: TDBEdit;
    Label13: TLabel;
    e_pass: TEdit;
    Label14: TLabel;
    e_passok: TEdit;
    Label7: TLabel;
    e_tel: TDBEdit;
    Label8: TLabel;
    e_addr: TDBEdit;
    Label12: TLabel;
    Label16: TLabel;
    procedure FormShow(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure e_idKeyPress(Sender: TObject; var Key: Char);
    procedure e_yjExit(Sender: TObject);
    procedure e_addrKeyPress(Sender: TObject; var Key: Char);
    procedure e_addrEnter(Sender: TObject);
    procedure e_addrExit(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  cfrm_clientedit: Tcfrm_clientedit;

implementation

uses datam,c_client, CommonRoutines;

{$R *.dfm}

procedure Tcfrm_clientedit.FormShow(Sender: TObject);
begin
if e_id.Enabled then
     e_id.SetFocus()
  else
     e_name.SetFocus();
  if Bitbtn1.tag=0 then
    e_date.Date:=date()
  else
   begin
    e_date.Date:=dm.ADO_vip.fieldbyname('办证日期').AsDateTime;
    e_pass.Text:=dm.ADO_vip.fieldbyname('pass').AsString;
    e_passok.Text:=dm.ADO_vip.fieldbyname('pass').AsString;
    if e_pass.Text<>'' then
     begin
      e_pass.Enabled:=false;
      e_passok.Enabled:=false;
     end;
    //此处可加入能否修改证号代码
    end;
end;

procedure Tcfrm_clientedit.BitBtn1Click(Sender: TObject);
begin
if Length(e_id.Text)<5 then  //判断输入的会员证号是否合法
    begin
      Application.MessageBox(PChar('证号不能为空或小于5位,请重新录入!')
      , PChar('提示'),MB_ICONEXCLAMATION);
      e_id.SetFocus();
      exit;
     end;
  if e_name.Text='' then  //判断是否输入了姓名
    begin
      Application.MessageBox(PChar('姓名不能为空,请重新录入!')
      , PChar('提示'),MB_ICONEXCLAMATION);
      e_name.SetFocus();
      exit;
     end;
  if e_zlx.Text='' then   //判断是否输入了证类型
    begin
      Application.MessageBox(PChar('证类型不能为空,请重新录入!')
      , PChar('提示'),MB_ICONEXCLAMATION);
      e_zlx.SetFocus();
      exit;
     end;
  if e_pass.Text<>e_passok.Text then   //验证密码
    begin
      Application.MessageBox(PChar('密码验证错误,请重新录入!'), PChar('提示'),
      MB_ICONEXCLAMATION);
      e_pass.SetFocus;
      exit;
    end;
  if e_yj.Text='0.00' then
    begin
      Application.MessageBox(PChar('办证会员必须交纳押金!'), PChar('提示'),
      MB_ICONEXCLAMATION);
      e_yj.SetFocus;
      exit;
    end;
  if Bitbtn1.Tag=1 then dm.ADO_vip.Edit;
  dm.ADO_vip.fieldbyname('办证日期').AsDateTime:=strtodate(datetostr(e_date.Date));
  dm.ADO_vip.FieldByName('pass').AsString:=e_pass.Text;
  try
   dm.ADO_vip.Post;
  except
    Application.MessageBox(PChar('证号重复,请重新录入!'), PChar('提示'),
      MB_ICONEXCLAMATION);
    e_id.SetFocus();
    exit;
  end;
  {将会员交纳的押金添加到现金收支情况表中}
   dm.ado_cash.open;
   dm.ADO_cash.First;
    if not dm.ADO_cash.locate('证号',e_id.Text,[]) then
       dm.ADO_cash.AppendRecord([e_id.text,strtodate(datetostr(e_date.Date)),'收会员押金',e_yj.text])
     else
       begin
        dm.ado_cash.edit;
        dm.ADO_cash.FieldByName('收入').AsString:=e_yj.Text;
        dm.ADO_cash.Post;
       end;
     dm.ado_cash.Close;
  close;
  cfrm_client.ztljs;
end;

procedure Tcfrm_clientedit.BitBtn2Click(Sender: TObject);
begin
   dm.ADO_vip.Cancel;
   close;
end;

procedure Tcfrm_clientedit.FormKeyPress(Sender: TObject; var Key: Char);
begin
if key=#13 then
   begin
    key:=#0;
    perform(wm_nextdlgctl,0,0);
   end;
end;

procedure Tcfrm_clientedit.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
dm.ADO_vip.Cancel;
   release;
end;

procedure Tcfrm_clientedit.e_idKeyPress(Sender: TObject; var Key: Char);
begin
 if not ( Key in ['0'..'9',#13,#8]) then Key := #0;
end;

procedure Tcfrm_clientedit.e_yjExit(Sender: TObject);
begin
if e_yj.text='' then
      e_yj.Text:='0.00';
end;

procedure Tcfrm_clientedit.e_addrKeyPress(Sender: TObject; var Key: Char);
begin
 if key=#13 then
   begin
    Bitbtn1.OnClick(Bitbtn1);
   end;
end;

procedure Tcfrm_clientedit.e_addrEnter(Sender: TObject);
begin
cfrm_clientedit.KeyPreview:=false;
end;

procedure Tcfrm_clientedit.e_addrExit(Sender: TObject);
begin
cfrm_clientedit.KeyPreview:=true;
end;

procedure Tcfrm_clientedit.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
EnterToTab(Self, Key, Shift);
end;

end.

⌨️ 快捷键说明

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