📄 addgoods.pas
字号:
unit addGoods;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids, DBGrids, DB, DBTables, DBCtrls, Mask,IdGlobal;
type
TfrmAddGoods = class(TForm)
Button1: TButton;
Button2: TButton;
Table1: TTable;
DataSource1: TDataSource;
GroupBox1: TGroupBox;
GroupBox2: TGroupBox;
DBGrid1: TDBGrid;
Label1: TLabel;
Label3: TLabel;
Label4: TLabel;
Label8: TLabel;
number: TEdit;
articleId: TEdit;
price: TEdit;
stock: TLabel;
procedure FormCreate(Sender: TObject);
procedure articleIdEnter(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
function isMoney(s:string):boolean;//判断字符串能否转化为货币
function isNumber(s:string):boolean;//判断字符串能否转化为数字
public
{ Public declarations }
end;
var
frmAddGoods: TfrmAddGoods;
implementation
{$R *.dfm}
procedure TfrmAddGoods.FormCreate(Sender: TObject);
begin
stock.Caption:='';
activeControl:=articleId;
end;
procedure TfrmAddGoods.articleIdEnter(Sender: TObject);
var
bn:boolean;
begin
bn:=table1.Locate('商品编号',strToInt(articleId.Text),[loCaseInsensitive]);
end;
procedure TfrmAddGoods.Button1Click(Sender: TObject);
var
canAdd:boolean;
i:integer;
begin
canAdd:=false;{能否增加商品的标志}
try
{检查"商品编号"}
i:=strToInt(articleId.Text);
with table1 do
begin
first;
while not eof do
begin
if fields.FieldByName('商品编号').AsString=articleId.Text then
begin
canAdd:=true;
break;
end;
next;
end;
end;
if canAdd=false then
begin
messageDlg('"商品编号"输入错误,请重试!',mtWarning,[mbOk],0);
activeControl:=articleId;
abort;
end;
if isMoney(price.Text)=false then
begin
messageDlg('"单价"输入错误,请重试!',mtWarning,[mbOk],0);
activeControl:=price;
abort;
end;
if isNumber(number.Text)=false then
begin
messageDlg('"进货数量"输入错误,请重试!',mtWarning,[mbOk],0);
activeControl:=number;
abort;
end;
with table1 do
begin
edit;
if price.Text<>'' then
fieldValues['单价']:=price.Text;
fieldValues['存货']:=fields.FieldByName('存货').AsInteger+strToInt(number.Text);
stock.Caption:=fields.FieldByName('存货').AsString;
post;
end;
except
on ex:EConvertError do
begin
messageDlg('输入错误,请重试!',mtWarning,[mbOk],0);
exit;
end;
end; {end of try}
messageDlg('进货成功!',mtWarning,[mbOk],0);
articleId.Text:='';
price.Text:='';
number.Text:='';
stock.Caption:='';
end;
function TfrmAddGoods.isMoney(s: string): boolean;
var
i:integer;
begin
if length(s)=0 then
begin
result:=true;
exit;
end;
i:=1;
while i<=length(s) do
begin
if (isNumeric(s[i])=false) and (s[i]<>'.') then
begin
result:=false;
exit;
end;
i:=i+1;
end;
result:=true;
end;
function TfrmAddGoods.isNumber(s: string): boolean;
var
i:integer;
begin
if length(s)=0 then
begin
result:=false;
exit;
end;
i:=1;
while i<=length(s) do
begin
if isNumeric(s[i])=false then
begin
result:=false;
exit;
end;
i:=i+1;
end;
result:=true;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -