📄 dido.h
字号:
//---------------------------------------------------------------------------
#ifndef DIDOH
#define DIDOH
#include "TListtable.h"
//定义IODATA数据类型
#define IODATA_CARDDATA 1 //刷卡资料
#define IODATA_CARCOME 2 //车到
#define IODATA_CARGONE 3 //车走
//定义停车场指令
#define PARK_BARRUP 1 //人工抬闸
#define PARK_VALIDCARD 2 //有效卡片(抬闸)
#define PARK_COLLECTCARD 3 //请插卡回收
#define PARK_INVALIDCARD 4 //无效卡片
#define PARK_HAVEPARKIN 5 //此卡已在场
#define PARK_NOPARKIN 6 //此卡未入场
#define PARK_OVERDATE 7 //此卡已过期
#define PARK_OVERTIME 8 //此卡已超时
#define PARK_NOTPAID 9 //未交费
#define PARK_CARDLOSS 10 //此卡已挂失
#define PARK_CARDLOCK 11 //此卡已锁定
#define PARK_WAITING 12 //请等待
#define PARK_PARKFULL 13 //车位已满
#define PARK_PARKSURPLUS 14 //车位有余
#define PARK_BARRSTOP 15 //人工停闸
#define PARK_BARRDOWN 16 //人工落闸
#define PARK_RELAYON 17 //继电器闭合
#define PARK_RELAYOFF 18 //继电器断开
#define PARK_COMMERROR 19 //通讯错误
#define PARK_WARNON 20 //警报
#define PARK_WARNOFF 21 //解除警报
//定义控制器类型
#define CR_SY200NT 0 //SY200NT2
#define CR_ZKPARK 1 //中矿
//定义车道类型
#define ROADTYPE_IN 0 //进入
#define ROADTYPE_OUT 1 //外出
#define ROADTYPE_IO 2 //混合
//定义交费类型
#define PAID_NEVER 0 //"不收费"
#define PAID_NUMBER 1 //"按次收费"
#define PAID_PERIOD 2 //按时收费"
#define PAID_DAY 3 //"按日收费",
#define PAID_MONTH 4 //"按月收费"
#define PAID_QUARTER 5 //"按季收费"
#define PAID_YEAR 6 //"按年收费"
#define PAID_FOREVER 7 //"一次性收费"
//定义车道图像卡
#define ROADVIDEO_NONE 0
#define ROADVIDEO_SDK2000 1
#define ROADVIDEO_FLYVIDEO 2
//定义车道显示屏
#define ROADLED_NONE 0
#define ROADLED_ESSENCE 1
//定义车道图片处理方式
#define ROADPHOTO_NONE 0 //不捕捉图片
#define ROADPHOTO_OBTAIN 1 //简单获取
#define ROADPHOTO_MANUAL 2 //人工比对
#define ROADPHOTO_IDENTIFY 3 //车牌识别
//定义刷卡数据
typedef struct tagIODATA{
DWORD nCardNo; //卡号
DWORD nCardID; //内码
DWORD nCardHI; //内码高8位
DWORD nDate; //日期
DWORD nTime; //时间
WORD nCRNo; //控制器编号
WORD nRoadNo; //车道编号
BYTE nCRID; //控制器通讯ID
BYTE nReaderID; //读卡机通讯ID
void *pCR; //控制器(数据表中没有)
void *pRoad; //车道 (数据表中没有)
BYTE nDataType; //数据类型
BYTE nStatus; //状态
}IODATA, *PIODATA;
//定义用户帐号
typedef struct tagACCOUNT{
char szName[21]; //用户名
char szPassword[17];//用户密码
DWORD nLevel; //用户级别
DWORD nRight; //用户被允许的权限(每位对应一项)
}ACCOUNT,*PACCOUNT;
//顾客资料
typedef struct tagUSERDATA{
DWORD nCardNo; //卡号
DWORD nHolderNo; //持卡者编号
char szUserName[40];//车主名
char szCarTag[17]; //车牌
char szCarType[21]; //车型
char szCarColor[17];//车身颜色
BYTE nUserType; //用户类型
float fMoney; //帐上金额
char szPhone[17]; //联系电话
char szAddress[40]; //联系地址
DWORD nBeginDate; //生效日期
DWORD nEndDate; //截止日期
DWORD nPaidDate; //已扣款日期
int nStatus; //状态:Bit0=>已领用,Bit1=>暂停使用,
//Bit2=>已生效, Bit3=>已满期
void *pPhoto; //图象(包括图象大小)
char szRemark[40]; //备注
}USERDATA, *PUSERDATA;
//持卡者资料
typedef struct tagHOLDERDATA{
DWORD nHolderNo;
char szHolderName[25];
char szPassword[17];
int nStatus;
}HOLDERDATA,*PHOLDERDATA;
//停车场资料
typedef struct tagPARKDATA{
BYTE nParkNo; //停车场编号
char szName[25]; //停车场名称
int nSpace; //停车车位
int nUsed; //使用车位
}PARKDATA,*PPARKDATA;
//用户收费类型资料
typedef struct tagPRICEDATA{
BYTE nID; //用户类型编号
char szUserType[20]; //用户类型
BYTE nChargeType; //收费类型
float fPriceValue; //收费或最高收费限额
WORD nFirstTime; //首段收费时间
WORD nSecondTime; //次段收费时间
WORD nNeverTime; //不收费时间
float fFirstPrice; //首段收费
float fSecondPrice; //次段收费
float fNightPrice; //过夜收费
}PRICEDATA,*PPRICEDATA;
//车道
typedef struct tagROADWAY
{
WORD nNo; //车道编号
char szName[25]; //描述
BYTE nType; //车道类型:进入、外出、混合
BYTE nGroup; //车道组号
BYTE nAPB; //反潜回阶层
BYTE nReaderID;//读卡机通讯地址
BYTE nReaderType; //读卡机类型
WORD nCRNo; //所属控制器编号
BYTE nParkNo; //停车场编号
BYTE nPhotoDeal; //处理图片方式
BYTE nVideoID; //摄像机通道
BYTE nVideoType;//摄象机类型
BYTE nLEDType; //显示屏类型
DWORD nLEDNetID;//显示屏网络地址(IP或COM端口)
WORD nLEDIPPort; //显示屏IP网监听端口
int nStatus; //车道特性: Bit0=1 =>摄像
void *pPhoto; //捕捉到的车辆相片(数据表中不保存)
}ROADWAY,* PROADWAY;
//控制器
typedef struct tagCONTROLER
{
DWORD nCRNo; //控制器编号
char szName[25];
BYTE nType; //控制器型号
BYTE nAddrID; //通讯地址
DWORD nNetID; //网络地址(IP或COM端口)
WORD nIPPort; //IP网监听端口
BYTE nRoads; //车道数
WORD wzRoadNo[8]; //车道
char szHostName[20];//主机名
int nStatus; //Bit0=1=>暂停使用,Bit7=1=>待删除,Bit6=1=>Ethernet 网
int hHandle; //通讯句柄(数据表中不保存)
}CONTROLER,* PCONTROLER;
//定义卡片
typedef struct tagCARDDATA{
DWORD nCardNo; //卡片编号
DWORD nCardID; //卡片内码低8位
DWORD nCardHI; //卡片内码高8位
BYTE nType; //卡片类型
BYTE nPurpose; //用途(领用卡片时设定)
DWORD nHolderNo;//领用者编号
DWORD nBeginDate;//生效日期
DWORD nEndDate; //满期日期
int nStatus;//Bit0=>已领用,Bit1=>暂停使用,
//Bit2=>已生效, Bit3=>已满期
}CARDDATA,* PCARDDATA;
//停车记录资料
typedef struct tagPARKREC{
DWORD nCardNo; //卡号
DWORD nHolderNo; //持卡者编号
char szUserName[40];//车主名
char szCarTag[17]; //车牌
char szCarType[21]; //车型
char szCarColor[17];//车身颜色
BYTE nUserType; //用户类型
BYTE nChargeType; //收费类型
BYTE nParkNo; //停车场编号
DWORD nInTime; //进入时间
DWORD nInDate; //进入日期
WORD nInRoadNo; //进入车道
void *pInPhoto; //进入图象(包括图象大小)
DWORD nOutTime;
DWORD nOutDate;
WORD nOutRoadNo;
void *pOutPhoto; //外出图象(包括图象大小)
DWORD nParkTime; //停车时间(s)
float fParkPrice;//停车收费
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -