📄 modihuiyuanfrm.pas
字号:
unit ModiHuiyuanFrm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, DB, ADODB;
type
TFrmModiHuiyuan = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
edMem_ID: TEdit;
edMen_Name: TEdit;
edAddress: TEdit;
edTelephone: TEdit;
edDeadline: TEdit;
bbtnSave: TBitBtn;
bbtnQuit: TBitBtn;
Panel1: TPanel;
rbNan: TRadioButton;
rbNv: TRadioButton;
edMem_Class: TEdit;
ADOQuery1: TADOQuery;
procedure FormCreate(Sender: TObject);
procedure bbtnQuitClick(Sender: TObject);
procedure edMem_IDKeyPress(Sender: TObject; var Key: Char);
procedure edMen_NameKeyPress(Sender: TObject; var Key: Char);
procedure edAddressKeyPress(Sender: TObject; var Key: Char);
procedure edTelephoneKeyPress(Sender: TObject; var Key: Char);
procedure edMem_IDExit(Sender: TObject);
procedure bbtnSaveClick(Sender: TObject);
procedure ClearEdit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmModiHuiyuan: TFrmModiHuiyuan;
implementation
uses HuiyuanInfoFrm;
{$R *.dfm}
procedure TFrmModiHuiyuan.ClearEdit(Sender: TObject);
begin
edMem_ID.Clear;
edMen_Name.Clear;
rbNan.Checked := True;
edAddress.Clear;
edTelephone.Clear;
edMem_Class.Clear;
edDeadline.Text := DateTimeToStr(Date());
end;
procedure TFrmModiHuiyuan.FormCreate(Sender: TObject);
begin
Caption := FrmHuiyuanInfo.TitleText;
edMem_Class.ReadOnly := True;
rbNan.Checked := True;
edDeadline.ReadOnly := True;
edDeadline.Text := DateTimeToStr(Date());
if FrmHuiyuanInfo.IsModify then
begin
edMem_ID.Text := FrmHuiyuanInfo.DBGrid1.Fields[0].Text;
edMen_Name.Text := FrmHuiyuanInfo.DBGrid1.Fields[1].Text;
if FrmHuiyuanInfo.DBGrid1.Fields[2].Text = '男' then
rbNan.Checked := True
else
rbNv.Checked := True;
edAddress.Text := FrmHuiyuanInfo.DBGrid1.Fields[3].Text;
edTelephone.Text := FrmHuiyuanInfo.DBGrid1.Fields[4].Text;
if copy(edMem_ID.Text,1,1)='A' then
edMem_Class.Text :='A 类会员'
else
edMem_Class.Text :='B 类会员';
edDeadline.Text := FrmHuiyuanInfo.DBGrid1.Fields[5].Text;
edMem_ID.ReadOnly := True;
end;
end;
procedure TFrmModiHuiyuan.bbtnQuitClick(Sender: TObject);
begin
Close;
end;
procedure TFrmModiHuiyuan.edMem_IDKeyPress(Sender: TObject; var Key: Char);
begin
if key = #13 then
edMen_Name.SetFocus;
end;
procedure TFrmModiHuiyuan.edMen_NameKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then
rbNan.SetFocus;
end;
procedure TFrmModiHuiyuan.edAddressKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then
edTelephone.SetFocus;
end;
procedure TFrmModiHuiyuan.edTelephoneKeyPress(Sender: TObject;
var Key: Char);
begin
if key = #13 then
bbtnSave.SetFocus;
end;
procedure TFrmModiHuiyuan.edMem_IDExit(Sender: TObject);
begin
if not bbtnQuit.Focused then
begin
if Copy(edMem_ID.Text,1,1) = 'A' then
edMem_Class.Text := 'A 类会员'
else if copy(edMem_ID.Text,1,1) = 'B' then
edMem_Class.Text := 'B 类会员'
else
begin
Application.MessageBox('会员编号输入错误!','错误',MB_ICONWARNING+MB_OK);
edMem_ID.SetFocus;
edMem_ID.SelectAll;
end;
end;
end;
procedure TFrmModiHuiyuan.bbtnSaveClick(Sender: TObject);
begin
if Trim(edMen_Name.Text)='' then
begin
Application.MessageBox('会员姓名不能为空!','错误',MB_ICONWARNING+MB_OK);
edMen_Name.SetFocus;
edMen_Name.SelectAll;
Exit;
end;
if FrmHuiyuanInfo.IsModify then
begin //修改记录
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := 'Select * From MemberInfo Where Mem_ID = '''+edMem_ID.Text+'''';
ADOQuery1.Open;
ADOQuery1.Edit;
ADOQuery1.FieldByName('Men_Name').AsString := edMen_Name.Text;
if rbNan.Checked then
ADOQuery1.FieldByName('Sex').AsString := '男'
else
ADOQuery1.FieldByName('Sex').AsString := '女';
ADOQuery1.FieldByName('Address').AsString := edAddress.Text;
ADOQuery1.FieldByName('Telephone').AsString := edTelephone.Text;
ADOQuery1.Post;
Application.MessageBox('记录修改成功!', '成功',MB_OK+MB_ICONINFORMATION);
FrmModiHuiyuan.Close;
FrmHuiyuanInfo.ShowRecord(Sender);
end
else
begin //判断会员编号是否重复
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Text := 'Select * From MemberInfo Where Mem_ID = '''+edMem_ID.Text+'''';
ADOQuery1.Open;
if ADOQuery1.RecordCount = 0 then
begin //新增记录
ADOQuery1.Append;
ADOQuery1.FieldByName('Mem_ID').AsString := edMem_ID.Text;
ADOQuery1.FieldByName('Men_Name').AsString := edMen_Name.Text;
if rbNan.Checked then
ADOQuery1.FieldByName('Sex').AsString := '男'
else
ADOQuery1.FieldByName('Sex').AsString := '女';
ADOQuery1.FieldByName('Address').AsString := edAddress.Text;
ADOQuery1.FieldByName('Telephone').AsString := edTelephone.Text;
if Copy(edMem_ID.Text,1,1) = 'A' then
ADOQuery1.FieldByName('Mem_Class').AsString := 'A'
else
ADOQuery1.FieldByName('Mem_Class').AsString := 'B';
ADOQuery1.FieldByName('Deadline').AsDateTime := StrToDateTime(edDeadline.Text);
ADOQuery1.FieldByName('Borrow_Num').AsInteger := 0;
ADOQuery1.Post;
Application.MessageBox('记录新增成功!', '成功',MB_OK+MB_ICONINFORMATION);
ClearEdit(Sender);
FrmHuiyuanInfo.ShowRecord(Sender);
end
else
begin
Application.MessageBox('会员编号重复,请核查!','出错',MB_OK+MB_ICONWARNING);
edMem_ID.SetFocus;
edMem_ID.SelectAll;
end;
end;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -