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

📄 spendmaterialform.pas

📁 本程序是一个餐饮业的管理软件
💻 PAS
字号:
unit SpendMaterialForm;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DBCtrls, Grids, DBGrids;

type
  TFrmSpendMaterial = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Button1: TButton;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    Edit2: TEdit;
    DBGrid1: TDBGrid;
    Label4: TLabel;
    Label5: TLabel;
    DBText1: TDBText;
    DBText2: TDBText;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  FrmSpendMaterial: TFrmSpendMaterial;

implementation

uses DataM;

{$R *.dfm}

procedure TFrmSpendMaterial.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  Action:=caFree;
end;

procedure TFrmSpendMaterial.FormCreate(Sender: TObject);
var
  i:integer;
begin
  Data.DataSStaple.DataSet:=Data.ADOQStaple;
  Data.ADOQStaple.Open;
  Data.ADOQStaple.First;
  DBText1.DataSource:=Data.DataSStaple;
  DBText2.DataSource:=Data.DataSStaple;
  DBText1.DataField:='BuyUnit';
  DBText2.DataField:='DepleteUnit';
  ComboBox1.Text:=Data.ADOQStaple.FieldByName('Name').AsString;
  for i:=1 to Data.ADOQStaple.RecordCount do
  begin
    ComboBox1.Items.Add(Data.ADOQStaple.FieldByName('Name').AsString);
    Data.ADOQStaple.Next;
  end;

end;

procedure TFrmSpendMaterial.Button1Click(Sender: TObject);
var
  Re:Real;
begin
  if (Edit1.Text<>'') and (Edit2.Text<>'') then
  begin
    Data.ADOQStaple.Close;
    Data.ADOQStaple.SQL.Clear;
    Data.ADOQStaple.SQL.Add('select * from Staple where Name="'+ComboBox1.Text+'"');
    Data.ADOQStaple.Open;
    if Data.ADOQStaple.RecordCount=1 then
    begin
      Re:=StrToFloat(Edit1.Text)/StrToFloat(Edit2.Text);
      if Data.ADOQStaple.FieldByName('Remain').AsFloat>Re then
      begin
        Data.ADOQStaple.Edit;
        Data.ADOQStaple.FieldByName('Remain').AsFloat:=Data.ADOQStaple.FieldByName('Remain').AsFloat-Re;
        Data.ADOQStaple.Post;
      end
      else
      begin
      Data.ADOQStaple.FieldByName('Remain').AsFloat:=0;
      MessageDlg('原料已经消耗完毕,请添加原料',mtError,[mbOK],0);
      end;
      Data.ADOQDepleteEvent.Open;
      Data.ADOQDepleteEvent.Append;
      Data.ADOQDepleteEvent.FieldByName('StapleID').AsString:=Data.ADOQStaple.FieldByName('ID').AsString;
      Data.ADOQDepleteEvent.FieldByName('Time').AsDateTime:=Now;
      Data.ADOQDepleteEvent.FieldByName('Number').AsFloat:=Re;
      Data.ADOQDepleteEvent.Post;
    end
    else MessageDlg('没有这种原料,请先添加原料',mtError,[mbOK],0);
  end
  else MessageDlg('Not Null',mtError,[mbOK],0);
end;

procedure TFrmSpendMaterial.ComboBox1Change(Sender: TObject);
begin
  Data.ADOQStaple.Close;
  Data.ADOQStaple.SQL.Clear;
  Data.ADOQStaple.SQL.Add('select * from Staple where Name="'+ComboBox1.Text+'"');
  Data.ADOQStaple.Open;
  DBText1.DataSource:=Data.DataSStaple;
  DBText2.DataSource:=Data.DataSStaple;
  DBText1.DataField:='BuyUnit';
  DBText2.DataField:='DepleteUnit';
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -