?? saleinput.pas
字號(hào):
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('數(shù)據(jù)不能為空');
Budget.SetFocus;
end
else begin
//設(shè)置數(shù)據(jù)源為table
DataSource1.DataSet := SaleTable;
//讀入應(yīng)收金額
B := StrToInt(Budget.Text);
//讀入實(shí)收金額
I := StrToInt(Income.Text);
if B<I then begin
messageDlg('請(qǐng)確定實(shí)收金額應(yīng)該比應(yīng)收金額小!',mtWarning,[mbOk],0);
Exit;
end;
//讀入提成金額
D := StrToInt(Deduct.Text);
//讀入酒菜成本
C := StrToInt(Cost.Text);
//計(jì)算稅收金額
//稅率可以由管理員設(shè)定
T := Round(I*0.3);
//更新稅收金額框內(nèi)容
Tax.Text := IntToStr(T);
//計(jì)算毛利
P := I - T - D - C;
//更新毛利框內(nèi)容
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
//設(shè)置數(shù)據(jù)源為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
//設(shè)置數(shù)據(jù)源為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
//設(shè)置數(shù)據(jù)源為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
//設(shè)置數(shù)據(jù)源為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
//設(shè)置數(shù)據(jù)源為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
//設(shè)置數(shù)據(jù)源為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.
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -