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

📄 saleinput.pas

📁 一个餐饮行业的销售管理类的源码
💻 PAS
字号:
unit saleInput;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DBTables, DB, StdCtrls, Grids, DBGrids, ExtCtrls;

type
  TSaleInputForm = class(TForm)
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label11: TLabel;
    Label9: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label12: TLabel;
    Budget: TEdit;
    Cost: TEdit;
    Profit: TEdit;
    Deduct: TEdit;
    Income: TEdit;
    btnOk: TButton;
    btnClear: TButton;
    Tax: TEdit;
    DataSource1: TDataSource;
    SaleTable: TTable;
    SaleDBGrid: TDBGrid;
    SaleQuery: TQuery;
    RadioGroup1: TRadioGroup;
    BudgetRadio: TRadioButton;
    IncomeRadio: TRadioButton;
    TaxRadio: TRadioButton;
    DeductRadio: TRadioButton;
    CostRadio: TRadioButton;
    ProfitRadio: TRadioButton;
    procedure btnOkClick(Sender: TObject);
    procedure btnClearClick(Sender: TObject);
    procedure BudgetRadioClick(Sender: TObject);
    procedure IncomeRadioClick(Sender: TObject);
    procedure TaxRadioClick(Sender: TObject);
    procedure DeductRadioClick(Sender: TObject);
    procedure CostRadioClick(Sender: TObject);
    procedure ProfitRadioClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    function IsEmpty:boolean;
  end;

var
  SaleInputForm: TSaleInputForm;

implementation

{$R *.dfm}

function TsaleInputForm.IsEmpty:boolean;
begin
    if (Budget.Text = '') or (Tax.Text = '') or
        (Income.Text = '') or (Deduct.Text = '') or
        (Cost.Text = '') or (Profit.Text = '') then result := true
    else result := false;
end;

procedure TSaleInputForm.btnOkClick(Sender: TObject);
var
    B,T,I,D,C,P:Integer;
begin
    if IsEmpty then begin
        showmessage('数据不能为空');
        Budget.SetFocus;
    end
    else begin
    //设置数据源为table
    DataSource1.DataSet := SaleTable;
    //读入应收金额
    B := StrToInt(Budget.Text);
    //读入实收金额
    I := StrToInt(Income.Text);
    if B<I then begin
        messageDlg('请确定实收金额应该比应收金额小!',mtWarning,[mbOk],0);
        Exit;
    end;
    //读入提成金额
    D := StrToInt(Deduct.Text);
    //读入酒菜成本
    C := StrToInt(Cost.Text);
    //计算税收金额
    //税率可以由管理员设定
    T := Round(I*0.3);
    //更新税收金额框内容
    Tax.Text := IntToStr(T);
    //计算毛利
    P := I - T - D - C;
    //更新毛利框内容
    Profit.Text := IntToStr(P);
    //增加新记录
    SaleTable.Append;
    SaleTable.FieldValues['Budget'] := B;
    SaleTable.FieldValues['Income'] := I;
    SaleTable.FieldValues['Tax'] := T;
    SaleTable.FieldValues['Deduct'] := D;
    SaleTable.FieldValues['Cost'] := C;
    SaleTable.FieldValues['Profit'] := P;
    //提交操作
    SaleTable.Post;
    end;
end;

procedure TSaleInputForm.btnClearClick(Sender: TObject);
begin
    Budget.Text := '';
    Tax.Text := '';
    Income.Text := '';
    Deduct.Text := '';
    Cost.Text := '';
    Profit.Text := '';
end;

procedure TSaleInputForm.BudgetRadioClick(Sender: TObject);
begin
    //设置数据源为query
    DataSource1.DataSet := saleQuery;
    saleQuery.Close;
    saleQuery.SQL.Clear;
    saleQuery.SQL.Add('select * from sales order by Budget');
    try
       saleQuery.Open;
    except
       saleQuery.ExecSQL;
    end;
end;

procedure TSaleInputForm.IncomeRadioClick(Sender: TObject);
begin
    //设置数据源为query
    DataSource1.DataSet := saleQuery;
    saleQuery.Close;
    saleQuery.SQL.Clear;
    saleQuery.SQL.Add('select * from sales order by Income');
    try
       saleQuery.Open;
    except
       saleQuery.ExecSQL;
    end;
end;

procedure TSaleInputForm.TaxRadioClick(Sender: TObject);
begin
    //设置数据源为query
    DataSource1.DataSet := saleQuery;
    saleQuery.Close;
    saleQuery.SQL.Clear;
    saleQuery.SQL.Add('select * from sales order by Tax');
    try
       saleQuery.Open;
    except
       saleQuery.ExecSQL;
    end;
end;

procedure TSaleInputForm.DeductRadioClick(Sender: TObject);
begin
    //设置数据源为query
    DataSource1.DataSet := saleQuery;
    saleQuery.Close;
    saleQuery.SQL.Clear;
    saleQuery.SQL.Add('select * from sales order by Deduct');
    try
       saleQuery.Open;
    except
       saleQuery.ExecSQL;
    end;
end;

procedure TSaleInputForm.CostRadioClick(Sender: TObject);
begin
    //设置数据源为query
    DataSource1.DataSet := saleQuery;
    saleQuery.Close;
    saleQuery.SQL.Clear;
    saleQuery.SQL.Add('select * from sales order by Cost');
    try
       saleQuery.Open;
    except
       saleQuery.ExecSQL;
    end;
end;

procedure TSaleInputForm.ProfitRadioClick(Sender: TObject);
begin
    //设置数据源为query
    DataSource1.DataSet := saleQuery;
    saleQuery.Close;
    saleQuery.SQL.Clear;
    saleQuery.SQL.Add('select * from sales order by Profit');
    try
       saleQuery.Open;
    except
       saleQuery.ExecSQL;
    end;
end;

end.

⌨️ 快捷键说明

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