?? romminput.pas
字號:
unit rommInput;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls, Grids, DBGrids, DBTables, DB, ComCtrls;
type
TRoomInputForm = class(TForm)
GroupBox1: TGroupBox;
Label1: TLabel;
Label11: TLabel;
Label9: TLabel;
Label3: TLabel;
Label4: TLabel;
Label12: TLabel;
Dinner_price: TEdit;
People: TEdit;
NO: TEdit;
btnOk: TButton;
btnClear: TButton;
DataSource1: TDataSource;
RoomTable: TTable;
RoomQuery: TQuery;
SaleDBGrid: TDBGrid;
RadioGroup1: TRadioGroup;
BudgetRadio: TRadioButton;
IncomeRadio: TRadioButton;
TaxRadio: TRadioButton;
DiscountRadio: TRadioButton;
CostRadio: TRadioButton;
ProfitRadio: TRadioButton;
birthday: TDateTimePicker;
Label2: TLabel;
Budget: TEdit;
Label5: TLabel;
Income: TEdit;
Label6: TLabel;
Label7: TLabel;
Discount: TEdit;
Label8: TLabel;
Room_NO: TEdit;
Romm_price: TEdit;
Tax: TEdit;
Profit: TEdit;
Label10: TLabel;
Pay_type: TEdit;
Cost: TEdit;
Service_price: TEdit;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
procedure btnClearClick(Sender: TObject);
procedure BudgetRadioClick(Sender: TObject);
procedure TaxRadioClick(Sender: TObject);
procedure DiscountRadioClick(Sender: TObject);
procedure CostRadioClick(Sender: TObject);
procedure ProfitRadioClick(Sender: TObject);
procedure btnOkClick(Sender: TObject);
procedure IncomeRadioClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
function IsEmpty:boolean;
end;
var
RoomInputForm: TRoomInputForm;
implementation
{$R *.dfm}
function TRoomInputForm.IsEmpty:boolean;
begin
if (NO.Text = '') or
(Room_NO.Text = '') or
(People.Text = '') or
(Dinner_price.Text = '') or
(Romm_price.Text = '') or
(Budget.Text = '') or
(Income.Text = '') or
(Tax.Text = '') or
(Discount.Text = '') or
(Profit.Text = '') or
(Service_price.Text = '') or
(Cost.Text = '') or
(Pay_type.Text = '') then result := true
else result := false;
end;
procedure TRoomInputForm.btnClearClick(Sender: TObject);
begin
NO.Text := '';
Room_NO.Text := '';
People.Text := '';
Dinner_price.Text := '';
Romm_price.Text := '';
Budget.Text := '';
Income.Text := '';
Tax.Text := '';
Discount.Text := '';
Profit.Text := '';
Service_price.Text := '';
Cost.Text := '';
Pay_type.Text := '';
end;
procedure TRoomInputForm.BudgetRadioClick(Sender: TObject);
begin
//設置數據源為query
DataSource1.DataSet := roomQuery;
roomQuery.Close;
roomQuery.SQL.Clear;
roomQuery.SQL.Add('select * from room order by Budget');
try
roomQuery.Open;
except
roomQuery.ExecSQL;
end;
end;
procedure TRoomInputForm.TaxRadioClick(Sender: TObject);
begin
//設置數據源為query
DataSource1.DataSet := roomQuery;
roomQuery.Close;
roomQuery.SQL.Clear;
roomQuery.SQL.Add('select * from room order by Tax');
try
roomQuery.Open;
except
roomQuery.ExecSQL;
end;
end;
procedure TRoomInputForm.DiscountRadioClick(Sender: TObject);
begin
//設置數據源為query
DataSource1.DataSet := roomQuery;
roomQuery.Close;
roomQuery.SQL.Clear;
roomQuery.SQL.Add('select * from room order by Discount');
try
roomQuery.Open;
except
roomQuery.ExecSQL;
end;
end;
procedure TRoomInputForm.CostRadioClick(Sender: TObject);
begin
//設置數據源為query
DataSource1.DataSet := roomQuery;
roomQuery.Close;
roomQuery.SQL.Clear;
roomQuery.SQL.Add('select * from room order by Cost');
try
roomQuery.Open;
except
roomQuery.ExecSQL;
end;
end;
procedure TRoomInputForm.ProfitRadioClick(Sender: TObject);
begin
//設置數據源為query
DataSource1.DataSet := roomQuery;
roomQuery.Close;
roomQuery.SQL.Clear;
roomQuery.SQL.Add('select * from room order by Profit');
try
roomQuery.Open;
except
roomQuery.ExecSQL;
end;
end;
procedure TRoomInputForm.btnOkClick(Sender: TObject);
var
A,B,C,D,E,F,G,H,I,J,K,L,M:Integer;
begin
if IsEmpty then begin
showmessage('數據不許為空');
NO.SetFocus;
end
else begin
//設置數據源為table
DataSource1.DataSet := RoomTable;
//讀入單號
A := StrToInt(NO.Text);
//讀入房臺號
B := StrToInt(Room_NO.Text);
//讀入人數
C := StrToInt(People.Text);
//讀入酒菜
D := StrToInt(Dinner_price.Text);
//讀入房間費
E := StrToInt(Romm_price.Text);
//讀入應收金額
F := StrToInt(Budget.Text);
//讀入實收金額
G := StrToInt(Income.Text);
//計算稅收金額
//稅率可以由管理員設定
H := Round(G*0.3);
//更新稅收金額框內容
Tax.Text := IntToStr(H);
//讀入提成金額
I := StrToInt(Discount.Text);
//計算毛利
J := G - H - I;
//更新毛利框內容
Profit.Text := IntToStr(J);
//讀入服務費
K := StrtoInt(Service_price.Text);
//讀入成本
L := StrtoInt(Cost.Text);
//讀入方式
M := StrtoInt(Pay_type.Text);
//對輸入數據進行判斷
if F<G then begin
messageDlg('請確定實收金額應該比應收金額??!',mtWarning,[mbOk],0);
Exit;
end;
//增加新記錄
RoomTable.Append;
RoomTable.FieldValues['NO'] := A;
RoomTable.FieldValues['Room_NO'] := B;
RoomTable.FieldValues['People'] := C;
RoomTable.FieldValues['Dinner_price'] := D;
RoomTable.FieldValues['Romm_price'] := E;
RoomTable.FieldValues['Budget'] := F;
RoomTable.FieldValues['Income'] := G;
RoomTable.FieldValues['Tax'] := H;
RoomTable.FieldValues['Discount'] := I;
RoomTable.FieldValues['Profit'] := J;
RoomTable.FieldValues['Service_price'] := K;
RoomTable.FieldValues['Cost'] := L;
RoomTable.FieldValues['Pay_type'] := M;
//提交操作
RoomTable.Post;
end;
end;
procedure TRoomInputForm.IncomeRadioClick(Sender: TObject);
begin
//設置數據源為query
DataSource1.DataSet := roomQuery;
roomQuery.Close;
roomQuery.SQL.Clear;
roomQuery.SQL.Add('select * from room order by Income');
try
roomQuery.Open;
except
roomQuery.ExecSQL;
end;
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -