📄 transinfo.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 + -