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

📄 transinfo.cpp

📁 高速公路收费系统车道软件. 功能: 1 检测公路过往车辆 2 收费过程控制和数据采集 3 车辆信息和图片上传服务器.
💻 CPP
字号:
// TransInfo.cpp: implementation of the CTransInfo class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "lane_new.h"
#include "TransInfo.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
//	以下定义交易数据
static struct{
	UCHAR	chBusClass;			//车型
	UCHAR	nBusType;			//车情
	char	mBusNO[10];			//车辆牌照
	BOOL	bTollStatusFlag;	//交易状态,表明交易数据是否被清空
		                        //TRUE表示有交易数据,FALSE表示无数据
	UINT	nFare;				//通行费金额
	UCHAR	chWarningReason;	//报警原因
	char	ViolateType;		//违章类型:0 无违章 1 违章
	char	ModifyType;			//更改类型:0 无更改 1 更改
	char	BadInvoiceType;		//废票类型:0 无废票 1 废票
	long	InvoiceNO;			//当前发票号码
	char	InvoiceType;		//当前发票类型
	ULONG	NewPassword;		//新密码
	BOOL    AlreadyIssueRationInvoiceFlag; //以发出定额票标志
	BOOL    PrintNoSuccessFlag;    //打印不成功标志
} TransData;

UCHAR CTransInfo::chGroupBusClass;
UINT CTransInfo::nGroupNumber=0;
UINT CTransInfo::nAllowBusNumber=0;
CTransInfo::CTransInfo()
{
}

//	设置违章类型:0 无违章 1 违章
//	特别地:无论控制类以16进制方式还是以ASCII方式设置,CTransInfo类
//			中都以16进制方式存储,以下同
void CTransInfo::ViolateType(char value)
{
	char ch=value;
	if((ch>='0')&&(ch<='9'))
		ch=ch-'0';  //如果传进来是ASCII码,转为二进制
	TransData.ViolateType=ch;
}

//	设置修改类型:0 无修改 1 修改
void CTransInfo::ModifyType(char value)
{
	char ch=value;
	if((ch>='0')&&(ch<='9'))
		ch=ch-'0';  //如果传进来是ASCII码,转为二进制
	TransData.ModifyType=ch;
}

//	设置废票类型:0 无废票 1 废票
void CTransInfo::BadInvoiceType(char value)
{
	char ch=value;
	if((ch>='0')&&(ch<='9'))
		ch=ch-'0';  //如果传进来是ASCII码,转为二进制
    TransData.BadInvoiceType=ch;
}

//	设置发票号码
void CTransInfo::InvoiceNO(long value)
{
	TransData.InvoiceNO=value;
}

//	设置票据类型:0 电脑票 1 定额票
void CTransInfo::InvoiceType(char value)
{
	char ch=value;
	if((ch>='0')&&(ch<='9'))
		ch=ch-'0';  //如果传进来是字符型,转为整型
	TransData.InvoiceType=ch;
}

//	设置新密码
void CTransInfo::NewPassword(ULONG value)
{
	TransData.NewPassword=value;
}

//	返回违章类型:虽然存储时以二进制存储,但返回ASCII,以下同
char CTransInfo::ViolateType()
{
	return TransData.ViolateType+'0';	//二进制转换为ASCII码
}

//	返回更改类型
char CTransInfo::ModifyType()
{
	return TransData.ModifyType+'0';	//二进制转换为ASCII码
}

//	返回废票类型
char CTransInfo::BadInvoiceType()
{
	return TransData.BadInvoiceType+'0';//二进制转换为ASCII码
}

//	返回当前发票号码
long CTransInfo::InvoiceNO()
{
	return TransData.InvoiceNO;
}

//	返回票据类型
char CTransInfo::InvoiceType()
{
	return TransData.InvoiceType+'0';	//二进制转换为ASCII码
}

//	返回新密码
ULONG CTransInfo::NewPassword()
{
	return TransData.NewPassword;
}

void CTransInfo::AlreadyIssueRationInvoiceFlag(BOOL value)//已发出定额票标志
{
	TransData.AlreadyIssueRationInvoiceFlag=value;
}
void CTransInfo::PrintNoSuccessFlag(BOOL value)   //打印不成功标志
{
	TransData.PrintNoSuccessFlag=value;
}
BOOL CTransInfo::AlreadyIssueRationInvoiceFlag() //已发出定额票标志
{
	return TransData.AlreadyIssueRationInvoiceFlag;
}
BOOL CTransInfo::PrintNoSuccessFlag()           //打印不成功标志
{
	return TransData.PrintNoSuccessFlag;
}
//	返回车牌
void CTransInfo::GetBusNO(char *pRetStr)
{
	memmove(pRetStr,TransData.mBusNO,10);
}

//	设置车牌
void CTransInfo::SetBusNO(char *pRetStr)
{
	memset(TransData.mBusNO,0,10);
	memmove(TransData.mBusNO,pRetStr,10);
}

//	设置车型
void CTransInfo::BusClass(UCHAR value)
{
	char ch=value;
	if((ch>='0')&&(ch<='9'))
		ch=ch-'0';  	//如果传进来是ASCII码,转为二进制
	TransData.chBusClass=ch;
}

//	获取车型
UCHAR CTransInfo::BusClass()
{
	return TransData.chBusClass+'0';//二进制转换为ASCII码
}


//	设置车种
void CTransInfo::BusType(UCHAR value)
{
	char ch=value;
	if((ch>='0')&&(ch<='9'))
		ch=ch-'0';		//如果传进来是ASCII码,转为二进制
	TransData.nBusType=ch;
}

//	获取车种
UCHAR CTransInfo::BusType()
{
	return TransData.nBusType+'0';	//二进制转换为ASCII码
}

//	设置交易状态
void CTransInfo::TollStatusFlag(BOOL nValue)
{
	TransData.bTollStatusFlag=nValue;	
}

//	返回交易状态
BOOL CTransInfo::TollStatusFlag()
{
	return TransData.bTollStatusFlag;
}

//	设置通行费价格
void CTransInfo::Fare(UINT value)
{
	TransData.nFare=value;
}

//	获取通行费价格
UINT CTransInfo::Fare()
{
	return TransData.nFare;
}

//	允许离开的车辆数++
void CTransInfo::IncAllowBusNumber()
{
	nAllowBusNumber++;
}

//	允许离开的车辆数--
void CTransInfo::DecAllowBusNumber()
{
	nAllowBusNumber--;
}

//	设置允许通过的车流数
void CTransInfo::AllowBusNumber(UINT nValue)
{
	nAllowBusNumber=nValue;
}

//	获取允许通过的车流数
UINT CTransInfo::AllowBusNumber()
{
	return nAllowBusNumber;
}

//	获取报警原因
UCHAR CTransInfo::WarningReason()
{
	return TransData.chWarningReason+'0';	//二进制转换为ASCII码
}

//	设置报警原因
void CTransInfo::WarningReason(UCHAR value)
{
	char ch=value;
	if((ch>='0')&&(ch<='9'))
		ch=ch-'0';		//如果传进来是ASCII码,转为二进制
	TransData.chWarningReason=ch;
}

//	清除交易数据
void CTransInfo::ClearTransData()
{
	memset(&TransData,0,sizeof(TransData));
}

//	获取车队中已通过车道的车辆数目
UINT CTransInfo::GroupNumber()
{
	return nGroupNumber;
}

//	车队中已通过车道的车辆数目++
void CTransInfo::IncGroupNumber()
{
	nGroupNumber++;
}

//	设置车队中已通过车道的车辆数目
void CTransInfo::GroupNumber(UINT nValue)
{
	nGroupNumber=nValue;
}

//	设置车队车型
void CTransInfo::GroupBusClass(UCHAR value)
{
	char ch=value;
	if((ch>='0')&&(ch<='9'))
		ch=ch-'0';		//如果传进来是ASCII码,转为二进制
	chGroupBusClass=ch;
}

//	获取车队车型
UCHAR CTransInfo::GroupBusClass()
{
	return chGroupBusClass+'0';		//二进制转换为ASCII码
}

⌨️ 快捷键说明

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