📄 mealcountform.pas
字号:
unit MealCountForm;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, StdCtrls, ComCtrls;
type
TFrmMealCount = class(TForm)
Label1: TLabel;
DateTimePicker1: TDateTimePicker;
Label2: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
Label9: TLabel;
Edit1: TEdit;
Edit3: TEdit;
Edit4: TEdit;
Edit5: TEdit;
Edit6: TEdit;
Edit7: TEdit;
Edit8: TEdit;
DBGrid1: TDBGrid;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormCreate(Sender: TObject);
procedure DateTimePicker1CloseUp(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
FrmMealCount: TFrmMealCount;
implementation
uses DataM;
{$R *.dfm}
procedure TFrmMealCount.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
procedure TFrmMealCount.FormCreate(Sender: TObject);
begin
Data.DataSEnd.DataSet:=Data.ADOQTEnd;
Data.ADOQTEnd.Close;
Data.ADOQTEnd.SQL.Clear;
Data.ADOQTEnd.SQL.Add('select * from TableEnds');
Data.ADOQTEnd.Open;
end;
procedure TFrmMealCount.DateTimePicker1CloseUp(Sender: TObject);
var
i, j:integer;
shouldPaySum, shouldPay:Currency;
cashSum, cashPay:Currency;
chequeSum, chequePay:Currency;
unPaySum, unPay: Currency;
noPaySum, noPay: Currency;
netIncomeSum: Currency;
begin
Data.ADOQTEnd.Close;
Data.ADOQTEnd.SQL.Clear;
Data.ADOQTEnd.SQL.Add('select * from TableEnds where Date = '+ '#' + DateToStr(DateTimePicker1.Date)+ '#');
Data.ADOQTEnd.Open;
Edit1.Text:=IntToStr(Data.ADOQTEnd.RecordCount);
shouldPaySum := 0;
cashSum :=0;
chequeSum :=0;
noPaySum :=0;
for i:=1 to Data.ADOQTEnd.RecordCount do
begin
//计算应收金额
shouldPay := Data.ADOQTEnd.FieldByName('ShouldPay').AsCurrency;
if Data.ADOQTEnd.FieldByName('NameOfCoin').AsString = '美元' then
shouldPay := shouldPay *8 ;
shouldPaySum :=shouldPaySum + shouldPay;
//计算现金金额
if Data.ADOQTEnd.FieldByName('TypeOfCoin').AsString = '现金' then
cashPay := Data.ADOQTEnd.FieldByName('PayActually').AsCurrency ;
if Data.ADOQTEnd.FieldByName('NameOfCoin').AsString = '美元' then
cashPay := cashPay*8;
cashSum := cashSum + cashPay;
//计算支票金额
if Data.ADOQTEnd.FieldByName('TypeOfCoin').AsString = '支票' then
chequePay := Data.ADOQTEnd.FieldByName('PayActually').AsCurrency ;
if Data.ADOQTEnd.FieldByName('NameOfCoin').AsString = '美元' then
chequePay := chequePay*8;
chequeSum := chequeSum + chequePay;
//计算未付金额
unPay := Data.ADOQTEnd.FieldByName('ShouldPay').AsCurrency - Data.ADOQTEnd.FieldByName('PayActually').AsCurrency;
if Data.ADOQTEnd.FieldByName('NameOfCoin').AsString = '美元' then
unPay := unPay*8;
unPaySum := unPaySum + unPay;
//计算不付金额
Data.ADOQOrder.Close;
Data.ADOQOrder.SQL.Clear;
Data.ADOQOrder.SQL.Add('select * from Orders where StreamNumber=' + Data.ADOQTEnd.FieldByName('StreamID').AsString);
Data.ADOQOrder.Open;
for j:=1 to Data.ADOQOrder.RecordCount do
begin
noPay := Data.ADOQOrder.FieldByName('Discount').AsCurrency ;
noPaySum := noPaySum + noPay;
Data.ADOQOrder.Next;
end;
Data.ADOQTEnd.Next;
Data.ADOQStream.Close;
Data.ADOQStream.SQL.Clear;
Data.ADOQStream.SQL.Add('select * from Stream');
end;
Edit3.Text := FloatToStr(shouldPaySum);
Edit4.Text := FloatToStr(cashSum);
Edit5.Text := FloatToStr(chequeSum);
Edit6.Text := FloatToStr(unPaySum);
Edit7.Text := FloatToStr(noPaySum);
netIncomeSum := cashSum+chequeSum - noPaySum;
Edit8.Text := FloatToStr(netIncomeSum);
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -