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

📄 mealcountform.pas

📁 本程序是一个餐饮业的管理软件
💻 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 + -