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

📄 u_goodsadd.~pas

📁 河南师范大学餐饮进销存软件,只要控制库存的数据。
💻 ~PAS
字号:
unit u_GoodsAdd;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons,u_DataCtrl, DB, ADODB;

type
  TfrmGoodsAdd = class(TForm)
    Panel1: TPanel;
    edtBH: TLabeledEdit;
    edtName: TLabeledEdit;
    edtSpec: TLabeledEdit;
    edtModel: TLabeledEdit;
    edtUnit: TLabeledEdit;
    edtInPrice: TLabeledEdit;
    edtOutPrice: TLabeledEdit;
    edtNote: TLabeledEdit;
    edtArea: TLabeledEdit;
    cmbClass: TComboBox;
    Label1: TLabel;
    btnOk: TBitBtn;
    btnCancle: TBitBtn;
    btnClose: TBitBtn;
    qry: TADOQuery;
    pip_GoodsInfo: TADOStoredProc;
    procedure InitEdt();
    function  CheckEdt() :Boolean;
    function  CheckINT(Data : String) :Boolean;
    procedure FormShow(Sender: TObject);
    procedure btnCloseClick(Sender: TObject);
    procedure btnCancleClick(Sender: TObject);
    procedure btnOkClick(Sender: TObject);
    procedure edtBHKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtNameKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtSpecKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtModelKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtUnitKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtInPriceKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtOutPriceKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure cmbClassChange(Sender: TObject);
    procedure edtAreaKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure edtNoteKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  frmGoodsAdd: TfrmGoodsAdd;

implementation

uses u_GoodsInfo, u_ShareFun;

{$R *.dfm}

procedure TfrmGoodsAdd.InitEdt;
begin
   edtBH.Clear;
   edtName.Clear;
   edtSpec.Clear;
   edtModel.Clear;
   edtUnit.Clear;
   edtInPrice.Clear;
   edtOutPrice.Clear;
   edtArea.Clear;
   edtNote.Clear;
end;

procedure TfrmGoodsAdd.FormShow(Sender: TObject);
begin
  InitEdt;
  edtBH.SetFocus;
  qry.Active := True;
  qry.Close;
  qry.Open;
  qry.First;
 while not(qry.Eof) do
  begin
    cmbClass.Items.Add(qry.FieldValues['ClassName']);
    qry.Next;
  end;
end;

procedure TfrmGoodsAdd.btnCloseClick(Sender: TObject);
begin
  Close;
end;

procedure TfrmGoodsAdd.btnCancleClick(Sender: TObject);
begin
  InitEdt;
end;

function TfrmGoodsAdd.CheckEdt: Boolean;
begin
  if edtBH.Text = '' then
  begin
    Application.MessageBox('请输入编号','警告',MB_OK);
    edtBH.SetFocus;
    Result := False;
    Exit;
  end;
  if not CheckINT(edtBH.Text) then
  begin
    Application.MessageBox('商品编号输入有误','警告',MB_OK);
    edtBH.SetFocus;
    Result := False;
    Exit;
  end;
  if edtName.Text = '' then
  begin
    Application.MessageBox('请输入产品名称','警告',MB_OK);
    edtName.SetFocus;
    Result := False;
    Exit;
  end;
  if not IsNumeric(edtInPrice.Text) then
  begin
    Application.MessageBox('进价输入有误,请重新输入','警告',mb_ok);
    edtInprice.SetFocus;
    Result := False;
    Exit;
  end;
  if not IsNumeric(edtOutPrice.Text) then
  begin
    Application.MessageBox('售价输入有误,请重新输入','警告',mb_ok);
    edtOutPrice.SetFocus;
    Result := False;
    Exit;
  end;
  if cmbClass.Text = '' then
    begin
      Application.MessageBox('请选择类别','警告',MB_OK);
      cmbClass.SetFocus;
      Result := False;
      Exit;
    end
  else
    Result := true;
end;

procedure TfrmGoodsAdd.btnOkClick(Sender: TObject);
var
  Success : Integer;
begin
  if CheckEdt() = False then
    Exit;
  with pip_GoodsInfo do
  begin
    Parameters.ParamByName('@GoodsBH').Value       := edtBH.Text;
    Parameters.ParamByName('@GoodsName').Value     := edtName.Text;
    Parameters.ParamByName('@GoodsSpec').Value     := edtSpec.Text;
    Parameters.ParamByName('@GoodsModel').Value    := edtModel.Text;
    Parameters.ParamByName('@GoodsUnit').Value     := edtUnit.Text;
    Parameters.ParamByName('@GoodsClass').Value    := cmbClass.Text;
    Parameters.ParamByName('@GoodsInPrice').Value  := edtInPrice.Text;
    Parameters.ParamByName('@GoodsOutPrice').Value := edtOutPrice.Text;
    Parameters.ParamByName('@GoodsArea').Value     := edtArea.Text;
    Parameters.ParamByName('@GoodsNote').Value     := edtNote.Text;
    try
      ExecProc;
    except
      Application.MessageBox('不可以添加相同的产品编号','警告',MB_OK);
      Exit;
    end;
    Success := Parameters.ParamByName('@RETURN_VALUE').Value;
    if Success = 1 then
    begin
      Application.MessageBox('添加数据成功','警告',MB_OK);
      InitEdt();
      frmGoodsInfo.btnEdit.Enabled   := True;
      frmGoodsInfo.btnDelete.Enabled := True;
      frmGoodsInfo.qry.Close;
      frmGoodsInfo.qry.Open;
      frmGoodsInfo.qry.Last;
    end;

  end;

end;

procedure TfrmGoodsAdd.edtBHKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_RETURN then
  begin
    if CheckINT(edtBH.Text) then
      edtName.SetFocus
    else
      Application.MessageBox('产品编号输入有误','警告',MB_OK);
  end
end;

procedure TfrmGoodsAdd.edtNameKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_RETURN then
    edtSpec.SetFocus;
end;

procedure TfrmGoodsAdd.edtSpecKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_RETURN then
    edtModel.SetFocus;
end;

procedure TfrmGoodsAdd.edtModelKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_RETURN then
    edtUnit.SetFocus;
end;

procedure TfrmGoodsAdd.edtUnitKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_RETURN then
    edtInPrice.SetFocus;
end;

procedure TfrmGoodsAdd.edtInPriceKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_RETURN then
    edtOutPrice.SetFocus;
end;

procedure TfrmGoodsAdd.edtOutPriceKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_RETURN then
    cmbClass.SetFocus;
end;

procedure TfrmGoodsAdd.cmbClassChange(Sender: TObject);
begin
  edtArea.SetFocus;
end;

procedure TfrmGoodsAdd.edtAreaKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = VK_RETURN then
    edtNote.SetFocus;
end;

procedure TfrmGoodsAdd.edtNoteKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key = vk_Return then
    btnOK.SetFocus;
end;

procedure TfrmGoodsAdd.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  cmbClass.Clear;
end;

function TfrmGoodsAdd.CheckINT(Data: String): Boolean;
var
  Code : integer;
  r      : integer;
begin
  val(Data,r,code);
  if code=0 then
    Result := True
  else
    Result := False;
end;

end.

⌨️ 快捷键说明

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