📄 bominput.pas
字号:
unit BomInput;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, DB, ADODB, ComCtrls, ToolWin, ExtCtrls;
type
TFrmBomInput = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
EdtName: TEdit;
Label2: TLabel;
EdtCode: TEdit;
Label3: TLabel;
EdtPrice: TEdit;
Label4: TLabel;
EdtNum: TEdit;
QurFree: TADOQuery;
cntTitleBar: TControlBar;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
btnOk: TToolButton;
btnNew: TToolButton;
ToolButton6: TToolButton;
btExit: TToolButton;
memo: TMemo;
Label5: TLabel;
procedure btnNewClick(Sender: TObject);
procedure btExitClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure btnOkClick(Sender: TObject);
procedure EdtPriceKeyPress(Sender: TObject; var Key: Char);
procedure EdtPriceExit(Sender: TObject);
procedure EdtNumExit(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
gEdit:Boolean;
gDataID:Integer;
procedure iniBom;
procedure EditBom(DataID:Integer);
end;
var
FrmBomInput: TFrmBomInput;
implementation
uses mymath, database, BomExp;
{$R *.dfm}
{ TFrmBomInput }
procedure TFrmBomInput.EditBom(DataID:Integer);
begin
QurFree.Close;
QurFree.SQL.Clear;
QurFree.SQL.Add('SELECT * FROM 仓库信息 where 数据编码='+inttostr(DataID)+'');
// QurFree.Parameters.ParamByName('DataID').Value:=DataID;
QurFree.Open;
if QurFree.IsEmpty then
begin
InfoOk('物品资料没有找到!') ;
Exit;
end;
EdtName.Text:=QurFree.fieldbyname('物品名称').AsString;
EdtCode.Text:=QurFree.fieldbyname('物品编码').AsString;
EdtPrice.Text:=Floattostr(QurFree.fieldbyname('物品单价').Value);
EdtNum.Text:=IntToStr(QurFree.fieldbyname('物品数量').Value);
Memo.Text:=QurFree.fieldbyname('备注').AsString;
gDataID:=DataID;
gEdit:=True;
end;
procedure TFrmBomInput.iniBom;
begin
EdtName.Clear;
EdtCode.Clear;
EdtPrice.Text:='0';
EdtNum.Text:='0';
Memo.Clear;
EdtName.SetFocus;
gEdit:=False;
end;
procedure TFrmBomInput.btnNewClick(Sender: TObject);
begin
if QueryDlg('确定是否新增物料!')=True then iniBom;
end;
procedure TFrmBomInput.btExitClick(Sender: TObject);
begin
Close;
end;
procedure TFrmBomInput.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
FrmBomInput:=Nil;
Action:=Cafree;
end;
procedure TFrmBomInput.btnOkClick(Sender: TObject);
begin
if EdtName.Text ='' then begin
Infook('请输入物品名称!');
exit;
end;
if gEdit=false then begin
OpenSQL(FrmBomInput,qurfree,'select 数据编码 from 仓库信息 where 物品名称='''+EdtName.text+'''');
if qurfree.RecordCount>=1 then begin
Infook('该物品名称已存在!');
exit;
end;
Datamod.ExecSQL('insert into 仓库信息(物品名称,物品编码,物品单价,物品数量,备注) '
+' values('''+EdtName.text+''','''+EdtCode.text+''', '
+' '+EdtPrice.text+','+EdtNum.text+','''+Memo.text+''') ');
Infook('保存成功!');
iniBom;
end
else
begin
Datamod.ExecSQL('update 仓库信息 set 物品名称='''+EdtName.text+''',物品编码='''+EdtCode.text+''', '
+' 物品单价='+EdtPrice.text+',物品数量='+EdtNum.text+', '
+' 备注='''+Memo.text+''' where 数据编码='+inttostr(gDataID)+' ');
Infook('保存成功!');
end;
frmBomExp.btnFreshClick(Sender);
end;
procedure TFrmBomInput.EdtPriceKeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',#8]) then key:=#0;
end;
procedure TFrmBomInput.EdtPriceExit(Sender: TObject);
begin
if EdtPrice.Text='' then EdtPrice.Text:='0';
end;
procedure TFrmBomInput.EdtNumExit(Sender: TObject);
begin
if EdtNum.Text='' then EdtNum.Text:='0';
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -