📄 uaddsp.~pas
字号:
unit UADDSP;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls;
type
TFADDSP = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
ChKHP: TCheckBox;
EdtSPBH: TEdit;
EdtPMGG: TEdit;
CoBDW: TComboBox;
EdtDJ: TEdit;
EdtYF: TEdit;
EdtKCL: TEdit;
EdtQC: TEdit;
Label8: TLabel;
Panel1: TPanel;
BitBtn1: TBitBtn;
BitBtn2: TBitBtn;
BitBtn3: TBitBtn;
procedure EdtYFKeyPress(Sender: TObject; var Key: Char);
procedure EdtDJKeyPress(Sender: TObject; var Key: Char);
procedure EdtKCLKeyPress(Sender: TObject; var Key: Char);
procedure EdtQCKeyPress(Sender: TObject; var Key: Char);
procedure EdtDJExit(Sender: TObject);
procedure EdtYFExit(Sender: TObject);
procedure EdtKCLExit(Sender: TObject);
procedure EdtQCExit(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure BitBtn2Click(Sender: TObject);
procedure BitBtn3Click(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
procedure addSP;
procedure updateSP;
{ Private declarations }
public
{ Public declarations }
end;
var
FADDSP: TFADDSP;
implementation
uses U_dm,UsysPub,UsysConst;
{$R *.dfm}
procedure TFADDSP.EdtYFKeyPress(Sender: TObject; var Key: Char);
begin
if (not (key in['0'..'9',#8,#9,#14,#23,#24,#25,#26,#27,#28,#30,#13,'.'])) then
key:=#0;
end;
procedure TFADDSP.EdtDJKeyPress(Sender: TObject; var Key: Char);
begin
if (not (key in['0'..'9',#8,#9,#14,#23,#24,#25,#26,#27,#28,#30,#13,'.'])) then
key:=#0;
end;
procedure TFADDSP.EdtKCLKeyPress(Sender: TObject; var Key: Char);
begin
if (not (key in['0'..'9',#8,#9,#14,#23,#24,#25,#26,#27,#28,#30,#13,'.'])) then
key:=#0;
end;
procedure TFADDSP.EdtQCKeyPress(Sender: TObject; var Key: Char);
begin
if (not (key in['0'..'9',#8,#9,#14,#23,#24,#25,#26,#27,#28,#30,#13,'.'])) then
key:=#0;
end;
procedure TFADDSP.EdtDJExit(Sender: TObject);
begin
if Trim(EdtDJ.Text)='' then
begin
EdtDJ.Text:='0';
abort;
end;
if TryIsFloat(Trim(EdtDJ.Text))=False then
begin
Application.MessageBox('非法数值!',MsgBxCaption,MB_OK+MB_ICONWARNING);
EdtDJ.SetFocus;
end;
end;
procedure TFADDSP.EdtYFExit(Sender: TObject);
begin
if Trim(EdtYF.Text)='' then
begin
EdtYF.Text:='0';
abort;
end;
if TryIsFloat(Trim(EdtYF.Text))=False then
begin
Application.MessageBox('非法数值!',MsgBxCaption,MB_OK+MB_ICONWARNING);
EdtYF.SetFocus;
end;
end;
procedure TFADDSP.EdtKCLExit(Sender: TObject);
begin
if Trim(EdtKCL.Text)='' then
begin
EdtKCL.Text:='0';
abort;
end;
if TryIsFloat(Trim(EdtKCL.Text))=False then
begin
Application.MessageBox('非法数值!',MsgBxCaption,MB_OK+MB_ICONWARNING);
EdtKCL.SetFocus;
end;
end;
procedure TFADDSP.EdtQCExit(Sender: TObject);
begin
if Trim(EdtQC.Text)='' then
begin
EdtQC.Text:='0';
abort;
end;
if TryIsFloat(Trim(EdtQC.Text))=False then
begin
Application.MessageBox('非法数值!',MsgBxCaption,MB_OK+MB_ICONWARNING);
EdtQC.SetFocus;
end;
end;
procedure TFADDSP.addSP;
var
strspbh,strpmgg,strdw,strdj,stryf,strkcl,strqc,strhp:string;
strSQL:string;
begin
screen.Cursor:=crhourglass;
strspbh:=Trim(EdtSPBH.Text);
strpmgg:=Trim(EdtPMGG.Text);
strdw:=Trim(CoBDW.Text);
strdj:=NontoNumber(Trim(EdtDJ.Text));
stryf:=NontoNumber(Trim(EdtYF.Text));
strkcl:=NontoNumber(Trim(EdtKCL.Text));
strqc:=NontoNumber(Trim(EdtQC.Text));
strhp:=BooleantoNumber(ChKHP.Checked);
IF strspbh='' THEN
begin
Application.MessageBox('商品编号不能为空!',MsgBxCaption,MB_OK+MB_ICONWARNING);
screen.Cursor:=crdefault;
EdtSPBH.SetFocus;
abort;
end;
IF strpmgg='' THEN
begin
Application.MessageBox('品名规格不能为空!',MsgBxCaption,MB_OK+MB_ICONWARNING);
screen.Cursor:=crdefault;
EdtPMGG.SetFocus;
abort;
end;
strSQL:='select * from JG商品资料 where 商品编号='+''''+strspbh+'''';
if RunSQL(DM.m_clADOQry_Temp,strSQL,0) then
begin
if DM.m_clADOQry_Temp.RecordCount>0 then
begin
Application.MessageBox('商品编号重复,请重新输入!',MsgBxCaption,MB_OK+MB_ICONWARNING);
screen.Cursor:=crdefault;
EdtSPBH.SetFocus;
abort;
end
else
begin
strSQL:='Insert Into JG商品资料 Values('
+''''+strCZMD+''''
+','+''''+strspbh+''''
+','+''''+strpmgg+''''
+','+''''+strdw+''''
+','+strdj+','+stryf+','+strkcl
+','+strqc+','+strhp
+','+inttostr(1)
+','+inttostr(1)+')';
if RunSQL(DM.m_clADOQry_Temp,strSQL,1) then
begin
screen.Cursor:=crdefault;
strSQL:='SELECT *,(case 删除标志 when 1 then '+''''+'正常'+''''+' when 0 then '+''''+'删除'+''''+' end) 是否删除 from JG商品资料';
RunSQL(DM.ADOQ_SP,strSQL,0);
end
else
begin
Application.MessageBox('保存数据失败!',MsgBxCaption,MB_OK);
screen.Cursor:=crdefault;
end;
end;
end;
EdtSPBH.Text:=BuildTable(dm.m_clADOQry_Temp,'JG商品资料','商品编号','0',6);
EdtPMGG.Text:='';
CoBDW.Text:='';
EdtDJ.Text:='';
EdtYF.Text:='';
EdtKCL.Text:='';
EdtQC.Text:='';
ChKHP.Checked:=False;
EdtPMGG.SetFocus;
end;
procedure TFADDSP.updateSP;
var
strspbh,strpmgg,strdw,strdj,stryf,strkcl,strqc,strhp:string;
strSQL,strTmp:string;
begin
screen.Cursor:=crhourglass;
strspbh:=Trim(EdtSPBH.Text);
strpmgg:=Trim(EdtPMGG.Text);
strdw:=Trim(CoBDW.Text);
strdj:=NontoNumber(Trim(EdtDJ.Text));
stryf:=NontoNumber(Trim(EdtYF.Text));
strkcl:=NontoNumber(Trim(EdtKCL.Text));
strqc:=NontoNumber(Trim(EdtQC.Text));
strhp:=BooleantoNumber(ChKHP.Checked);
strTmp:=Trim(dm.ADOQ_SP.fieldbyname('门店编号').AsString);
IF strspbh='' THEN
begin
Application.MessageBox('商品编号不能为空!',MsgBxCaption,MB_OK+MB_ICONWARNING);
screen.Cursor:=crdefault;
EdtSPBH.SetFocus;
abort;
end;
IF strpmgg='' THEN
begin
Application.MessageBox('品名规格不能为空!',MsgBxCaption,MB_OK+MB_ICONWARNING);
screen.Cursor:=crdefault;
EdtPMGG.SetFocus;
abort;
end;
strSQL:='update JG商品资料 Set 品名规格='
+''''+strpmgg+''''
+',单位='+''''+strdw+''''
+',单价='+strdj+',运费='+stryf+',库存量='+strkcl
+',汽重='+strqc+',回瓶='+strhp
+',标志=2'
+' where (门店编号='+''''+strTmp+''''+') and (商品编号='+''''+strspbh+''''+')';
if RunSQL(DM.m_clADOQry_Temp,strSQL,1) then
begin
strSQL:='Update JG钢瓶信息 set 品名规格='
+''''+strpmgg+''''
+' where (门店编号='+''''+strTmp+''''+') and (商品编号='+''''+strspbh+''''+')';
RunSQL(DM.m_clADOQry_Temp,strSQL,1);
screen.Cursor:=crdefault;
strSQL:='SELECT *,(case 删除标志 when 1 then '正常' when 0 then '删除' end) 是否删除 from JG商品资料';
RunSQL(DM.ADOQ_SP,strSQL,0);
end
else
begin
Application.MessageBox('保存数据失败!',MsgBxCaption,MB_OK);
screen.Cursor:=crdefault;
end;
end;
procedure TFADDSP.FormShow(Sender: TObject);
begin
IF strCZZT='MODIFY' THEN
BEGIN
self.Caption:='修改商品';
EdtSPBH.Text:=Trim(dm.ADOQ_SP.fieldbyname('商品编号').AsString);
EdtPMGG.Text:=Trim(dm.ADOQ_SP.fieldbyname('品名规格').AsString);
CoBDW.Text:=Trim(dm.ADOQ_SP.fieldbyname('单位').AsString);
EdtDJ.Text:=Floattostr(dm.ADOQ_SP.fieldbyname('单价').AsFloat);
EdtYF.Text:=Floattostr(dm.ADOQ_SP.fieldbyname('运费').AsFloat);
EdtKCL.Text:=Floattostr(dm.ADOQ_SP.fieldbyname('库存量').AsFloat);
EdtQC.Text:=Floattostr(dm.ADOQ_SP.fieldbyname('汽重').AsFloat);
ChKHP.Checked:=dm.ADOQ_SP.fieldbyname('回瓶').AsBoolean;
EdtSPBH.Color:=clBtnFace;
EdtSPBH.ReadOnly:=True;
BitBtn1.Visible:=False;
EdtPMGG.SetFocus;
END
else
begin
EdtSPBH.Text:=BuildTable(dm.m_clADOQry_Temp,'JG商品资料','商品编号','0',6);
EdtPMGG.SetFocus;
end;
end;
procedure TFADDSP.BitBtn1Click(Sender: TObject);
begin
addSP;
end;
procedure TFADDSP.BitBtn2Click(Sender: TObject);
begin
IF strCZZT='MODIFY' THEN
updateSP
else
addSP;
self.Close;
end;
procedure TFADDSP.BitBtn3Click(Sender: TObject);
begin
self.Close;
end;
procedure TFADDSP.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
EnterToChangeFocus(self,key);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -