📄 c_clientedit.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 + -