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

📄 addgoods.pas

📁 住宿餐饮 - 订餐管理系统,DelPhi写的。适合酒店
💻 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 + -