goodeditfrm.pas

来自「这是一个超市管理系统源代码,看上去还不错,大家看下」· PAS 代码 · 共 122 行

PAS
122
字号
unit GoodEditFrm;

interface

uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, 
  Buttons, ExtCtrls, Mask, DBCtrls, MainDM, Messages;

type
  TGoodEditDlg = class(TForm)
    OKBtn: TButton;
    CancelBtn: TButton;
    Bevel1: TBevel;
    Label1: TLabel;
    DBEditId: TDBEdit;
    Label2: TLabel;
    DBEditName: TDBEdit;
    Label3: TLabel;
    DBEditType: TDBEdit;
    Label4: TLabel;
    DBEditUnit: TDBEdit;
    Label5: TLabel;
    DBEditPrice: TDBEdit;
    Label6: TLabel;
    DBEditBonus: TDBEdit;
    DBEdtSaftyStock: TDBEdit;
    Label7: TLabel;
    procedure FormShow(Sender: TObject);
    procedure OKBtnClick(Sender: TObject);
    procedure CancelBtnClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);

  private
    { Private declarations }
    FOperateName: string;
  public
    { Public declarations }
    procedure SetOperateName(AValue: string);
  end;

var
  GoodEditDlg: TGoodEditDlg;

implementation
uses CommonFunc;
{$R *.dfm}

procedure TGoodEditDlg.SetOperateName(AValue: string);
begin
  FOperateName := AValue;
end;

procedure TGoodEditDlg.FormShow(Sender: TObject);
begin
  if FOperateName = 'add' then
  begin
    DBEditId.Enabled := true;
    DMMain.ADOTGood.Open;
    DMMain.ADOTGood.Append;
  end
  else if FOperateName = 'edit' then
  begin
    DBEditId.Enabled := false;
    DMMain.ADOTGood.Open;
    DMMain.ADOTGood.Edit;
  end
  else
  begin

    LCShowMessage('未知操作指令!');
  end;
end;

procedure TGoodEditDlg.OKBtnClick(Sender: TObject);
var
  m, i: integer;
begin
  m := self.ControlCount - 1;
  for i := 0 to m do
    if (self.Controls[i] Is TCustomEdit) then
       if CheckInput(self.Controls[i]) = false then
       begin
         Exit;
       end;
  if FOperateName = 'add' then
  begin
    DMMain.ADOQueryMain.Close;
    DMMain.ADOQueryMain.SQL.Clear;
    DMMain.ADOQueryMain.SQL.Add('select id from T_Good ');
    DMMain.ADOQueryMain.SQL.Add('where id=:id');
    DMMain.ADOQueryMain.Parameters.ParamByName('id').Value := DBEditId.Text;
    DMMain.ADOQueryMain.Open;
    if DMMain.ADOQueryMain.RecordCount > 0 then
    begin
      LCShowMessage('编号已经存在!');
      DMMain.ADOTGood.Cancel;
      Exit;
    end;
  end;

  try
    DMMain.ADOTGood.Post;
  except
    begin
      LCShowMessage('发生错误,无法更新!');
      DMMain.ADOTGood.Cancel;
    end;
  end;//end of except
end;

procedure TGoodEditDlg.CancelBtnClick(Sender: TObject);
begin
  DMMain.ADOTGood.Cancel;
end;

procedure TGoodEditDlg.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then
    Perform(WM_NEXTDLGCTL, 0, 0);
end;

end.

⌨️ 快捷键说明

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