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

📄 modihuiyuanfrm.pas

📁 该系统实现了对DVD租赁过程的管理,功能完善,方便实用.
💻 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 + -