📄 dinnercheck.~pas
字号:
unit DinnerCheck;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, Grids, DBGrids, ADODB,TodayDis, ComCtrls,Login;
type
TDinnerCheckFrm = class(TForm)
Label1: TLabel;
Edit1: TEdit;
ADOQuery1: TADOQuery;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Edit2: TEdit;
Label2: TLabel;
Edit3: TEdit;
Button2: TButton;
ADOQuery2: TADOQuery;
Button3: TButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Edit4: TEdit;
Edit5: TEdit;
Label6: TLabel;
Label7: TLabel;
Edit6: TEdit;
Button4: TButton;
Edit7: TEdit;
Button1: TButton;
Edit8: TEdit;
Button6: TButton;
Label8: TLabel;
Label9: TLabel;
DateTimePicker1: TDateTimePicker;
ADOTable1: TADOTable;
Button5: TButton;
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Edit4Change(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
TotalBudget,TotalIncome: Integer;
var
DinnerCheckFrm: TDinnerCheckFrm;
implementation
{$R *.dfm}
procedure TDinnerCheckFrm.Button2Click(Sender: TObject);
var
loc: Boolean;
begin
if (Edit1.Text = '') or (Edit3.Text = '' ) then
begin
ShowMessage('输入数据不能为空,请输入数据!') ;
Edit1.Text:= '';
Edit3.Text:= '';
Edit1.SetFocus;
end
else
begin
loc:=ADOQuery2.Locate('编号',Edit3.Text,[locaseInsensitive]);
if loc = true then
begin
ADOQuery1.Append;
ADOQuery1.FieldValues['编号']:= ADOQuery2.FieldValues['编号'];
ADOQuery1.FieldValues['种类']:= ADOQuery2.FieldValues['种类'];
ADOQuery1.FieldValues['名称']:= ADOQuery2.FieldValues['名称'];
ADOQuery1.FieldValues['单价']:= ADOQuery2.FieldValues['单价'];
ADOQuery1.FieldValues['风味']:= ADOQuery2.FieldValues['风味'];
ADOQuery1.Post;
Edit3.SetFocus;
end
else
begin
ShowMessage('此编号不存在,请重新输入');
Edit3.Text:= '';
Edit3.SetFocus;
end;
end;
end;
procedure TDinnerCheckFrm.Button3Click(Sender: TObject);
begin
ADOQuery1.First;
While not ADOQuery1.Eof do
ADOQuery1.Delete;
Edit1.Text:= '';
Edit3.Text:= '';
Edit2.Text:= IntToStr(0);
Edit4.Text:= IntToStr(0);
Edit5.Text:= '';
Edit6.Text:= '';
Edit7.Text:= '';
Edit1.SetFocus;
end;
procedure TDinnerCheckFrm.Button1Click(Sender: TObject);
var
sum: Integer;
begin
Sum:= 0;
ADOQuery1.First;
While not ADOQuery1.Eof do
begin
sum := sum + ADOQuery1.FieldValues['单价'];
ADOQuery1.Next;
end;
Edit2.Text:= IntToStr(sum);
Edit4.Text:= IntToStr(Round(Sum * discount / 10));
Edit5.Text:= IntToStr(discount);
end;
procedure TDinnerCheckFrm.Button4Click(Sender: TObject);
var
pay,cost: Integer;
begin
pay:= StrToInt(Edit6.Text);
cost:= StrToInt(Edit4.Text);
if pay < cost then
begin
ShowMessage('付款金额小于实收金额,请重新输入!');
Edit6.Text:= '';
Edit6.SetFocus;
end
else
begin
Edit7.Text:= IntToStr(pay-cost);
end;
end;
procedure TDinnerCheckFrm.Edit2Change(Sender: TObject);
begin
TotalBudget:= TotalBudget + StrToInt(Edit2.Text);
end;
procedure TDinnerCheckFrm.Edit4Change(Sender: TObject);
begin
TotalIncome:= TotalIncome + StrToInt(Edit4.Text);
Edit8.Text:= IntToStr(TotalInCome);
end;
procedure TDinnerCheckFrm.Button6Click(Sender: TObject);
begin
ADOTable1.Append;
ADOTable1.FieldValues['日期']:= DateTimePicker1.DateTime;
ADOTable1.FieldValues['应收金额']:= TotalBudget;
ADOTable1.FieldValues['实收金额']:= TotalIncome;
ADOTable1.FieldValues['折扣']:= discount;
ADOTable1.FieldValues['用户名']:= UserName;
ADOTable1.Post;
Edit8.Text:= '';
TotalBudget:= 0;
TotalIncome:= 0;
Close;
end;
procedure TDinnerCheckFrm.Button5Click(Sender: TObject);
begin
ADOQuery1.Delete;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -