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

📄 report.cpp

📁 停车场用
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Report.h"
#include "print.h"
#include "datetool.h"
#include "inqdate.h"
#include "bdbf.h"
#include "option.h"
#include "editDlg.h"

//获取设置统计日期
static int GetSetTotalDate(DWORD pDate1,DWORD pDate2,int nMode);
static int GetTotalDate(DWORD *pDate1,DWORD *pDate2);
static int SetTotalDate(DWORD nDate1,DWORD nDate2);

//设置日期范围
static int SelectRecordWithDate(void);
#pragma package(smart_init)
//获取设置分析统计类型
int GetSetTotalMode(int nKind)
 {
  static BYTE nMode=0;
  int n;

  n = nMode;
  if(nKind>0)nMode=nKind;
  return(n);
 }
//获取设置统计日期
int GetSetTotalDate(DWORD &pDate1,DWORD &pDate2,int nMode)
 {
  static DWORD nInqDate1,nInqDate2;

  if(nMode)
   { nInqDate1 = pDate1; nInqDate2=pDate2;}
  else {
    pDate1 = nInqDate1;
    pDate2 = nInqDate2;
   }
  return(nInqDate1);
 }
//获取统计日期
int GetSetTotalDate(DWORD *pDate1,DWORD *pDate2)
 {
  DWORD m,n;

  GetSetTotalDate(m,n,0);//获取设置统计日期
  if(pDate1!=NULL)pDate1=m;
  if(pDate2!=NULL)pDate2=n;
  return(m);
 }
//设置统计日期
int SetTotalDate(DWORD nDate1,DWORD nDate2)
 {
  GetSetTotalDate(nDate1,nDate2,TRUE);//获取设置统计日期
  return(nDate1);
 }
//统计分析数据库
int Menu_TotalTable(void)
 {
  int rc;

  SelectRecordWithDate();
  rc=TotalRecordTable();
  return(rc);
 }
//获取统计条件
char *GetTotalText(char *pszBuf)
 {
  static char *pszTitle[]={
    "统计日期 %s-%s","%04d年%1d月份 %s-%s",
    "%04d年第%1d季度 %s-%s","%04d年度 %s-%s"
   };
  DWORD nDate1,nDate2;
  char szDate1[15],szDate2[15];
  int nMode,nYear,nMonth,nDay;

  GetTotalDate(&nDate1,&nDate2);
  nMode = GetTotalMode();
  DWORDToDateStr(szDate1,nDate1);
  DWORDToDateStr(szDate2,nDate2);
  GetDateOnDWORD(nDate1,&nYear,&nMonth,&nDay);
  if(nMode==TOTAL_DAY) //日统计
    wsprintf(pszBuf,pszTitle[0],szDate1,szDate2);
  else if(nMode==TOTAL_MONTH) //月统计
    wsprintf(pszBuf,pszTitle[1],nYear,nMonth,szDate1,szDate2);
  else if(nMode==TOTAL_QUARTER){  //季统计
    nMonth = (nMonth-1)/3+1;
    wsprintf(pszBuf,pszTitle[2],nYear,nMonth,szDate1,szDate2);
   }
  else if(nMode==TOTAL_YEAR) //年统计
    wsprintf(pszBuf,pszTitle[3],nYear,szDate1,szDate2);
  else pszBuf[0];
  return(pszBuf);
 }
//设置统计日期
int SetDayToTotal(TComponent* Owner)
 {
  int rc;
  DWORD nDate1,nDate2;

  GetTotalDate(&nDate1,&nDate2);
  rc=ReworkDate(Owner,&nDate1,&nDate2);
  if(rc){ //设置日期范围
    SetTotalDate(nDate1,nDate2);
    SetTotalMode(TOTAL_DAY);
   }
  return(rc);
 }
//设置统计月份
int SetMonthToTotal(TComponent* Owner)
 {
  static char pszText[]="请选择统计年月份";
  int rc;
  EDITPARAM pe;
  DWORD nDate1,nDate2;

  GetTotalDate(&nDate1,&nDate2);
  ZeroMemory(&pe,sizeof(pe));
  pe.pszTitle=GetMainTitle();
  pe.pszText=pszText;
  pe.pszBuf=(char *)&nDate1;
  pe.cbSize=sizeof(nDate1);
  pe.nFlag=10; //日期

  rc=EditTextStr(Owner,&pe);
  if(rc){ //设置日期范围
    GetMonthDate(nDate1,&nDate1,&nDate2);
    SetTotalDate(nDate1,nDate2);
    SetTotalMode(TOTAL_MONTH);
   }
  return(rc);
 }
//设置统计季度
int SetQuarterToTotal(TComponent* Owner)
 {
  static char pszText[]="请选择统计季度所在的日期";
  int rc;
  EDITPARAM pe;
  DWORD nDate1,nDate2;

  GetTotalDate(&nDate1,&nDate2);
  ZeroMemory(&pe,sizeof(pe));
  pe.pszTitle=GetMainTitle();
  pe.pszText=pszText;
  pe.pszBuf=(char *)&nDate1;
  pe.cbSize=sizeof(nDate1);
  pe.nFlag=10; //日期

  rc=EditTextStr(Owner,&pe);
  if(rc){ //设置日期范围
    GetQuarterDate(nDate1,&nDate1,&nDate2);
    SetTotalDate(nDate1,nDate2);
    SetTotalMode(TOTAL_QUARTER);
   }
  return(rc);
 }
//设置统计年度
int SetYearToTotal(TComponent* Owner)
 {
  static char pszText[]="请选择统计年份";
  int rc;
  EDITPARAM pe;
  DWORD nDate1,nDate2;

  GetTotalDate(&nDate1,&nDate2);
  ZeroMemory(&pe,sizeof(pe));
  pe.pszTitle=GetMainTitle();
  pe.pszText=pszText;
  pe.pszBuf=(char *)&nDate1;
  pe.cbSize=sizeof(nDate1);
  pe.nFlag=10; //日期

  rc=EditTextStr(Owner,&pe);
  if(rc){ //设置日期范围
    GetYearDate(nDate1,&nDate1,&nDate2);
    SetTotalDate(nDate1,nDate2);
    SetTotalMode(TOTAL_YEAR);
   }
  return(rc);
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -