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

📄 laneinfo.h

📁 高速公路收费系统车道软件. 功能: 1 检测公路过往车辆 2 收费过程控制和数据采集 3 车辆信息和图片上传服务器.
💻 H
字号:
//	实体类CLaneInfo存储和车道有关的信息,既包括经常变化的每个班次
//	的信息(上岗时间、收费员号、车道状态等),也包括不经常变化的信
//	息(车道类型、车道地址等)
#if !defined(AFX_LANEINFO_H__45A05C82_47A4_4829_8B21_2ECFDC1A5C49__INCLUDED_)
#define AFX_LANEINFO_H__45A05C82_47A4_4829_8B21_2ECFDC1A5C49__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

class CLaneInfo  
{
public:
	void ProcessTime();
	CLaneInfo();
	void Initial();
	void RepeatReadFile();
	void FreeMemory();
	void FileReadyFlag(UINT nIndex,BOOL value);
	BOOL FileReadyFlag(UINT nIndex);
	BOOL RAM_Disk();
	void RAM_Disk(BOOL value);	
	void GetErrorInfo(char *pRetStr);
	void SetErrorInfo(char *pStr);

//	以下方法用于只用于设置车道参数窗口下,其他场合禁止使用
	void GetLaneParam(char *pRetStr);
	void SetLaneParam(char *pStr);

//	以下方法用于设置或获取车道参数,其中许多参数本程序并未使用但
//	仍在程序中予以保留
//
//	以下设置、获取视频显示参数以决定是否显示视频图像(未用)
	void DisplayVideo(BOOL value);
	BOOL bDisplayVideo();
//	以下设置、获取视频抓拍特性以决定是否抓拍图片	(未用)
	void CaptureStatus(BOOL value);
	BOOL bCaptureStatus();
//	以下设置、获取字符叠加特性以决定是否叠加字符	(未用)
	void OverlayStatus(BOOL value);
	BOOL bOverlayStatus();
//	以下设置、获取在何处完成字符叠加				(未用)
	void OverlayAtLane(BOOL value);
	BOOL bOverlayAtLane();
//	以下设置、获取是否允许操作员重打发票			(未用)
	void RepeatInvoice(BOOL value);
	BOOL bRepeatInvoice();
//	以下设置、获取是否必须输入发票号码
	void InputInvoice(BOOL value);
	BOOL bInputInvoice();
//	以下设置、获取是否必须输入班次
	void InputShiftNO(BOOL value);
	BOOL bInputShiftNO();
//	以下设置、获取是否允许自动关机					(未用)
	void ShutDown(BOOL value);
	BOOL bShutDown();
//	以下设置、获取出口异常卡处理方式
//	void bAbnormalTicket(BOOL value);
//	BOOL bAbnormalTicket();
//	以下设置、获取图片压缩质量						(未用)
	void PictureQuality(char *pStr);
	int PictureQuality();
//	以下设置、获取是否检查发票起、止号
	void bCheckInvoice(BOOL value);
	BOOL bCheckInvoice();
//	以下设置、获取是否预先打印发票
	void bPrePrint(BOOL value);
	BOOL bPrePrint();
//	以下设置、获取违章模式
	void SetViolateModeFlag(BOOL value);
	BOOL GetViolateModeFlag();
//以下获取四个班次上班交班时间
	int GetShiftTime(int NO);
//以下获取月票车是否输入车牌?
	BOOL GetInputMonthCarNOFlag();
//以下获取收费车图象是否上传?
	BOOL GetNormalCarPictureFlag();
//以下获取电脑票收费员是否可修改?
	BOOL GetChangeComputerInvoiceFlag();
//以下获取自动栏杆是否自动下落?
    BOOL GetAutoRailShutDownFlag();

//	以下设置、获取车道数据备份天数
	void BackupTime(char *pStr);
	UINT BackupTime();
//	以下设置、获取TPP的IP地址
	void SetPictureIP(char *pStr);
	void GetPictureIP(char *pRetStr);
//	以下设置、获取TSP的通讯端口
	void MessagePort(char *pStr);
	int  MessagePort();
//	以下设置、获取TSP的IP地址
	void SetMessageIP(char *pStr);
	void GetMessageIP(char *pRetStr);
//	以下设置、获取本机的通讯端口
	void LocalPort(char *pStr);
	int  LocalPort();
//	以下设置、获取本车道的车道地址
	void LaneAddr(char *pStr);
	int  LaneAddr();
//	以下设置、获取本车道号码
	void SetLaneNO(char *pStr);
	UINT LaneNO();
//	以下设置、获取公路业主编码
	void OwnNO(char *pStr);
	int  OwnNO();
//	以下获取本公路网络编号
	UINT NetworkNO();
//	以下设置、获取本收费站编码
	void SetPlazaNO(char *pStr);
	ULONG PlazaNO();
//	以下从文件中获取收费站名称
	void GetPlazaName(char *pRetStr);

//	以下从收费站下传延迟表中获取定时信息
//
//	获取车辆允许在公路上停留的最大时间
	int  TicketDelays();
//	获取车辆允许在线圈上停留的最大时间
	int  PictureLoopDelays();
	int  LeaveLoopDelays();
//	获取报警灯点亮时间
	int  AmberDelays();
//	以下检查车道软件运行所必须的参数文件是否存在
	BOOL CheckRMB_NEW();
	BOOL CheckPlazaName();
	BOOL CheckDelaysFile();
	BOOL CheckCollectFile();
	BOOL CheckBlackCarFile();
	BOOL CheckBlackFile();
	BOOL CheckMonthCarFile();
	BOOL CheckRMB_File();
	BOOL CheckFreeCarFile();
	
//	以下将车道参数保存到文件中
	void SaveLaneParam();
//	以下从文件中读取车道参数
	void ReadLaneParam();

//	以下在价格表中寻找应收金额
	int  SearchFare(UCHAR nClass,UCHAR nType);
//	以下判断操作员身份是否合法
	int CheckID(ULONG ID,ULONG nPassword);	
//	以下核对黑名单车牌	
	BOOL CheckBlackCar(char *pNO);
//	以下核对月票车
	BOOL CheckMonthCar(char *pNO);
//	以下核对免征车
	BOOL CheckFreeCar(char *pNO);


private:	
	void UpdateNewFare();
	BOOL SearchString(char *SourceStr,char *ObjectStr,int Length);
	BOOL FindString(char *SourceStr,char *ObjectStr,int nCompareLen,int nRealLen);
	int  Compare(char *ObjectStr,char *SourceStr,int Length);
	void DefaultParam();

//	以下私有属性存储导致车道软件直接退出的原因
	static char strErrorInfo[80];

//	以下私有属性用于存储车道参数及收费站下传的文件
	static char strLaneParam[PARAM_LENGTH];	//存储车道参数
	static char *strPlazaCode;				//存储站代码
	static char *strRMB;					//存储当前价格表		
	static char *strCollectList;			//存储操作员表
	static char *strBlackList;				//存储操作员黑名单表
	static char *strBlackCarList;			//存储车辆黑名单表	
	static char *strMonthCarList;			//存储月票车辆列表	
	static char *strFreeCarList;			//存储免征车辆列表
	static char *strDelayList;				//存储延迟表
	static char *strRMB_New;				//存储新价格表

#define	DELAY_AMBER					0		//报警灯点亮时间
#define DELAY_GO_TO_CLOSE			2		//车离开到关栏杆延迟
#define LEAVE_DELAY_LOOP			4		//检测线圈占用超时时间
#define DELAY_TICKET				6		//通行卡有效时间
#define PICTURE_DELAY_LOOP			8		//抓拍线圈站用超时时间


#define MAX_PLAZANAME_NUMBER		20		//最大允许20个站名
#define MAX_PLAZANAME				320		//每个站名最多允许16 byte
	static char strPlazaName[MAX_PLAZANAME];//存储收费站名称
	static BOOL bFileReadyFlag[FILE_NUMBER];//运行参数文件就绪标志
};

#endif // !defined(AFX_LANEINFO_H__45A05C82_47A4_4829_8B21_2ECFDC1A5C49__INCLUDED_)

⌨️ 快捷键说明

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