📄 u_goodsadd.~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 + -