objaccessu.pas

来自「source for card readers」· PAS 代码 · 共 76 行

PAS
76
字号
unit ObjAccessU;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics,
  Controls, Forms, Dialogs, StdCtrls, ClientU;

type
  TfrmAccessObject = class(TForm)
    lblAccNo: TLabel;
    lblName: TLabel;
    btnCreate: TButton;
    btnFree: TButton;
    btnShow: TButton;
    gpbCName: TGroupBox;
    edtCName: TEdit;
    gpbAccNo: TGroupBox;
    edtAccNo: TEdit;
    procedure btnCreateClick(Sender: TObject); 
    procedure btnFreeClick(Sender: TObject);
    procedure btnShowClick(Sender: TObject);
  private
    NewClient: TClient;
  end;

var
  frmAccessObject: TfrmAccessObject;

implementation

{$R *.dfm}

{TfrmObjList}

procedure TfrmAccessObject.btnCreateClick(Sender: TObject);
begin
  if NewClient <> nil then  // avoid memory leakage
  begin
    ShowMessage ('Free existing object first');
    Exit;
  end;
  if (edtCName.Text = '') or (edtAccNo.Text = '') then
  begin
    ShowMessage ('Please enter a name and number');
    Exit;
  end;

  NewClient := TClient.Create (edtCName.Text, edtAccNo.Text);

  edtCName.Clear;
  edtAccNo.Clear;
  edtCName.SetFocus;
end; // end procedure TfrmObjList.btnAddClick

procedure TfrmAccessObject.btnShowClick(Sender: TObject);
begin
  if NewClient = nil then  // don't refer to a non-existent object
  begin
    ShowMessage ('Create object first');
    Exit;
  end;
  lblName.Caption := 'Name: ' + NewClient.CName;	// use the property
  lblAccNo.Caption := 'Acc No: ' + NewClient.AccNo;
end; // end procedure TfrmObjList.btnShowClick

procedure TfrmAccessObject.btnFreeClick(Sender: TObject);
begin
  FreeAndNil (NewClient);
  lblName.Caption := 'Name: ';
  lblAccNo.Caption := 'Acc No: ';
  edtCName.SetFocus;
end; // end procedure TfrmObjList.btnFreeClick

end. // end unit ObjAccessU

⌨️ 快捷键说明

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