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