Эх сурвалжийг харах

#IQBX #comment 修复合并导致的问题

80374374 1 жил өмнө
parent
commit
3f47931d8c

+ 66 - 0
CMakeSettings.json

@@ -1,5 +1,71 @@
 {
   "configurations": [
+       {
+       "name": "x86-Debug",
+       "generator": "Visual Studio 16 2019",
+       "configurationType": "Debug",
+       "buildRoot": "${projectDir}\\out\\build\\${name}",
+       "installRoot": "${projectDir}\\out\\install\\${name}",
+       "cmakeCommandArgs": "-D BUILD_TESTING=ON -D BUILD_DEVADAPTER=ON",
+       "buildCommandArgs": "",
+       "ctestCommandArgs": "-C Debug",
+       "inheritEnvironments": [ "msvc_x86" ],
+       "variables": [
+         {
+           "name": "SIMULATE_ON",
+           "value": "False",
+           "type": "BOOL"
+         },
+         {
+           "name": "BUILD_DEVADAPTER",
+           "value": "True",
+           "type": "BOOL"
+         },
+         {
+           "name": "BUILD_SAMPLES",
+           "value": "False",
+           "type": "BOOL"
+         }
+       ]
+     },
+     {
+       "name": "x86-Release",
+       "generator": "Visual Studio 16 2019",
+       "configurationType": "Release",
+       "buildRoot": "${projectDir}\\out\\build\\${name}",
+       "installRoot": "${projectDir}\\out\\install\\${name}",
+       "cmakeCommandArgs": "-D BUILD_TESTING=OFF",
+       "buildCommandArgs": "",
+       "ctestCommandArgs": "-C Release",
+       "inheritEnvironments": [ "msvc_x86" ]
+     },
+     {
+       "name": "ARM64-GCC-Debug",
+       "generator": "Unix Makefiles",
+       "configurationType": "Debug",
+       "cmakeExecutable": "cmake",
+       "remoteCopySourcesExclusionList": [ ".vs", ".git", "out" ],
+       "cmakeCommandArgs": "-D BUILD_TESTING=OFF -D WITH_CI_NUMBER=OFF -D SIMULATE_ON=OFF -D BUILD_DEVADAPTER=ON",
+       "buildCommandArgs": "",
+       "ctestCommandArgs": "--output-on-failure",
+       "inheritEnvironments": [ "linux_arm" ],
+       "remoteMachineName": "${defaultRemoteMachineName}",
+       "remoteCMakeListsRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/src",
+       "remoteBuildRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/out/build/${name}",
+       "remoteInstallRoot": "$HOME/.vs/${projectDirName}/${workspaceHash}/out/install/${name}",
+       "remoteCopySources": true,
+       "rsyncCommandArgs": "-t --delete --delete-excluded --exclude \"/build\" --exclude \"/out\" --exclude-from=.gitignore",
+       "remoteCopyBuildOutput": false,
+       "remoteCopySourcesMethod": "rsync",
+       "addressSanitizerRuntimeFlags": "detect_leaks=0",
+       "variables": [
+         {
+           "name": "SIMULATE_ON",
+           "value": "False",
+           "type": "BOOL"
+         }
+       ]
+     },
     {
       "name": "ARM64-GCC-Release",
       "generator": "Unix Makefiles",

+ 8 - 8
DevAdapter/include/FingerPrintClass.h

@@ -17,21 +17,21 @@ public:
 	// Open Device
 	virtual ErrorCodeEnum DevOpen(DWORD dwPort, DWORD dwBaudRate) = 0;
 
-	//采集指纹图片及对应特征值,imagePath保存图片名,lpbFeature保存对应特征,iLength:输入代表特征lpbFeature最大可用长度,输出为特征lpbFeature实际长度
-	//imagePath为传入的图片名,采集到的指纹图像请按此名称保存在dep目录下,lpbFeature为对应指纹图像特征
+	//閲囬泦鎸囩汗鍥剧墖鍙婂�搴旂壒寰佸€�,imagePath淇濆瓨鍥剧墖鍚嶏紝lpbFeature淇濆瓨瀵瑰簲鐗瑰緛锛宨Length:杈撳叆浠h〃鐗瑰緛lpbFeature鏈€澶у彲鐢ㄩ暱搴�,杈撳嚭涓虹壒寰乴pbFeature瀹為檯闀垮害
+	//imagePath涓轰紶鍏ョ殑鍥剧墖鍚嶏紝閲囬泦鍒扮殑鎸囩汗鍥惧儚璇锋寜姝ゅ悕绉颁繚瀛樺湪dep鐩�綍涓嬶紝lpbFeature涓哄�搴旀寚绾瑰浘鍍忕壒寰�
 	//Compute features
 	virtual ErrorCodeEnum Image2Feature(const char* imageName, LPBYTE lpbFeature, int &iLength) = 0;
 
-	//生成特征模板(注册时使用)
-	//imagePath1、imagePath2、imagePath3表示生成特征需要输入的三张图片名称,由应用传入,lpbTemplate表示输出特征模板,iLength表示模板长度
+	//鐢熸垚鐗瑰緛妯℃澘锛堟敞鍐屾椂浣跨敤锛�
+	//imagePath1銆乮magePath2銆乮magePath3琛ㄧず鐢熸垚鐗瑰緛闇€瑕佽緭鍏ョ殑涓夊紶鍥剧墖鍚嶇О,鐢卞簲鐢ㄤ紶鍏ワ紝lpbTemplate琛ㄧず杈撳嚭鐗瑰緛妯℃澘锛宨Length琛ㄧず妯℃澘闀垮害
 	virtual ErrorCodeEnum Image2Template(const char* imagePath1, const char* imagePath2, const char* imagePath3, LPBYTE lpbTemplate, int &iLength) = 0;
 
-	//比对校验
-	//lpbTemplate和iTemplateLen分别表示输入的一组特征模板及其对应的长度,templateNum为数组长度(即模板个数)
-	//lbpFeature表示待校验的指纹特征,iFeatureLen表示其长度,level表示校验等级,默认取3
+	//姣斿�鏍¢獙
+	//lpbTemplate鍜宨TemplateLen鍒嗗埆琛ㄧず杈撳叆鐨勪竴缁勭壒寰佹ā鏉垮強鍏跺�搴旂殑闀垮害锛宼emplateNum涓烘暟缁勯暱搴�(鍗虫ā鏉夸釜鏁�)
+	//lbpFeature琛ㄧず寰呮牎楠岀殑鎸囩汗鐗瑰緛锛宨FeatureLen琛ㄧず鍏堕暱搴︼紝level琛ㄧず鏍¢獙绛夌骇锛岄粯璁ゅ彇3
 	virtual ErrorCodeEnum Match(LPBYTE lpbTemplate[], int iTemplateLen[] ,int templateNum, LPBYTE lbpFeature, int &iFeatureLen ,int level = 3) = 0;
 	
-	//取消采集指纹
+	//鍙栨秷閲囬泦鎸囩汗
 	virtual ErrorCodeEnum Cancel() = 0;
 };
 

+ 36 - 36
DevAdapter/include/HSPScannerClass.h

@@ -16,20 +16,20 @@
 enum ParamType
 {
 	/**Color model.*/
-	/**设置色彩*/
+	/**璁剧疆鑹插僵*/
 	HSPS_MODEL_COLOR,
 
 	/**Video rotate model.*/
-	/**设置拍摄角度,不带持续旋转的意义*/
+	/**璁剧疆鎷嶆憚瑙掑害锛屼笉甯︽寔缁�棆杞�殑鎰忎箟*/
 	HSPS_MODEL_ROTATE,
 
 	/**Scan type.*/
-	/**设置扫描图片尺寸*/
+	/**璁剧疆鎵�弿鍥剧墖灏哄�*/
 	HSPS_MODEL_SCANSIZE, 
 
 
 	/**Preview dialog view type.*/
-	/**设置预览窗口显示与否和显示的位置,预览活动窗口尺寸为16:9,*/
+	/**璁剧疆棰勮�绐楀彛鏄剧ず涓庡惁鍜屾樉绀虹殑浣嶇疆锛岄�瑙堟椿鍔ㄧ獥鍙e昂瀵镐负16:9锛�*/
 	HSPS_MODEL_VIEW
 
 };
@@ -41,35 +41,35 @@ enum ParamTypeValue
 	HSPS_BOOLVAL_TRUE,
 
 	/**for/set color model.*/
-	HSPS_COLOR_FULL,		// 彩色模式 default mod. 
-	HSPS_COLOR_GREY,		// 灰度模式 gray mode.	
+	HSPS_COLOR_FULL,		// 褰╄壊妯″紡 default mod. 
+	HSPS_COLOR_GREY,		// 鐏板害妯″紡 gray mode.	
 
 	/**for/set video rotate model.*/
-	HSPS_ROTATE_NOANGLE,	// 物理环境的上方为预览窗口的上方 Positive direction.
-	HSPS_ROTATE_LEFT,		// 物理环境的左侧为预览窗口的上方
-	HSPS_ROTATE_MIRROR,		// 物理环境的下方为预览窗口的上方 Opposite/Nagative direction.
-	HSPS_ROTATE_RIGHT,		// 物理环境的右侧为预览窗口的上方
+	HSPS_ROTATE_NOANGLE,	// 鐗╃悊鐜��鐨勪笂鏂逛负棰勮�绐楀彛鐨勪笂鏂� Positive direction.
+	HSPS_ROTATE_LEFT,		// 鐗╃悊鐜��鐨勫乏渚т负棰勮�绐楀彛鐨勪笂鏂�
+	HSPS_ROTATE_MIRROR,		// 鐗╃悊鐜��鐨勪笅鏂逛负棰勮�绐楀彛鐨勪笂鏂� Opposite/Nagative direction.
+	HSPS_ROTATE_RIGHT,		// 鐗╃悊鐜��鐨勫彸渚т负棰勮�绐楀彛鐨勪笂鏂�
 
 	/**for/set scan size.*/
-	HSPS_SCAN_FULL,			// 全画幅扫描
-	HSPS_SCAN_A4,			// A4尺寸扫描
-	HSPS_SCAN_IDCARD,		// 身份证尺寸扫描 
+	HSPS_SCAN_FULL,			// 鍏ㄧ敾骞呮壂鎻�
+	HSPS_SCAN_A4,			// A4灏哄�鎵�弿
+	HSPS_SCAN_IDCARD,		// 韬�唤璇佸昂瀵告壂鎻� 
 
 
 	
 
 	/**for/set dialog view type.*/
-	//宽的长度在第一次执行SetViewPos前使用 DEFAULT_DIALOG_WIDTH 的值,否则使用上一次执行SetViewPos成功时传送的值
-	HSPS_VIEW_HIDE,			// 隐藏预览窗口
-	HSPS_VIEW_SHOW,			// 显示预览窗口
+	//瀹界殑闀垮害鍦ㄧ�涓€娆℃墽琛孲etViewPos鍓嶄娇鐢� DEFAULT_DIALOG_WIDTH 鐨勫€硷紝鍚﹀垯浣跨敤涓婁竴娆℃墽琛孲etViewPos鎴愬姛鏃朵紶閫佺殑鍊�
+	HSPS_VIEW_HIDE,			// 闅愯棌棰勮�绐楀彛
+	HSPS_VIEW_SHOW,			// 鏄剧ず棰勮�绐楀彛
 
-	//  更新20161117:取消 HSPS_MODEL_VIEW 部分参数设置
+	//  鏇存柊20161117锛氬彇娑� HSPS_MODEL_VIEW 閮ㄥ垎鍙傛暟璁剧疆
 
-	//HSPS_VIEW_FULL,			// 副屏幕进行全屏显示
-	//HSPS_VIEW_CENTER,		// 中间显示
-	//HSPS_VIEW_LEFTTOP,		// 左上角显示
-	//HSPS_VIEW_RIGHTBOTTOM,	// 右下角显示
-	//HSPS_VIEW_CUSTOM		// 恢复上一次调用SetViewPos时显示的位置
+	//HSPS_VIEW_FULL,			// 鍓�睆骞曡繘琛屽叏灞忔樉绀�
+	//HSPS_VIEW_CENTER,		// 涓�棿鏄剧ず
+	//HSPS_VIEW_LEFTTOP,		// 宸︿笂瑙掓樉绀�
+	//HSPS_VIEW_RIGHTBOTTOM,	// 鍙充笅瑙掓樉绀�
+	//HSPS_VIEW_CUSTOM		// 鎭㈠�涓婁竴娆¤皟鐢⊿etViewPos鏃舵樉绀虹殑浣嶇疆
 };
 
 
@@ -78,18 +78,18 @@ struct HspsDevStatus
 {
 	//Indicate devic is connected or not.
 	//which 1 means connected and 0 means disconnected, others is undefined.
-	//高拍仪连接状态:1 表示已连接,0 表示未连接
+	//楂樻媿浠�繛鎺ョ姸鎬侊細1 琛ㄧず宸茶繛鎺ワ紝0 琛ㄧず鏈�繛鎺�
 	short isConnected;
 
 	//Indicate device is previewing or not. 
 	//which 1 means inPreview and 0 means outPreview, others is undefined.
-	//窗口预览状态:1 表示处于预览状态,0 表示预览关闭状态
+	//绐楀彛棰勮�鐘舵€侊細1 琛ㄧず澶勪簬棰勮�鐘舵€侊紝0 琛ㄧず棰勮�鍏抽棴鐘舵€�
 	short inPreview;
 
 	//Indicate the dlg is showing or not.
 	//which !0 means show and 0 means hide status.
-	//窗口显示状态:1 表示窗口处于显示状态,0表示窗口处于隐藏状态
-	//窗口处于显示状态时,必须能处于预览的状态 --这句无效!!!!
+	//绐楀彛鏄剧ず鐘舵€侊細1 琛ㄧず绐楀彛澶勪簬鏄剧ず鐘舵€侊紝0琛ㄧず绐楀彛澶勪簬闅愯棌鐘舵€�
+	//绐楀彛澶勪簬鏄剧ず鐘舵€佹椂锛屽繀椤昏兘澶勪簬棰勮�鐨勭姸鎬� --杩欏彞鏃犳晥锛侊紒锛侊紒
 	short inShow;
 };
 
@@ -100,7 +100,7 @@ public:
 	//
 	//	Device initialization.
 	//	Connect to High speed portable scanner.
-	//	更新20161117:只做设备连接操作,不显示窗口
+	//	鏇存柊20161117锛氬彧鍋氳�澶囪繛鎺ユ搷浣滐紝涓嶆樉绀虹獥鍙�
 	//
 	virtual ErrorCodeEnum DevOpen() = 0;
 
@@ -115,8 +115,8 @@ public:
 	//	If the device' state had been setted before what the nValue commanded, ignore it and
 	//		return Error_Succeed.
 	//	The function returns only the specified behavior is done completely, StartPreview in special.
-	//  更新20161117: nValue值为 1 时打开预览,确保当前打开预览过程执行结束且窗口处于显示状态才返回Error_Succeed,
-	//	nValue值为 0 时关闭预览并隐藏窗口
+	//  鏇存柊20161117锛� nValue鍊间负 1 鏃舵墦寮€棰勮�锛岀‘淇濆綋鍓嶆墦寮€棰勮�杩囩▼鎵ц�缁撴潫涓旂獥鍙e�浜庢樉绀虹姸鎬佹墠杩斿洖Error_Succeed,
+	//	nValue鍊间负 0 鏃跺叧闂��瑙堝苟闅愯棌绐楀彛
 	//		
 	//
 	virtual ErrorCodeEnum SetPreview(short nValue) = 0;
@@ -125,22 +125,22 @@ public:
 	//	Scan Image from device and store the image.
 	//	-pszFileName[in] Store the path and name using suffix ".jpg"
 	//		specifies that where the image will be located and what it would be named.
-	//	拍摄照片,传入的文件名已带绝对路径,无需再进行拼接处理
+	//	鎷嶆憚鐓х墖锛屼紶鍏ョ殑鏂囦欢鍚嶅凡甯︾粷瀵硅矾寰勶紝鏃犻渶鍐嶈繘琛屾嫾鎺ュ�鐞�
 	//
 	virtual ErrorCodeEnum ScanImage(const char* pszFileName) = 0;
 
 	//
 	//	Scan Image from device and return the image data in byte format.
 	//	-pBtImg[out] The buffer used to store the scanned image data.
-	//		存储图片字节流的缓冲区,大小为 nBtLen 字节
+	//		瀛樺偍鍥剧墖瀛楄妭娴佺殑缂撳啿鍖猴紝澶у皬涓� nBtLen 瀛楄妭
 	//	-nBtLen[in,out] Indicate the max byte-type size of pBtImg could be stored 
 	//		and Store the real byte-type size of pBtImg had used when returned.
 	//		when detect value of nBtLen is 0 or smaller that necessary size, please
 	//		set nBtlen with real byte-type size and return Error_TooSmallBuffer.
-	//		如果nBtLen指定的字节数过小,那么对nBtLen赋值实际所需的大小并返回 Error_TooSmallBuffer,此操作仅允许一次
+	//		濡傛灉nBtLen鎸囧畾鐨勫瓧鑺傛暟杩囧皬锛岄偅涔堝�nBtLen璧嬪€煎疄闄呮墍闇€鐨勫ぇ灏忓苟杩斿洖 Error_TooSmallBuffer锛屾�鎿嶄綔浠呭厑璁镐竴娆�
 	//	-pszFileName[in] Store the path and name where the image file should be located
 	//		while "" indicates that the image file shouldn't be stored at locate.
-	//		文件名长度为零表示不在本地生成图片文件
+	//		鏂囦欢鍚嶉暱搴︿负闆惰〃绀轰笉鍦ㄦ湰鍦扮敓鎴愬浘鐗囨枃浠�
 	//  
 	//
 	virtual ErrorCodeEnum ScanImageEx(BYTE* pBtImg,  int& nBtLen, const char* pszFileName = "") = 0;
@@ -150,14 +150,14 @@ public:
 	//	-nX[in] The X coordinate of leftTop point.
 	//  -nY[in] The Y coordinate of leftTop point.
 	//	-nWidth[in] The Width of Preview Dialog .
-	//	传入预览窗口显示的坐标,左上角的横坐标nX,左上角的纵坐标nY,以及预览窗口的宽,宽与高的比例为 16:9
+	//	浼犲叆棰勮�绐楀彛鏄剧ず鐨勫潗鏍囷紝宸︿笂瑙掔殑妯�潗鏍噉X锛屽乏涓婅�鐨勭旱鍧愭爣nY锛屼互鍙婇�瑙堢獥鍙g殑瀹斤紝瀹戒笌楂樼殑姣斾緥涓� 16:9
 	//
 	virtual ErrorCodeEnum SetViewPos(int nX, int nY, int nWidth) = 0;
 
 	//
 	//	Show property dialog of HSPS of LiangTian.
-	//	If there is no property dialog function, ignore it and return Error_NotImpl(更新20161117).
-	//  更新20161117:用于打开良田高拍仪设备的设置属性页,可能用不到
+	//	If there is no property dialog function, ignore it and return Error_NotImpl(鏇存柊20161117).
+	//  鏇存柊20161117锛氱敤浜庢墦寮€鑹�敯楂樻媿浠��澶囩殑璁剧疆灞炴€ч〉锛屽彲鑳界敤涓嶅埌
 	//
 	virtual ErrorCodeEnum SetProperty() = 0;
 

+ 59 - 59
DevAdapter/include/IDCerClass.h

@@ -15,8 +15,8 @@ const int MAX_IDCER_SIMPLE_INFO_SIZE = 32;
 const int MAX_IDCER_INFO_SIZE = 128;
 const int MAX_IDCER_PHOTO_PATH = 260;
 
-//二代身份证信息结构(需要支持外国人永久居留证请使用IDCerInfoEx)
-//请务必按照各字段指定格式返回数据
+//浜屼唬韬�唤璇佷俊鎭�粨鏋勶紙闇€瑕佹敮鎸佸�鍥戒汉姘镐箙灞呯暀璇佽�浣跨敤IDCerInfoEx锛�
+//璇峰姟蹇呮寜鐓у悇瀛楁�鎸囧畾鏍煎紡杩斿洖鏁版嵁
 struct IDCerInfo
 {
 	struct Name{
@@ -28,7 +28,7 @@ struct IDCerInfo
 	struct Nation{
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;}nation;
-	struct Birthday{//format:1986年10月07日
+	struct Birthday{//format:1986骞�10鏈�07鏃�
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;}birthday;
 	struct Address{
@@ -54,47 +54,47 @@ struct IDCerInfo
 		DWORD dwSize;}photoPath;
 };
 
-//二代证信息结构(支持外国人永久居留证)
-//请务必按照各字段指定格式返回数据
+//浜屼唬璇佷俊鎭�粨鏋勶紙鏀�寔澶栧浗浜烘案涔呭眳鐣欒瘉锛�
+//璇峰姟蹇呮寜鐓у悇瀛楁�鎸囧畾鏍煎紡杩斿洖鏁版嵁
 struct IDCerInfoEx
 {
-	struct Name{//中文姓名
+	struct Name{//涓�枃濮撳悕
 		CHAR data[MAX_IDCER_INFO_SIZE];
 		DWORD dwSize;
 	}name;
-	struct Sex{//性别
+	struct Sex{//鎬у埆
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;
 	}sex;
-	struct Nation{//民族(二代证专用)
+	struct Nation{//姘戞棌锛堜簩浠h瘉涓撶敤锛�
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;
 	}nation;
-	struct Birthday{//出生日期,格式:1986年10月07日
+	struct Birthday{//鍑虹敓鏃ユ湡锛屾牸寮�:1986骞�10鏈�07鏃�
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;
 	}birthday;
-	struct Address{//住址(二代证专用)
+	struct Address{//浣忓潃锛堜簩浠h瘉涓撶敤锛�
 		CHAR data[MAX_IDCER_INFO_SIZE];
 		DWORD dwSize;
 	}address;
-	struct Idno{//证件号码,二代证指身份证号,外国人指永久居留证号
+	struct Idno{//璇佷欢鍙风爜锛屼簩浠h瘉鎸囪韩浠借瘉鍙凤紝澶栧浗浜烘寚姘镐箙灞呯暀璇佸彿
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;
 	}idno;
-	struct Department{//二代证指签发机关,外国人指当次申请受理机关代码
+	struct Department{//浜屼唬璇佹寚绛惧彂鏈哄叧锛屽�鍥戒汉鎸囧綋娆$敵璇峰彈鐞嗘満鍏充唬鐮�
 		CHAR data[MAX_IDCER_INFO_SIZE];
 		DWORD dwSize;
 	}department;
-	struct StartDate{//有效期起始日(签发日)格式:2010.08.09
+	struct StartDate{//鏈夋晥鏈熻捣濮嬫棩锛堢�鍙戞棩锛夋牸寮�:2010.08.09
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;
 	}startDate;
-	struct EndDate{	//有效期截止日(终止日)格式:2020.08.09
+	struct EndDate{	//鏈夋晥鏈熸埅姝㈡棩锛堢粓姝㈡棩锛夋牸寮�:2020.08.09
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;
 	}endDate;
-	struct NewAddress{//最新地址,二代证专用
+	struct NewAddress{//鏈€鏂板湴鍧€锛屼簩浠h瘉涓撶敤
 		CHAR data[MAX_IDCER_INFO_SIZE];
 		DWORD dwSize;
 	}newAddress;
@@ -102,47 +102,47 @@ struct IDCerInfoEx
 		CHAR data[MAX_IDCER_PHOTO_PATH];
 		DWORD dwSize;
 	}photoPath;
-	struct EnglishName{//英文姓名,外国人专用
+	struct EnglishName{//鑻辨枃濮撳悕锛屽�鍥戒汉涓撶敤
 		CHAR data[MAX_IDCER_INFO_SIZE];
 		DWORD dwSize;
 	}englishName;
-	struct Nationality{//国籍或地区代码,外国人专用
+	struct Nationality{//鍥界睄鎴栧湴鍖轰唬鐮侊紝澶栧浗浜轰笓鐢�
 		CHAR data[IDCER_EIGHT_BYTE_SIZE];
 		DWORD dwSize;
 	}nationality;
-	struct IdVersion{//证件版本号,外国人专用
+	struct IdVersion{//璇佷欢鐗堟湰鍙凤紝澶栧浗浜轰笓鐢�
 		CHAR data[IDCER_EIGHT_BYTE_SIZE];
 		DWORD dwSize;
 	}idVersion;
-	struct IdType{//证件类型标识,外国人取值'I',二代证为空
+	struct IdType{//璇佷欢绫诲瀷鏍囪瘑锛屽�鍥戒汉鍙栧€�'I'锛屼簩浠h瘉涓虹┖
 		CHAR data[IDCER_EIGHT_BYTE_SIZE];
 		DWORD dwSize;
 	}idType;
-	struct Reserved{//保留字段,外国人专用
+	struct Reserved{//淇濈暀瀛楁�锛屽�鍥戒汉涓撶敤
 		CHAR data[IDCER_EIGHT_BYTE_SIZE];
 		DWORD dwSize;
 	}reserved;
-	struct TXZCode{//通行证号码(港澳台居住证)
+	struct TXZCode{//閫氳�璇佸彿鐮侊紙娓�境鍙板眳浣忚瘉锛�
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;
 	}txzCode;
-	struct IssuedSN{//签发次数(港澳台居住证)
+	struct IssuedSN{//绛惧彂娆℃暟锛堟腐婢冲彴灞呬綇璇侊級
 		CHAR data[IDCER_EIGHT_BYTE_SIZE];
 		DWORD dwSize;
 	}issuedSN;
-	struct Reserved2{//备用2(港澳台居住证)
+	struct Reserved2{//澶囩敤2锛堟腐婢冲彴灞呬綇璇侊級
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;
 	}reserved2;
-	struct Reserved3{//备用3(港澳台居住证)
+	struct Reserved3{//澶囩敤3锛堟腐婢冲彴灞呬綇璇侊級
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;
 	}reserved3;
-	struct Reserved4{//备用4(港澳台居住证)
+	struct Reserved4{//澶囩敤4锛堟腐婢冲彴灞呬綇璇侊級
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;
 	}reserved4;
-	struct Reserved5{//备用5(港澳台居住证)
+	struct Reserved5{//澶囩敤5锛堟腐婢冲彴灞呬綇璇侊級
 		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
 		DWORD dwSize;
 	}reserved5;				
@@ -150,43 +150,43 @@ struct IDCerInfoEx
 
  struct IDCerInfoEx2
  {
- 	struct Name {//中文姓名
+ 	struct Name {//涓�枃濮撳悕
  		CHAR data[MAX_IDCER_INFO_SIZE];
  		DWORD dwSize;
  	}name;
- 	struct Sex {//性别
+ 	struct Sex {//鎬у埆
  		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
  		DWORD dwSize;
  	}sex;
- 	struct Nation {//民族(二代证专用)
+ 	struct Nation {//姘戞棌锛堜簩浠h瘉涓撶敤锛�
  		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
  		DWORD dwSize;
  	}nation;
- 	struct Birthday {//出生日期,原始格式:19861007
+ 	struct Birthday {//鍑虹敓鏃ユ湡锛屽師濮嬫牸寮�:19861007
  		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
  		DWORD dwSize;
  	}birthday;
- 	struct Address {//住址(二代证专用)
+ 	struct Address {//浣忓潃锛堜簩浠h瘉涓撶敤锛�
  		CHAR data[MAX_IDCER_INFO_SIZE];
  		DWORD dwSize;
  	}address;
- 	struct Idno {//证件号码,二代证指身份证号,外国人指永久居留证号
- 		CHAR data[2 * MAX_IDCER_SIMPLE_INFO_SIZE]; //拓展至64字节
+ 	struct Idno {//璇佷欢鍙风爜锛屼簩浠h瘉鎸囪韩浠借瘉鍙凤紝澶栧浗浜烘寚姘镐箙灞呯暀璇佸彿
+ 		CHAR data[2 * MAX_IDCER_SIMPLE_INFO_SIZE]; //鎷撳睍鑷�64瀛楄妭
  		DWORD dwSize;
  	}idno;
- 	struct Department {//二代证指签发机关,外国人指当次申请受理机关代码
+ 	struct Department {//浜屼唬璇佹寚绛惧彂鏈哄叧锛屽�鍥戒汉鎸囧綋娆$敵璇峰彈鐞嗘満鍏充唬鐮�
  		CHAR data[MAX_IDCER_INFO_SIZE];
  		DWORD dwSize;
  	}department;
- 	struct StartDate {//有效期起始日(签发日)原始格式:20200809
+ 	struct StartDate {//鏈夋晥鏈熻捣濮嬫棩锛堢�鍙戞棩锛夊師濮嬫牸寮忥細20200809
  		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
  		DWORD dwSize;
  	}startDate;
- 	struct EndDate {//有效期截止日(终止日)原始格式:20200809
+ 	struct EndDate {//鏈夋晥鏈熸埅姝㈡棩锛堢粓姝㈡棩锛夊師濮嬫牸寮忥細20200809
  		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
  		DWORD dwSize;
  	}endDate;
- 	struct NewAddress {//最新地址,二代证专用
+ 	struct NewAddress {//鏈€鏂板湴鍧€锛屼簩浠h瘉涓撶敤
  		CHAR data[MAX_IDCER_INFO_SIZE];
  		DWORD dwSize;
  	}newAddress;
@@ -194,47 +194,47 @@ struct IDCerInfoEx
  		CHAR data[MAX_IDCER_PHOTO_PATH];
  		DWORD dwSize;
  	}photoPath;
- 	struct EnglishName {//英文姓名,外国人专用
+ 	struct EnglishName {//鑻辨枃濮撳悕锛屽�鍥戒汉涓撶敤
  		CHAR data[MAX_IDCER_INFO_SIZE];
  		DWORD dwSize;
  	}englishName;
- 	struct Nationality {//国籍或地区代码,外国人专用
+ 	struct Nationality {//鍥界睄鎴栧湴鍖轰唬鐮侊紝澶栧浗浜轰笓鐢�
  		CHAR data[IDCER_EIGHT_BYTE_SIZE];
  		DWORD dwSize;
  	}nationality;
- 	struct IdVersion {//证件版本号,外国人专用
+ 	struct IdVersion {//璇佷欢鐗堟湰鍙凤紝澶栧浗浜轰笓鐢�
  		CHAR data[IDCER_EIGHT_BYTE_SIZE];
  		DWORD dwSize;
  	}idVersion;
- 	struct IdType {//证件类型标识,外国人取值'I',二代证为空
+ 	struct IdType {//璇佷欢绫诲瀷鏍囪瘑锛屽�鍥戒汉鍙栧€�'I'锛屼簩浠h瘉涓虹┖
  		CHAR data[IDCER_EIGHT_BYTE_SIZE];
  		DWORD dwSize;
  	}idType;
- 	struct Reserved {//保留字段,外国人专用
+ 	struct Reserved {//淇濈暀瀛楁�锛屽�鍥戒汉涓撶敤
  		CHAR data[IDCER_EIGHT_BYTE_SIZE];
  		DWORD dwSize;
  	}reserved;
- 	struct TXZCode {//通行证号码(港澳台居住证)
+ 	struct TXZCode {//閫氳�璇佸彿鐮侊紙娓�境鍙板眳浣忚瘉锛�
  		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
  		DWORD dwSize;
  	}txzCode;
- 	struct IssuedSN {//签发次数(港澳台居住证)
+ 	struct IssuedSN {//绛惧彂娆℃暟锛堟腐婢冲彴灞呬綇璇侊級
  		CHAR data[IDCER_EIGHT_BYTE_SIZE];
  		DWORD dwSize;
  	}issuedSN;
- 	struct Reserved2 {//备用2(港澳台居住证)
+ 	struct Reserved2 {//澶囩敤2锛堟腐婢冲彴灞呬綇璇侊級
  		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
  		DWORD dwSize;
  	}reserved2;
- 	struct Reserved3 {//备用3(港澳台居住证)
+ 	struct Reserved3 {//澶囩敤3锛堟腐婢冲彴灞呬綇璇侊級
  		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
  		DWORD dwSize;
  	}reserved3;
- 	struct Reserved4 {//备用4(港澳台居住证)
+ 	struct Reserved4 {//澶囩敤4锛堟腐婢冲彴灞呬綇璇侊級
  		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
  		DWORD dwSize;
  	}reserved4;
- 	struct Reserved5 {//备用5(港澳台居住证)
+ 	struct Reserved5 {//澶囩敤5锛堟腐婢冲彴灞呬綇璇侊級
  		CHAR data[MAX_IDCER_SIMPLE_INFO_SIZE];
  		DWORD dwSize;
  	}reserved5;
@@ -253,7 +253,7 @@ public:
 	//	Open or close RF. 
 	//	Arguments:
 	//	- bControl:true:open RF,false close RF
-	//	-	对于吸入式,为true接收身份证插入,为false时弹出身份证并关闭接收身份证插入
+	//	-	瀵逛簬鍚稿叆寮忥紝涓簍rue鎺ユ敹韬�唤璇佹彃鍏ワ紝涓篺alse鏃跺脊鍑鸿韩浠借瘉骞跺叧闂�帴鏀惰韩浠借瘉鎻掑叆
 	//
 	virtual ErrorCodeEnum IDCerRFControl(bool bControl) = 0;
 	//
@@ -261,30 +261,30 @@ public:
 	//	Certificate authentication.
 	//
 	virtual ErrorCodeEnum IDCerAuthenticate() = 0;
-	//  即将废弃,请使用IDCerGetDataEx
+	//  鍗冲皢搴熷純锛岃�浣跨敤IDCerGetDataEx
 	//	Get Identity Card info.
 	//
 	virtual ErrorCodeEnum IDCerGetData(IDCerInfo &idCerInfo) { return Error_NotImpl; }
-	//  获取证件信息,包括二代身份证、外国人永久居留证
+	//  鑾峰彇璇佷欢淇℃伅锛屽寘鎷�簩浠h韩浠借瘉銆佸�鍥戒汉姘镐箙灞呯暀璇�
 	//	Get Identity Card info.
 	//
 	virtual ErrorCodeEnum IDCerGetDataEx(IDCerInfoEx &idCerInfoEx){return Error_NotImpl;}
-	//	强制弹出身份证等证件
-	//	Force ID Card to eject
+	//	寮哄埗寮瑰嚭韬�唤璇佺瓑璇佷欢
+	//	Force ID Card to eject銆�
 	//
 	virtual ErrorCodeEnum ForceIDEject(){return Error_NotImpl;}
-	//	扫描证件并保留扫描文件到默认路径(dep目录下),证件正面使用“idfront.bmp”,证件反面使用“idback.bmp”
-	//	Scan ID Card and save the image to the position(dep/),using default name "idfront.bmp" and "idback.bmp"
+	//	鎵�弿璇佷欢骞朵繚鐣欐壂鎻忔枃浠跺埌榛樿�璺�緞锛坉ep鐩�綍涓嬶級锛岃瘉浠舵�闈�娇鐢ㄢ€渋dfront.bmp鈥�,璇佷欢鍙嶉潰浣跨敤鈥渋dback.bmp鈥�
+	//	Scan ID Card and save the image to the position(dep/),using default name "idfront.bmp" and "idback.bmp"銆�
 	//
 	virtual ErrorCodeEnum ScanIDAndSaveImage(){return Error_NotImpl;}
-	//	获取卡片是否插入或者取走
-	//	Query if ID Card have been inserted or fetched
+	//	鑾峰彇鍗$墖鏄�惁鎻掑叆鎴栬€呭彇璧�
+	//	Query if ID Card have been inserted or fetched銆�
 	//	pos:
-	//		-- 0,未检测到任何证件;1,证件在读卡器内部;2,证件在进卡口
+	//		-- 0锛屾湭妫€娴嬪埌浠讳綍璇佷欢锛�1锛岃瘉浠跺湪璇诲崱鍣ㄥ唴閮�紱2锛岃瘉浠跺湪杩涘崱鍙�
 	//
 	virtual ErrorCodeEnum QueryCardPos(int &pos){return Error_NotImpl;}
 
-	//该接口传回身份证原始UCS2编码文字信息,厂商不必进行编码转换
+	//璇ユ帴鍙d紶鍥炶韩浠借瘉鍘熷�UCS2缂栫爜鏂囧瓧淇℃伅锛屽巶鍟嗕笉蹇呰繘琛岀紪鐮佽浆鎹�
 	virtual ErrorCodeEnum IDCerGetDataEx2(IDCerInfoEx2& idCerInfoEx2) { return Error_NotImpl; }   
 };
 

+ 0 - 5
Module/mod_CardIssuerStand/CardIssuerFSM.h

@@ -13,12 +13,7 @@
 #include "CardAssist.h"
 #include "ICDataElement.h"
 #include "IHttpFunc.h"
-//#include "publicFunExport.h"
-#ifdef RVC_OS_WIN
-#include "json.h"
-#else
 #include "json/json.h"
-#endif //RVC_OS_WIN
 #define REFLECTION(var) #var
 using namespace CardIssuer;
 //using namespace GUIConsole;

+ 17 - 15
Module/mod_chromium/mod_chromium.h

@@ -35,12 +35,14 @@
 
 
 #pragma once
-namespace Chromium {
+namespace Chromium
+{
 
-	#define BROWSER_TIMER_ID 0xF002
-	#define BROWSER_TIMER_INTERVAL 3600000
+#define BROWSER_TIMER_ID 0xF002
+#define BROWSER_TIMER_INTERVAL 3600000
 
-	typedef struct {
+	typedef struct
+	{
 		std::string key;
 		std::string value;
 		std::string oldValue;
@@ -74,12 +76,12 @@ namespace Chromium {
 #endif
 		virtual bool IsService()const { return true; }
 
-        virtual CServerSessionBase* OnNewSession(const char* /*pszRemoteEntityName*/, const char* /*pszParam*/)
-        {
-            return new ChromiumSession(this);
-        }
+		virtual CServerSessionBase* OnNewSession(const char* /*pszRemoteEntityName*/, const char* /*pszParam*/)
+		{
+			return new ChromiumSession(this);
+		}
 
-        void OpenBrowser(SpReqAnsContext<ChromiumSrv_OpenBrowser_Req, ChromiumSrv_OpenBrowser_Ans>::Pointer ctx);
+		void OpenBrowser(SpReqAnsContext<ChromiumSrv_OpenBrowser_Req, ChromiumSrv_OpenBrowser_Ans>::Pointer ctx);
 		void CloseBrowser(SpReqAnsContext<ChromiumSrv_CloseBrowser_Req, ChromiumSrv_CloseBrowser_Ans>::Pointer ctx);
 
 
@@ -93,7 +95,7 @@ namespace Chromium {
 		const char* GetCustomMainUrl()  const { return m_strCustomMainUrl; }
 		bool HasCustomAdUrl() const { return !m_strCustomAdUrl.IsNullOrEmpty(); }
 		const char* GetCustomAdUrl()  const { return m_strCustomAdUrl; }
-		bool IsConfigMode() 
+		bool IsConfigMode()
 		{
 #if (defined _WIN32 || defined _WIN64)
 			return false;
@@ -149,10 +151,10 @@ namespace Chromium {
 		int getBrowserStartTimes();
 	private:
 		//subscribe
-		CUUID m_uidCameraListener, m_uuidAccessAuth, m_uuidResourceWatch,m_uidBrowserListenser, m_uuidAccessAuthErr, m_uuidAllFault, m_uuidVTMLoader;
-        virtual void OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nLogID, const LogTypeEnum eLogType, const SeverityLevelEnum eLevel,
-                           const DWORD dwSysError, const DWORD dwUserCode, const DWORD dwEntityInstanceID, const WORD wEntityDevelID,
-                           const CAutoArray<DWORD>& Param, const char* pszEntityName, const char* pszModuleName, const char* pszMessage, const linkContext& pLinkInfo);
+		CUUID m_uidCameraListener, m_uuidAccessAuth, m_uuidResourceWatch, m_uidBrowserListenser, m_uuidAccessAuthErr, m_uuidAllFault, m_uuidVTMLoader;
+		virtual void OnLog(const CAutoArray<CUUID>& SubIDs, const CUUID nLogID, const LogTypeEnum eLogType, const SeverityLevelEnum eLevel,
+			const DWORD dwSysError, const DWORD dwUserCode, const DWORD dwEntityInstanceID, const WORD wEntityDevelID,
+			const CAutoArray<DWORD>& Param, const char* pszEntityName, const char* pszModuleName, const char* pszMessage, const linkContext& pLinkInfo);
 
 
 		virtual void OnSysVarEvent(const char* pszKey, const char* pszValue, const char* pszOldValue, const char* pszEntityName);
@@ -178,7 +180,7 @@ namespace Chromium {
 			//SP_MSG_HANDLE_NS(HealthManager, TradeManage, OnTradeManage)
 			//SP_MSG_HANDLE_NS_EX(HealthManager, TerminalManager, HealthManager::TerminalManager, OnTerminalManage)
 			//SP_END_ENTITY_MSG()
-		SP_END_MSG_DISPATCH_MAP()
+			SP_END_MSG_DISPATCH_MAP()
 
 	};
 

+ 98 - 98
Other/libCMBPrint/CARD-v4.HPP

@@ -353,20 +353,20 @@ typedef struct IC_TRACK0
 	char stringEnd;
 } ic_track_0;
 
-typedef struct NEW_TRACK2   //9555银联卡
+typedef struct NEW_TRACK2   //9555閾惰仈鍗�
 {
 //	char start;             // ;
 	char masterAccount[16];
 	char separator1;		// '
 	char expireDate[4];     // * 9912->4912
 	char serviceCode[3];    // 220->120
-	char appendData[13];    // SVCD(6) +卡顺号(1) +CVC(3)+'000'
+	char appendData[13];    // SVCD(6) +鍗¢『鍙�(1) +CVC(3)+'000'
 //	char endFlag;           // ?
 //  char LRC;
 	char stringEnd;
 } new_track_2;
 
-typedef struct NEW1_TRACK2	// 6字头银联卡
+typedef struct NEW1_TRACK2	// 6瀛楀ご閾惰仈鍗�
 {
 //	char start;             // ;
 	char masterAccount[16]; //*
@@ -374,27 +374,27 @@ typedef struct NEW1_TRACK2	// 6
 	char expireDate[4];     // * 9912->4912
 	char serviceCode[3];    // 101->120
 	char localCheckMessage[5];	//	12345	PVKI(1) + PVV(4)
-	char appendData[8];    //*	随机数(2)+ CVV(3) + 随机数(3)
+	char appendData[8];    //*	闅忔満鏁帮紙2锛�+ CVV锛�3锛� + 闅忔満鏁帮紙3锛�
 //	char endFlag;           // ?
 //  char LRC;
 	char stringEnd;
 } new1_track_2;
 
-typedef struct IC_TRACK2	// 6字头IC卡, zhanglei, 2010.09.19
+typedef struct IC_TRACK2	// 6瀛楀ごIC鍗�, zhanglei, 2010.09.19
 {
 //	char start;             // ;
-	char masterAccount[19]; //* 帐号长度与NEW1_TRACK2不同,localCheckMessage和appendData调整
+	char masterAccount[19]; //* 甯愬彿闀垮害涓嶯EW1_TRACK2涓嶅悓锛宭ocalCheckMessage鍜宎ppendData璋冩暣
 	char separator1;		// '
 	char expireDate[4];     // * 9912->4912
 	char serviceCode[3];    // 101->120
 	char localCheckMessage[3];	//	12345	PVKI(1) + PVV(4)
-	char appendData[7];    //*	随机数(2)+ CVV(3) + 随机数(3)
+	char appendData[7];    //*	闅忔満鏁帮紙2锛�+ CVV锛�3锛� + 闅忔満鏁帮紙3锛�
 //	char endFlag;           // ?
 //  char LRC;
 	char stringEnd;
 } ic_track_2;
 
-typedef struct HK_TRACK0	//Lint	香港两地通	2003-1-6 16:16
+typedef struct HK_TRACK0	//Lint	棣欐腐涓ゅ湴閫�	2003-1-6 16:16
 {
 	char masterAccount[16];
 	char cardSerial;
@@ -402,12 +402,12 @@ typedef struct HK_TRACK0	//Lint	
 	char oldRGCD[4];
 	char expireDate[4];
 	char language;
-    char PIN;					//*	PIN校验位
-    char PINOffset[5];			//*	PIN偏移量
+    char PIN;					//*	PIN鏍¢獙浣�
+    char PINOffset[5];			//*	PIN鍋忕Щ閲�
 	char stringEnd;
 } hk_track_0;
 
-typedef struct HK_TRACK2	//Lint	香港一卡通	2002-11-25 16:53
+typedef struct HK_TRACK2	//Lint	棣欐腐涓€鍗¢€�	2002-11-25 16:53
 {
 //	char start;             // ;
 	char masterAccount[16]; //*
@@ -415,12 +415,12 @@ typedef struct HK_TRACK2	//Lint	
 	char expireDate[4];     // *
 	char serviceCode[3];    // 101
 	char localCheckMessage[5];	//	12345	PVKI(1) + PVV(4)
-	char appendData[8];    //*	随机数(2)+ CVV(3) + 随机数(3)
+	char appendData[8];    //*	闅忔満鏁帮紙2锛�+ CVV锛�3锛� + 闅忔満鏁帮紙3锛�
 //	char endFlag;           // ?
 //  char LRC;
 	char stringEnd;
 } hk_track_2;
-//extern const char defHKTrack2[];	//香港一卡通	2002-11-25 17:03
+//extern const char defHKTrack2[];	//棣欐腐涓€鍗¢€�	2002-11-25 17:03
 //extern const char defNewTrack2[];
 
 typedef struct NEW_TRACK3
@@ -445,24 +445,24 @@ typedef struct NEW_TRACK3
 	char expireDate[4];       // * 9912->4912
 	char cardSerial;
 	char separator2;		// '
-    char SAN1[10];          // (新)内部客户号:分行(3)+客户号(6)+校验(1)
+    char SAN1[10];          // (鏂�)鍐呴儴瀹㈡埛鍙凤細鍒嗚�(3)+瀹㈡埛鍙�(6)+鏍¢獙(1)
 	char separator3;		// '
-    char SAN2[9];           // * 卡凭证号(8)+校验(1) 
+    char SAN2[9];           // * 鍗″嚟璇佸彿(8)+鏍¢獙(1) 
 	char separator4;		// '
     char transferFlag;      // 0
-	char checkNum[6];       // 加密校验数
-	char appendData[16];    // * (旧)分行号(4)+客户号(8)+校验(1)+'000'
+	char checkNum[6];       // 鍔犲瘑鏍¢獙鏁�
+	char appendData[16];    // * (鏃�)鍒嗚�鍙�(4)+瀹㈡埛鍙�(8)+鏍¢獙(1)+'000'
 //	char endFlag;           // ?
 //  char LRC;
 	char stringEnd;
 } new_track_3;
 
 
-typedef struct IC_TRACK3    // 6字头IC卡, zhanglei, 2010.09.19
+typedef struct IC_TRACK3    // 6瀛楀ごIC鍗�, zhanglei, 2010.09.19
 {
 //	char start;             // ;
 	char formatCode[2];     // 99
-	char masterAccount[19]; //* 帐号长度与NEW1_TRACK3不同
+	char masterAccount[19]; //* 甯愬彿闀垮害涓嶯EW1_TRACK3涓嶅悓
 	char separator1;		// '
 	char countryCode[3];    // 156
 	char currencyCode[3];   // 156
@@ -480,67 +480,67 @@ typedef struct IC_TRACK3    // 6
 	char expireDate[4];       // * 9912->4912
 	char cardSerial;
 	char separator2;		// '
-    char SAN1[10];          // (新)内部客户号:分行(3)+客户号(6)+校验(1)
+    char SAN1[10];          // (鏂�)鍐呴儴瀹㈡埛鍙凤細鍒嗚�(3)+瀹㈡埛鍙�(6)+鏍¢獙(1)
 	char separator3;		// '
-    char SAN2[9];           // * 卡凭证号(8)+校验(1) 
+    char SAN2[9];           // * 鍗″嚟璇佸彿(8)+鏍¢獙(1) 
 	char separator4;		// '
     char transferFlag;      // 0
-	char checkNum[6];       // 加密校验数
-	char appendData[13];    // * (旧)分行号(4)+客户号(8)+校验(1)+'000'
+	char checkNum[6];       // 鍔犲瘑鏍¢獙鏁�
+	char appendData[13];    // * (鏃�)鍒嗚�鍙�(4)+瀹㈡埛鍙�(8)+鏍¢獙(1)+'000'
 //	char endFlag;           // ?
 //  char LRC;
 	char stringEnd;
 } ic_track_3;
 
-typedef struct HK_TRACK3	//	香港一卡通3磁道格式包
+typedef struct HK_TRACK3	//	棣欐腐涓€鍗¢€�3纾侀亾鏍煎紡鍖�
 {
 //	char start;             // ;
 	char formatCode[2];     //	92
-	char cardType[2];		//	40	卡类别
-	char bankSign[4];			//	2658	发卡行标识
-	char masterAccount[12];	//*		右10位主账号+00
+	char cardType[2];		//	40	鍗$被鍒�
+	char bankSign[4];			//	2658	鍙戝崱琛屾爣璇�
+	char masterAccount[12];	//*		鍙�10浣嶄富璐﹀彿+00
 	char separator1;		//	'
 	char separator2;		//	'
-	char currencyCode[3];   //	000	货币代码
-	char currencyIndex;		//	0	货币指数
+	char currencyCode[3];   //	000	璐у竵浠g爜
+	char currencyIndex;		//	0	璐у竵鎸囨暟
 	//char countryCode[3];	//	156
-	char VISAGrantDegree[2];	//	00	VISA账户周期授权额度
-	char grantDegree[2];	//	00	本行账户周期授权额度
-	char transferrableBalance[4];	//0000	VISA当前周期内可提款或转账的余额
-	char secondBankSign[4];	//0000	第二发卡行标示
+	char VISAGrantDegree[2];	//	00	VISA璐︽埛鍛ㄦ湡鎺堟潈棰濆害
+	char grantDegree[2];	//	00	鏈��璐︽埛鍛ㄦ湡鎺堟潈棰濆害
+	char transferrableBalance[4];	//0000	VISA褰撳墠鍛ㄦ湡鍐呭彲鎻愭�鎴栬浆璐︾殑浣欓�
+	char secondBankSign[4];	//0000	绗�簩鍙戝崱琛屾爣绀�
 	//char moneyExp;          // 0
 	//char periodAccredit[4];   // 5000
 	//char periodBalance[4];    // 5000
 	//char periodStartDate[4];  // 0000
-    char periodLength[2];     // 00	周期长度,ATM忽略
-    char passwordRetry;       // 4	密码重试次数
-    char PIN;					//*	PIN校验位
-    char PINOffset[5];			//*	PIN偏移量
-//	char checkNum[6];			//	校验和
-    char exchangeCode;        // 0	交换控制符
-    char masterAccountType;		//1	主账户类型	1 - 储蓄帐户2 - 支票账户3 - 信用卡或联名卡账户4 - 员工账户5 - 无存折储蓄帐户6 - 保留
-	char masterAccountLimit;	//0	主账户限制码	0 - 无限制1 - 禁止扣帐(允许存款、转入)2 - 禁止存入(允许提款、转出)
-	char firstSubsidiaryAccountType;	//	0	第一辅助账户类型	0 - 不存在编码;其他同masterAccountType
-	char firstSubsidiaryAccountLimit;	//	0	第一辅助账户限制码
-	char secondSubsidiaryAccountMessage[2];	//00	第二辅助账户及限制码
-	char expireDate[4];       //*	失效日期
-	char cardSerial[2];		//*	卡顺序号
-	//char firstSubsidiaryAccount[12];	//000000000000	第一辅助账号
-	//char secondSubsidiaryAccount[12];	//000000000000	第二辅助账号
-	char appendData[24];				//*	附加数据	"YYYYMMDD"(申请日期)+随机数(7)+CVV(3)+随机数(6)
-	char lastTranDate[4];				//	0000	上次交易日期
-	char lastTranTime[4];				//	0000	上次交易时间
-	char lastVISADate[4];				//	0000	上次VISA交易日期
-	char lastVISATime[4];				//	0000	上次VISA交易时间
-	char currentTransferrableBalance[3];	//	000	本行账户当前周期内可提款或转账的余额
-	char language;						//* 	语言代码	1-中文	2-英文
+    char periodLength[2];     // 00	鍛ㄦ湡闀垮害锛孉TM蹇界暐
+    char passwordRetry;       // 4	瀵嗙爜閲嶈瘯娆℃暟
+    char PIN;					//*	PIN鏍¢獙浣�
+    char PINOffset[5];			//*	PIN鍋忕Щ閲�
+//	char checkNum[6];			//	鏍¢獙鍜�
+    char exchangeCode;        // 0	浜ゆ崲鎺у埗绗�
+    char masterAccountType;		//1	涓昏处鎴风被鍨�	1 - 鍌ㄨ搫甯愭埛2 - 鏀�エ璐︽埛3 - 淇$敤鍗℃垨鑱斿悕鍗¤处鎴�4 - 鍛樺伐璐︽埛5 - 鏃犲瓨鎶樺偍钃勫笎鎴�6 - 淇濈暀
+	char masterAccountLimit;	//0	涓昏处鎴烽檺鍒剁爜	0 - 鏃犻檺鍒�1 - 绂佹�鎵e笎锛堝厑璁稿瓨娆俱€佽浆鍏ワ級2 - 绂佹�瀛樺叆锛堝厑璁告彁娆俱€佽浆鍑猴級
+	char firstSubsidiaryAccountType;	//	0	绗�竴杈呭姪璐︽埛绫诲瀷	0 - 涓嶅瓨鍦ㄧ紪鐮侊紱鍏朵粬鍚宮asterAccountType
+	char firstSubsidiaryAccountLimit;	//	0	绗�竴杈呭姪璐︽埛闄愬埗鐮�
+	char secondSubsidiaryAccountMessage[2];	//00	绗�簩杈呭姪璐︽埛鍙婇檺鍒剁爜
+	char expireDate[4];       //*	澶辨晥鏃ユ湡
+	char cardSerial[2];		//*	鍗¢『搴忓彿
+	//char firstSubsidiaryAccount[12];	//000000000000	绗�竴杈呭姪璐﹀彿
+	//char secondSubsidiaryAccount[12];	//000000000000	绗�簩杈呭姪璐﹀彿
+	char appendData[24];				//*	闄勫姞鏁版嵁	"YYYYMMDD"(鐢宠�鏃ユ湡)+闅忔満鏁�(7)+CVV(3)+闅忔満鏁�(6锛�
+	char lastTranDate[4];				//	0000	涓婃�浜ゆ槗鏃ユ湡
+	char lastTranTime[4];				//	0000	涓婃�浜ゆ槗鏃堕棿
+	char lastVISADate[4];				//	0000	涓婃�VISA浜ゆ槗鏃ユ湡
+	char lastVISATime[4];				//	0000	涓婃�VISA浜ゆ槗鏃堕棿
+	char currentTransferrableBalance[3];	//	000	鏈��璐︽埛褰撳墠鍛ㄦ湡鍐呭彲鎻愭�鎴栬浆璐︾殑浣欓�
+	char language;						//* 	璇�█浠g爜	1-涓�枃	2-鑻辨枃
 	
 	//	char endFlag;           // ?
 	//  char LRC;
 	char stringEnd;
 } hk_track_3;
 
-typedef struct INTER_TRACK0	//Lint	国际借记卡	2003-1-6 16:16
+typedef struct INTER_TRACK0	//Lint	鍥介檯鍊熻�鍗�	2003-1-6 16:16
 {
 	char masterAccount[16];
 	char cardSerial;
@@ -550,7 +550,7 @@ typedef struct INTER_TRACK0	//Lint	
 	char stringEnd;
 } inter_track_0;
 
-typedef struct INTER_TRACK2	//Lint	国际借记卡2磁道	2004-2-13 15:22
+typedef struct INTER_TRACK2	//Lint	鍥介檯鍊熻�鍗�2纾侀亾	2004-2-13 15:22
 {
 //	char start;             // ;
 	char masterAccount[16]; //*
@@ -558,46 +558,46 @@ typedef struct INTER_TRACK2	//Lint	
 	char expireDate[4];     // *
 	char serviceCode[3];    // 101
 	char localCheckMessage[5];	//	12345	PVKI(1) + PVV(4)
-	char appendData[8];    //*	随机数(2)+ CVV(3) + 随机数(3)
+	char appendData[8];    //*	闅忔満鏁帮紙2锛�+ CVV锛�3锛� + 闅忔満鏁帮紙3锛�
 //	char endFlag;           // ?
 //  char LRC;
 	char stringEnd;
 } inter_track_2;
 
-typedef struct INTER_TRACK3	//	国际借记卡3磁道格式包
+typedef struct INTER_TRACK3	//	鍥介檯鍊熻�鍗�3纾侀亾鏍煎紡鍖�
 {
 //	char start;             // ;
 	char formatCode[2];     //	99
-	char cardType[2];		//	41	卡类别
-	char bankSign[4];			//	0062	发卡行标识
-	char masterAccount[10];	//*		右10位主账号
+	char cardType[2];		//	41	鍗$被鍒�
+	char bankSign[4];			//	0062	鍙戝崱琛屾爣璇�
+	char masterAccount[10];	//*		鍙�10浣嶄富璐﹀彿
 	char separator1;		//	'
-	char nationCode[3];   //	156	国家代码
-	char currencyCode[3];   //	156	货币代码
-	char currencyIndex;		//	0	货币指数
-	char periodAccredit[4];   //	5000	周期授予量
-	char periodBalance[4];    //5000	当前周期内可提款或转账的余额
-	char periodStartDate[4];  //0000	周期开始日期
-	char periodLength[2];     // 01	周期长度,ATM忽略
-	char passwordRetry;       // 5	密码重试次数
-	//char PIN;					//*	PIN校验位
-    //char PINOffset[5];			//*	PIN偏移量
-    char grantControlCode[6];	//CVV(3)+随机数(3)
-	char exchangeCode;        // 2	交换控制符
-	char masterAccountType;		//1	主账户类型	1 - 储蓄帐户2 - 支票账户3 - 信用卡或联名卡账户4 - 员工账户5 - 无存折储蓄帐户6 - 保留
-	char masterAccountLimit;	//4	主账户限制码	0 - 无限制1 - 禁止扣帐(允许存款、转入)2 - 禁止存入(允许提款、转出)
-	char firstSubsidiaryAccountType[2];		//	00	第一辅助账户类型	0 - 不存在编码;其他同masterAccountType
-	char firstSubsidiaryAccountLimit[2];	//	00	第一辅助账户限制码
-	char expireDate[4];       //*	失效日期
-	char cardSerial;		//*	卡顺序号
-	char encryptCode;		//'	卡保密号	缺省为分隔符
-	char firstSubsidiaryAccount[10];	//000000000000	第一辅助账号 分行(3)+客户号(6)+校验(1)
+	char nationCode[3];   //	156	鍥藉�浠g爜
+	char currencyCode[3];   //	156	璐у竵浠g爜
+	char currencyIndex;		//	0	璐у竵鎸囨暟
+	char periodAccredit[4];   //	5000	鍛ㄦ湡鎺堜簣閲�
+	char periodBalance[4];    //5000	褰撳墠鍛ㄦ湡鍐呭彲鎻愭�鎴栬浆璐︾殑浣欓�
+	char periodStartDate[4];  //0000	鍛ㄦ湡寮€濮嬫棩鏈�
+	char periodLength[2];     // 01	鍛ㄦ湡闀垮害锛孉TM蹇界暐
+	char passwordRetry;       // 5	瀵嗙爜閲嶈瘯娆℃暟
+	//char PIN;					//*	PIN鏍¢獙浣�
+    //char PINOffset[5];			//*	PIN鍋忕Щ閲�
+    char grantControlCode[6];	//CVV(3)+闅忔満鏁�(3)
+	char exchangeCode;        // 2	浜ゆ崲鎺у埗绗�
+	char masterAccountType;		//1	涓昏处鎴风被鍨�	1 - 鍌ㄨ搫甯愭埛2 - 鏀�エ璐︽埛3 - 淇$敤鍗℃垨鑱斿悕鍗¤处鎴�4 - 鍛樺伐璐︽埛5 - 鏃犲瓨鎶樺偍钃勫笎鎴�6 - 淇濈暀
+	char masterAccountLimit;	//4	涓昏处鎴烽檺鍒剁爜	0 - 鏃犻檺鍒�1 - 绂佹�鎵e笎锛堝厑璁稿瓨娆俱€佽浆鍏ワ級2 - 绂佹�瀛樺叆锛堝厑璁告彁娆俱€佽浆鍑猴級
+	char firstSubsidiaryAccountType[2];		//	00	绗�竴杈呭姪璐︽埛绫诲瀷	0 - 涓嶅瓨鍦ㄧ紪鐮侊紱鍏朵粬鍚宮asterAccountType
+	char firstSubsidiaryAccountLimit[2];	//	00	绗�竴杈呭姪璐︽埛闄愬埗鐮�
+	char expireDate[4];       //*	澶辨晥鏃ユ湡
+	char cardSerial;		//*	鍗¢『搴忓彿
+	char encryptCode;		//'	鍗′繚瀵嗗彿	缂虹渷涓哄垎闅旂�
+	char firstSubsidiaryAccount[10];	//000000000000	绗�竴杈呭姪璐﹀彿 鍒嗚�(3)+瀹㈡埛鍙�(6)+鏍¢獙(1)
 	char separator2;		//	'
-	char secondSubsidiaryAccount[9];	//000000000000	第二辅助账号 卡凭证号(8)+校验(1)
+	char secondSubsidiaryAccount[9];	//000000000000	绗�簩杈呭姪璐﹀彿 鍗″嚟璇佸彿(8)+鏍¢獙(1)
 	char separator3;		//	'
 	char passingCode;		// 0
-	char checkNum[6];			//	校验和
-	char appendData[16];				//*	附加数据	分行号(4)+客户号(8)+校验(1)+"000"
+	char checkNum[6];			//	鏍¢獙鍜�
+	char appendData[16];				//*	闄勫姞鏁版嵁	鍒嗚�鍙�(4)+瀹㈡埛鍙�(8)+鏍¢獙(1)+"000"
   
     //	char endFlag;           // ?
 	//  char LRC;
@@ -605,7 +605,7 @@ typedef struct INTER_TRACK3	//	
 } inter_track_3;
 
 
-typedef struct NWPK_TRACK0	// 新系统存折 
+typedef struct NWPK_TRACK0	// 鏂扮郴缁熷瓨鎶� 
 {
 	char masterAccount[15];
 	char PSBNBR[10];
@@ -614,7 +614,7 @@ typedef struct NWPK_TRACK0	// 
 } nwpk_track_0;
 
 
-typedef struct NWPK_TRACK2	// 新系统存折 
+typedef struct NWPK_TRACK2	// 鏂扮郴缁熷瓨鎶� 
 {
 //	char start;             // ;
 	char masterAccount[15]; // *
@@ -627,7 +627,7 @@ typedef struct NWPK_TRACK2	// 
 	char stringEnd;
 } nwpk_track_2;
 
-typedef struct NWPK_TRACK3  // 新系统存折 
+typedef struct NWPK_TRACK3  // 鏂扮郴缁熷瓨鎶� 
 {
 //	char start;             // ;
 	char formatCode[2];     // 60
@@ -653,7 +653,7 @@ typedef struct NWPK_TRACK3  // 
 } nwpk_track_3;
 
 
-typedef struct NWUS_TRACK0	// 新系统用户卡 
+typedef struct NWUS_TRACK0	// 鏂扮郴缁熺敤鎴峰崱 
 {
 	char USRNBR[6];
 	char cardSerial;
@@ -662,7 +662,7 @@ typedef struct NWUS_TRACK0	// 
 } nwus_track_0;
 
 
-typedef struct NWUS_TRACK2	// 新系统用户卡 
+typedef struct NWUS_TRACK2	// 鏂扮郴缁熺敤鎴峰崱 
 {
 //	char start;             // ;
 	char USRNBR[6];         // *
@@ -676,7 +676,7 @@ typedef struct NWUS_TRACK2	// 
 } nwus_track_2;
 
 
-typedef struct NWUS_TRACK3  // 新系统用户卡  
+typedef struct NWUS_TRACK3  // 鏂扮郴缁熺敤鎴峰崱  
 {
 //	char start;             // ;
 	char formatCode[2];     // 70
@@ -697,7 +697,7 @@ typedef struct NWUS_TRACK3  // 
 	char stringEnd;
 } nwus_track_3;
 
-typedef struct AE_TRACK2_DATA	// 运通借记卡oilyang 2021.9.23
+typedef struct AE_TRACK2_DATA	// 杩愰€氬€熻�鍗�ilyang 2021.9.23
 {
 	char account[15];		//*Primary Account Number
 	char separator1;		// Field Separator
@@ -756,15 +756,15 @@ public:
     BOOL Track23( char *strTrack2, char *strTrack3, BOOL bWrite, char* MARGType="23" );
     int  ISONewCardType(char * CardBin);
     BOOL ISONewcode( char *data);
-    BOOL ISONewcode0( char *data);	//原来9字头卡
-    BOOL ISONewcode1( char *data);	//八转十六BZSL专用 6字头卡
+    BOOL ISONewcode0( char *data);	//鍘熸潵9瀛楀ご鍗�
+    BOOL ISONewcode1( char *data);	//鍏�浆鍗佸叚BZSL涓撶敤 6瀛楀ご鍗�
     BOOL ISONewdecode( char *data,char* MARGType="23");
-	BOOL ISOHKcode( char *data);	//Lint	香港一卡通专用
+	BOOL ISOHKcode( char *data);	//Lint	棣欐腐涓€鍗¢€氫笓鐢�
 	BOOL ISOHKdecode( char *data,char* MARGType="23");
-	BOOL ISOHKcode_help( char *data, BOOL isIC);	//Lint	香港一卡通专用
+	BOOL ISOHKcode_help( char *data, BOOL isIC);	//Lint	棣欐腐涓€鍗¢€氫笓鐢�
 	BOOL ISOHKdecode_help( char *data,char* MARGType, BOOL* isIC);
     char* trimstr(char* strSrc);
-	BOOL ISOINTERcode( char *data);	//Lint	国际借记卡
+	BOOL ISOINTERcode( char *data);	//Lint	鍥介檯鍊熻�鍗�
 	BOOL ISOINTERcodetrack1( char *data, char *name, char *parmTrack1);
 	BOOL ISOINTERdecode( char *data,char* MARGType = "23");
 
@@ -782,7 +782,7 @@ public:
 	BOOL CMBdecodeEx( char* MagData, char * type, char * data);
 	BOOL CMBdecodeMag2( char* Mag2Data, char * data);
 
-	//zhanglei, IC磁条卡, 20100919
+	//zhanglei, IC纾佹潯鍗�, 20100919
     BOOL ICcode( char *data);
     BOOL ICdecode( char *data,char* MARGType="23");
 

+ 86 - 86
Other/libCMBPrint/Card-v4.cpp

@@ -801,7 +801,7 @@ BOOL CARD::Track23( char *strTrack2, char *strTrack3, BOOL bWrite, char* MARGTyp
 		if( pr50.BPType == 1)
 			sprintf( this->trackData, "%sA%s", strTrack2, strTrack3);
 		else 
-			sprintf( this->trackData, "%s", strTrack3);  //二当三!
+			sprintf( this->trackData, "%s", strTrack3);  //浜屽綋涓�!
 	}
 	else
 	{
@@ -875,7 +875,7 @@ BOOL CARD::ISONewcode( char *data)
 }    
 
 
-BOOL CARD::ISONewcode0( char *data)  //9字头卡
+BOOL CARD::ISONewcode0( char *data)  //9瀛楀ご鍗�
 {
     NEW_TRACK0 *pdata;
     NEW_TRACK2 strTrack2;
@@ -906,11 +906,11 @@ BOOL CARD::ISONewcode0( char *data)  //9
 	return Track23((char*)&strTrack2,(char*)&strTrack3,TRUE);
 }
 
-BOOL CARD::ISONewcode1( char *data)  // 6字头卡
-/*	BZSL	八转十六项目
- *	函数名:BOOL CARD::ISONewcode1( char *data)
- *	功能:	对6开头的16位卡按照:2磁道为两地通2磁道格式,
- *			3磁道为普通16位卡3磁道格式进行写磁的操作
+BOOL CARD::ISONewcode1( char *data)  // 6瀛楀ご鍗�
+/*	BZSL	鍏�浆鍗佸叚椤圭洰
+ *	鍑芥暟鍚嶏細BOOL CARD::ISONewcode1( char *data)
+ *	鍔熻兘锛�	瀵�6寮€澶寸殑16浣嶅崱鎸夌収锛�2纾侀亾涓轰袱鍦伴€�2纾侀亾鏍煎紡锛�
+ *			3纾侀亾涓烘櫘閫�16浣嶅崱3纾侀亾鏍煎紡杩涜�鍐欑�鐨勬搷浣�
  */
 {
     NEW_TRACK0 *pdata;
@@ -940,7 +940,7 @@ BOOL CARD::ISONewcode1( char *data)  // 6
 	sprintf(strTmp,"%05d",(unsigned int)randValue);
 	memcpy(strTrack2.localCheckMessage,strTmp,5);
 
-	strTrack2.appendData[1]=pdata->cardSerial;  //此处做了修改
+	strTrack2.appendData[1]=pdata->cardSerial;  //姝ゅ�鍋氫簡淇�敼
 /*
 	randValue = 0;
 	do
@@ -954,7 +954,7 @@ BOOL CARD::ISONewcode1( char *data)  // 6
 	
 	memcpy(strTrack2.expireDate,pdata->expireDate,sizeof(strTrack2.expireDate));
 
-	memcpy(strTrack2.appendData+2,pdata->SVCD,6);  //此处做了修改
+	memcpy(strTrack2.appendData+2,pdata->SVCD,6);  //姝ゅ�鍋氫簡淇�敼
 /*	
 	memcpy(strTrack2.appendData+2,pdata->SVCD,3);
 	randValue = 0;
@@ -967,7 +967,7 @@ BOOL CARD::ISONewcode1( char *data)  // 6
 	memcpy(strTrack2.appendData+5,strTmp,3);
 */
 
-	//3磁道采用老的95555卡的3磁道格式
+	//3纾侀亾閲囩敤鑰佺殑95555鍗$殑3纾侀亾鏍煎紡
 	memcpy(strTrack3.masterAccount,pdata->masterAccount,sizeof(pdata->masterAccount));
 	memcpy(strTrack3.SVCD,strTrack2.appendData+2,6);	
 	strTrack3.cardSerial=pdata->cardSerial;
@@ -976,12 +976,12 @@ BOOL CARD::ISONewcode1( char *data)  // 6
 	memcpy(strTrack3.expireDate,pdata->expireDate,sizeof(strTrack3.expireDate));
     strTrack3.checkNum[0]=getCheckNum(pdata->masterAccount,sizeof(pdata->masterAccount));
 
-/*	//增加IC借记卡,zhanglei,2011.12.15
-	1.621486(银联IC金葵花)(服务代码 220)
-	2.621485(银联IC金卡)(服务代码 220)
-	3.621483(银联IC普卡) (服务代码 220)
+/*	//澧炲姞IC鍊熻�鍗★紝zhanglei锛�2011.12.15
+	1.621486锛堥摱鑱擨C閲戣懙鑺憋級锛堟湇鍔′唬鐮� 220锛�
+	2.621485锛堥摱鑱擨C閲戝崱锛夛紙鏈嶅姟浠g爜 220锛�
+	3.621483锛堥摱鑱擨C鏅�崱锛� (鏈嶅姟浠g爜 220锛�
 */
-/*  //改用配置文件的方式,zhanglei,20141011
+/*  //鏀圭敤閰嶇疆鏂囦欢鐨勬柟寮忥紝zhanglei锛�20141011
 	if ((strncmp((char*)&strTrack2, "621486", 6) == 0) || (strncmp((char*)&strTrack2, "621485", 6) == 0) ||
 		(strncmp((char*)&strTrack2, "621483", 6) == 0))
 		memcpy(strTrack2.serviceCode, "220", 3);
@@ -994,7 +994,7 @@ BOOL CARD::ISONewcode1( char *data)  // 6
 	return Track23((char*)&strTrack2,(char*)&strTrack3,TRUE);
 }
 
-BOOL CARD::ICcode( char *data)  // IC磁条卡,逻辑基本copy ISONewcode1,修改处有注释
+BOOL CARD::ICcode( char *data)  // IC纾佹潯鍗★紝閫昏緫鍩烘湰copy ISONewcode1锛屼慨鏀瑰�鏈夋敞閲�
 {
     IC_TRACK0 *pdata;
     IC_TRACK2 strTrack2;
@@ -1004,7 +1004,7 @@ BOOL CARD::ICcode( char *data)  // IC
 	char defNew1Track2[]= "0000000000000000000"
 						"\'"
 						"4912"
-						"620" //服务代码620 zhanglei
+						"620" //鏈嶅姟浠g爜620 zhanglei
 						"123"
 						"0888000";
 
@@ -1023,7 +1023,7 @@ BOOL CARD::ICcode( char *data)  // IC
 	sprintf(strTmp,"%03d",(unsigned int)randValue);
 	memcpy(strTrack2.localCheckMessage,strTmp,3);
 
-	strTrack2.appendData[0]=pdata->cardSerial;  //此处做了修改 zhanglei
+	strTrack2.appendData[0]=pdata->cardSerial;  //姝ゅ�鍋氫簡淇�敼 zhanglei
 /*
 	randValue = 0;
 	do
@@ -1037,7 +1037,7 @@ BOOL CARD::ICcode( char *data)  // IC
 	
 	memcpy(strTrack2.expireDate,pdata->expireDate,sizeof(strTrack2.expireDate));
 
-	memcpy(strTrack2.appendData+1,pdata->SVCD,6);  //此处做了修改 zhanglei
+	memcpy(strTrack2.appendData+1,pdata->SVCD,6);  //姝ゅ�鍋氫簡淇�敼 zhanglei
 /*	
 	memcpy(strTrack2.appendData+2,pdata->SVCD,3);
 	randValue = 0;
@@ -1050,9 +1050,9 @@ BOOL CARD::ICcode( char *data)  // IC
 	memcpy(strTrack2.appendData+5,strTmp,3);
 */
 
-	//3磁道采用老的95555卡的3磁道格式
+	//3纾侀亾閲囩敤鑰佺殑95555鍗$殑3纾侀亾鏍煎紡
 	memcpy(strTrack3.masterAccount,pdata->masterAccount,sizeof(pdata->masterAccount));
-	memcpy(strTrack3.SVCD,strTrack2.appendData+1,6);	 //取二磁道SVCD, zhanglei
+	memcpy(strTrack3.SVCD,strTrack2.appendData+1,6);	 //鍙栦簩纾侀亾SVCD, zhanglei
 	strTrack3.cardSerial=pdata->cardSerial;
 	memcpy(strTrack3.SAN1,(pdata->masterAccount)+9,sizeof(strTrack3.SAN1));
 	memcpy(strTrack3.appendData,pdata->oldRGCD,sizeof(pdata->oldRGCD));
@@ -1068,12 +1068,12 @@ BOOL CARD::ISOHKcode( char *data)
 }
 
 BOOL CARD::ISOHKcode_help( char *data, BOOL isIC)
-/*	香港一卡通专用
+/*	棣欐腐涓€鍗¢€氫笓鐢�
  *	Lint
  */
 {
     HK_TRACK0 *pdata;
-	// NEW1_TRACK2 与 HK_TRACK2 相同
+	// NEW1_TRACK2 涓� HK_TRACK2 鐩稿悓
     HK_TRACK2 strTrack2;
     HK_TRACK3 strTrack3;
 
@@ -1154,7 +1154,7 @@ BOOL CARD::ISOHKcode_help( char *data, BOOL isIC)
 	sprintf(strTmp,"%05d",(unsigned int)randValue);
 	memcpy(strTrack2.localCheckMessage,strTmp,5);
 
-	strTrack2.appendData[1]=pdata->cardSerial;  //此处做了修改
+	strTrack2.appendData[1]=pdata->cardSerial;  //姝ゅ�鍋氫簡淇�敼
 /*
 	randValue = 0;
 	do
@@ -1165,7 +1165,7 @@ BOOL CARD::ISOHKcode_help( char *data, BOOL isIC)
 	sprintf(strTmp,"%02d",(unsigned int)randValue);
 	memcpy(strTrack2.appendData,strTmp,2);
 */
-	memcpy(strTrack2.appendData+2,pdata->SVCD,6);  //此处做了修改
+	memcpy(strTrack2.appendData+2,pdata->SVCD,6);  //姝ゅ�鍋氫簡淇�敼
 
 /*	
 	memcpy(strTrack2.appendData+2,pdata->SVCD,3);
@@ -1184,7 +1184,7 @@ BOOL CARD::ISOHKcode_help( char *data, BOOL isIC)
 
 
 //	memcpy(strTrack3.masterAccount,pdata->masterAccount+6,10);
-//  此处做了修改
+//  姝ゅ�鍋氫簡淇�敼
 	memcpy(strTrack3.cardType,pdata->masterAccount,sizeof(pdata->masterAccount));
 	memcpy(strTrack3.masterAccount+10,"00",2);
 	memcpy(strTrack3.expireDate,pdata->expireDate,sizeof(strTrack3.expireDate));
@@ -1193,11 +1193,11 @@ BOOL CARD::ISOHKcode_help( char *data, BOOL isIC)
 
 /************************
 
->                   子帐号              帐号类型      子帐号限制码     货币代码
-》主账号    :    621299860*******           1             0              1(HKD)
-> 港币子帐户:   860XXXXXXX01               1             0              1(HKD)
-> 人民币子帐户: 860XXXXXXX03               1             0              3(RMB)
-> 其中  XXXXXXX 为PAN号的最后7位。
+>                   瀛愬笎鍙�              甯愬彿绫诲瀷      瀛愬笎鍙烽檺鍒剁爜     璐у竵浠g爜
+銆嬩富璐﹀彿    :    621299860*******           1             0              1(HKD)
+> 娓�竵瀛愬笎鎴凤細   860XXXXXXX01               1             0              1(HKD)
+> 浜烘皯甯佸瓙甯愭埛锛� 860XXXXXXX03               1             0              3(RMB)
+> 鍏朵腑  XXXXXXX 涓篜AN鍙风殑鏈€鍚�7浣嶃€�
   
 ************************/
 
@@ -1220,7 +1220,7 @@ BOOL CARD::ISOHKcode_help( char *data, BOOL isIC)
 	{
 		
 	/******************************************
-	*	取当前日期的函数需要在DOS进行重新编写
+	*	鍙栧綋鍓嶆棩鏈熺殑鍑芥暟闇€瑕佸湪DOS杩涜�閲嶆柊缂栧啓
 		******************************************/
 #ifdef linux
 		memset(strTmp,0,128);
@@ -1246,7 +1246,7 @@ BOOL CARD::ISOHKcode_help( char *data, BOOL isIC)
 		sprintf(strTmp,"%07d",(unsigned int)randValue);
 		memcpy(strTrack3.appendData+8,strTmp,7);
 		
-		//此处做了修改
+		//姝ゅ�鍋氫簡淇�敼
 		memcpy(strTrack3.appendData+15,pdata->SVCD,6);
 		randValue = 0;
 		do
@@ -1300,21 +1300,21 @@ BOOL CARD::ISONewdecode( char *data,char* MARGType)
 	memcpy(pdata->masterAccount,strTrack3.masterAccount,sizeof(pdata->masterAccount));
     pdata->cardSerial=strTrack3.cardSerial;
 
-	memcpy(pdata->SVCD,strTrack3.SVCD,sizeof(pdata->SVCD));  //此处做了修改
+	memcpy(pdata->SVCD,strTrack3.SVCD,sizeof(pdata->SVCD));  //姝ゅ�鍋氫簡淇�敼
 
 /*
 
     memcpy(CardBin,pdata->masterAccount,6);
     CardBin[6]=0;
     CardType=ISONewCardType(CardBin);
-    if (CardType==1)	//需要后面补零
+    if (CardType==1)	//闇€瑕佸悗闈㈣ˉ闆�
     {
     	memcpy(pdata->SVCD,strTrack3.SVCD,3);
     	memcpy(pdata->SVCD+3,"000",3);
     }
     else
  		memcpy(pdata->SVCD,strTrack3.SVCD,sizeof(pdata->SVCD));
-    //八转十六BZSL	以上工作为将6开头的卡号的SVCD码后3位强制置0,其他卡号不变
+    //鍏�浆鍗佸叚BZSL	浠ヤ笂宸ヤ綔涓哄皢6寮€澶寸殑鍗″彿鐨凷VCD鐮佸悗3浣嶅己鍒剁疆0锛屽叾浠栧崱鍙蜂笉鍙�
 
 */
 
@@ -1382,21 +1382,21 @@ BOOL CARD::ICdecode( char *data,char* MARGType)
 	memcpy(pdata->masterAccount,strTrack3.masterAccount,sizeof(pdata->masterAccount));
     pdata->cardSerial=strTrack3.cardSerial;
 
-	memcpy(pdata->SVCD,strTrack3.SVCD,sizeof(pdata->SVCD));  //此处做了修改
+	memcpy(pdata->SVCD,strTrack3.SVCD,sizeof(pdata->SVCD));  //姝ゅ�鍋氫簡淇�敼
 
 /*
 
     memcpy(CardBin,pdata->masterAccount,6);
     CardBin[6]=0;
     CardType=ISONewCardType(CardBin);
-    if (CardType==1)	//需要后面补零
+    if (CardType==1)	//闇€瑕佸悗闈㈣ˉ闆�
     {
     	memcpy(pdata->SVCD,strTrack3.SVCD,3);
     	memcpy(pdata->SVCD+3,"000",3);
     }
     else
  		memcpy(pdata->SVCD,strTrack3.SVCD,sizeof(pdata->SVCD));
-    //八转十六BZSL	以上工作为将6开头的卡号的SVCD码后3位强制置0,其他卡号不变
+    //鍏�浆鍗佸叚BZSL	浠ヤ笂宸ヤ綔涓哄皢6寮€澶寸殑鍗″彿鐨凷VCD鐮佸悗3浣嶅己鍒剁疆0锛屽叾浠栧崱鍙蜂笉鍙�
 
 */
 
@@ -1435,7 +1435,7 @@ BOOL CARD::ISOHKdecode_help( char *data,char* MARGType, BOOL* isIC)
 	
 	memcpy(pdata->masterAccount,strTrack2.masterAccount,sizeof(pdata->masterAccount));
     pdata->cardSerial=strTrack3.cardSerial[1];
-	memcpy(pdata->SVCD,strTrack2.appendData+2,6);  //此处做了修改
+	memcpy(pdata->SVCD,strTrack2.appendData+2,6);  //姝ゅ�鍋氫簡淇�敼
 //	memcpy(pdata->SVCD,strTrack2.appendData+2,3);  
 	if (pdata->masterAccount[0]=='4')
 	{
@@ -1445,7 +1445,7 @@ BOOL CARD::ISOHKdecode_help( char *data,char* MARGType, BOOL* isIC)
 	{
 	    memcpy(pdata->oldRGCD,"0852",sizeof(pdata->oldRGCD));
 	}
-//  memcpy(pdata->oldRGCD,"0755",sizeof(pdata->oldRGCD));  //此处做了修改
+//  memcpy(pdata->oldRGCD,"0755",sizeof(pdata->oldRGCD));  //姝ゅ�鍋氫簡淇�敼
 
 	memcpy(pdata->expireDate,strTrack3.expireDate,sizeof(strTrack3.expireDate));
     pdata->language = strTrack3.language ;
@@ -1499,7 +1499,7 @@ char* CARD::trimstr(char* strSrc)
 
 
 BOOL CARD::ISOINTERcode( char *data)
-/*	国际借记卡专用
+/*	鍥介檯鍊熻�鍗′笓鐢�
  *	Lint
  */
 {
@@ -1557,7 +1557,7 @@ BOOL CARD::ISOINTERcode( char *data)
 	sprintf(strTmp,"%05d",(unsigned int)randValue);
 	memcpy(strTrack2.localCheckMessage,strTmp,5);
 
-	strTrack2.appendData[1]=pdata->cardSerial;  //此处做了修改
+	strTrack2.appendData[1]=pdata->cardSerial;  //姝ゅ�鍋氫簡淇�敼
 /*
 	randValue = 0;
 	do
@@ -1569,7 +1569,7 @@ BOOL CARD::ISOINTERcode( char *data)
 	memcpy(strTrack2.appendData,strTmp,2);
 */
 
-	memcpy(strTrack2.appendData+2,pdata->SVCD,6);  //此处做了修改
+	memcpy(strTrack2.appendData+2,pdata->SVCD,6);  //姝ゅ�鍋氫簡淇�敼
 /*	
 	memcpy(strTrack2.appendData+2,pdata->SVCD,3);
 	
@@ -1596,7 +1596,7 @@ BOOL CARD::ISOINTERcode( char *data)
 	memcpy(strTrack3.bankSign,pdata->masterAccount+2,4);
 	memcpy(strTrack3.masterAccount,pdata->masterAccount+6,10);
 
-	memcpy(strTrack3.grantControlCode,pdata->SVCD,6);  //此处做了修改
+	memcpy(strTrack3.grantControlCode,pdata->SVCD,6);  //姝ゅ�鍋氫簡淇�敼
 /*	
 	memcpy(strTrack3.grantControlCode,pdata->SVCD,3);
 	randValue = 0;
@@ -1618,7 +1618,7 @@ BOOL CARD::ISOINTERcode( char *data)
 
 
 BOOL CARD::ISOINTERcodetrack1( char *data, char *name, char *parmTrack1)
-/*      国际借记卡一磁道专用
+/*      鍥介檯鍊熻�鍗′竴纾侀亾涓撶敤
  *      CaiJun
  */
 {
@@ -1675,14 +1675,14 @@ BOOL CARD::ISOINTERdecode( char *data,char* MARGType)
 	
 	memcpy(pdata->masterAccount,strTrack2.masterAccount,sizeof(pdata->masterAccount));
     pdata->cardSerial=strTrack3.cardSerial;
-	memcpy(pdata->SVCD,strTrack2.appendData+2,6);  //此处做了修改
+	memcpy(pdata->SVCD,strTrack2.appendData+2,6);  //姝ゅ�鍋氫簡淇�敼
 //	memcpy(pdata->SVCD,strTrack2.appendData+2,3);
 	memcpy(pdata->expireDate,strTrack3.expireDate,sizeof(strTrack3.expireDate));
     memcpy(pdata->oldRGCD,strTrack3.appendData,sizeof(pdata->oldRGCD));
 	return TRUE;
 }
 
-BOOL CARD::ISONWPKcode( char *data)  //新系统存折
+BOOL CARD::ISONWPKcode( char *data)  //鏂扮郴缁熷瓨鎶�
 {
     NWPK_TRACK0 *pdata;
     NWPK_TRACK2 strTrack2;
@@ -1712,7 +1712,7 @@ BOOL CARD::ISONWPKcode( char *data)  //
 }
 
 
-BOOL CARD::ISONWPKdecode( char *data,char* MARGType)   //新系统存折
+BOOL CARD::ISONWPKdecode( char *data,char* MARGType)   //鏂扮郴缁熷瓨鎶�
 {
     NWPK_TRACK0 *pdata;
     NWPK_TRACK2 strTrack2;
@@ -1737,7 +1737,7 @@ BOOL CARD::ISONWPKdecode( char *data,char* MARGType)   //
 }
 
 
-BOOL CARD::ISONWUScode( char *data)  //新系统用户卡
+BOOL CARD::ISONWUScode( char *data)  //鏂扮郴缁熺敤鎴峰崱
 {
     NWUS_TRACK0 *pdata;
     NWUS_TRACK2 strTrack2;
@@ -1766,7 +1766,7 @@ BOOL CARD::ISONWUScode( char *data)  //
 }
 
 
-BOOL CARD::ISONWUSdecode( char *data,char* MARGType)   //新系统用户卡
+BOOL CARD::ISONWUSdecode( char *data,char* MARGType)   //鏂扮郴缁熺敤鎴峰崱
 {
     NWUS_TRACK0 *pdata;
     NWUS_TRACK2 strTrack2;
@@ -1797,14 +1797,14 @@ BOOL CARD::CMBcode( char * type, char * data, char* MagData)
 ////////////////////////////////
 // data struct
 
-// 1. ODPK  存折
+// 1. ODPK  瀛樻姌
 // 0..3		Region Code (RGCD)
 // 4..13	Account No  (ACNO)
 // 14..21	Passbook    (PSBK)
 // 22..27   SVCD        (SVCD)
 // total:28
 //
-// 2. ODCD  旧一卡通
+// 2. ODCD  鏃т竴鍗¢€�
 // 0..3		Region Code (RGCD)
 // 4..11	Customer No (CUNO)
 // 12..13   99          (99) 
@@ -1812,55 +1812,55 @@ BOOL CARD::CMBcode( char * type, char * data, char* MagData)
 // 22..27   SVCD        (SVCD)
 // total:28
 //
-// 3.NWCD 新一卡通
-// 0..15    卡号        (EACNBR)
-// 16..16   卡序号      (PSBSEQ) 
+// 3.NWCD 鏂颁竴鍗¢€�
+// 0..15    鍗″彿        (EACNBR)
+// 16..16   鍗″簭鍙�      (PSBSEQ) 
 // 17..22   SVCD        (CVCCOD)
 // 23..26   Region Code (REGCOD) 
-// 27..30   有效期      (EXPDAT)
+// 27..30   鏈夋晥鏈�      (EXPDAT)
 // total 31
 //
-// 4.HKCD 香港一卡通
-// 0..15    卡号        (EACNBR)
-// 16..16   卡序号      (PSBSEQ)
+// 4.HKCD 棣欐腐涓€鍗¢€�
+// 0..15    鍗″彿        (EACNBR)
+// 16..16   鍗″簭鍙�      (PSBSEQ)
 // 17..22   SVCD        (CVCCOD) 
 // 23..26   Region Code (REGCOD) 
-// 27..30   有效期      (EXPDAT) 
-// 31..31   语言标志    (语言标志)
-// 32..32   校验位      (校验位)
-// 33..37   PIN偏移量   (PIN偏移量)
+// 27..30   鏈夋晥鏈�      (EXPDAT) 
+// 31..31   璇�█鏍囧織    (璇�█鏍囧織)
+// 32..32   鏍¢獙浣�      (鏍¢獙浣�)
+// 33..37   PIN鍋忕Щ閲�   (PIN鍋忕Щ閲�)
 // total 38
 //
-// 5.NWPK 新系统存折
-// 0..14    存折号 (EACNBR)
-// 15..24   凭证号 (PSBNBR)
+// 5.NWPK 鏂扮郴缁熷瓨鎶�
+// 0..14    瀛樻姌鍙� (EACNBR)
+// 15..24   鍑�瘉鍙� (PSBNBR)
 // 25..30   SVCD   (CVCCOD)
 // total 31
 //
-// 6.NWUS 新系统用户卡
-// 0..5   用户号 (USRNBR)
-// 6..6   卡序号 (PSBSEQ)
+// 6.NWUS 鏂扮郴缁熺敤鎴峰崱
+// 0..5   鐢ㄦ埛鍙� (USRNBR)
+// 6..6   鍗″簭鍙� (PSBSEQ)
 // 7..12  SVCD   (CVCCOD)
 // total 13
 
-// 7.INTE 国际借记卡
-// 0..15    卡号        (EACNBR)
-// 16..16   卡序号      (PSBSEQ) 
+// 7.INTE 鍥介檯鍊熻�鍗�
+// 0..15    鍗″彿        (EACNBR)
+// 16..16   鍗″簭鍙�      (PSBSEQ) 
 // 17..22   SVCD        (CVCCOD)
 // 23..26   Region Code (REGCOD) 
-// 27..30   有效期      (EXPDAT)
+// 27..30   鏈夋晥鏈�      (EXPDAT)
 // total 31
 	
-// 8.ICCD IC磁条卡 zhanglei 20100919
-// 0..18    卡号        (EACNBR)
-// 16..16   卡序号      (PSBSEQ) 
+// 8.ICCD IC纾佹潯鍗� zhanglei 20100919
+// 0..18    鍗″彿        (EACNBR)
+// 16..16   鍗″簭鍙�      (PSBSEQ) 
 // 17..22   SVCD        (CVCCOD)
 // 23..26   Region Code (REGCOD) 
-// 27..30   有效期      (EXPDAT)
+// 27..30   鏈夋晥鏈�      (EXPDAT)
 // total 34
 
-// 9.HKIC HK IC磁条卡 zhanglei 20110721
-// 同HKCD,服务代码为220
+// 9.HKIC HK IC纾佹潯鍗� zhanglei 20110721
+// 鍚孒KCD锛屾湇鍔′唬鐮佷负220
 
 	Ret=false;
 	MagData[0]=0;
@@ -1912,9 +1912,9 @@ BOOL CARD::CMBcode( char * type, char * data, char* MagData)
 
 BOOL CARD::CMBdecode( char* MagData, char * type, char * data)
 {
-// CRED   招行信用卡
-// 0..15  卡号 (EACNBR)
-// 16..47  二磁道 (TK2DTA)
+// CRED   鎷涜�淇$敤鍗�
+// 0..15  鍗″彿 (EACNBR)
+// 16..47  浜岀�閬� (TK2DTA)
 // total 48
 
 	BOOL Ret;
@@ -1932,7 +1932,7 @@ BOOL CARD::CMBdecode( char* MagData, char * type, char * data)
 	lenTrack2=strlen((char*)&strTrack2);
 	lenTrack3=strlen((char*)&strTrack3);
 
-	//4-VISA,5-MASTER,6-银联,3-JCB
+	//4-VISA,5-MASTER,6-閾惰仈,3-JCB
 	if ( ( lenTrack2==sizeof(IC_TRACK2)-1 ) &&
               ( lenTrack3==sizeof(IC_TRACK3)-1 ) &&
 		      ( strncmp((char*)&strTrack3,"99620520",8)==0 ) )
@@ -2087,8 +2087,8 @@ BOOL CARD::CMBcodeEx( char * type, char * data, char* MagData)
 		if(*ptmp=='\'') *ptmp='=';
 		ptmp++;
 	}
-//	strcpy(MagData,MagDataBuf); //改为内部处理
-	if (strcmp(type,"INTE")==0) //国际卡
+//	strcpy(MagData,MagDataBuf); //鏀逛负鍐呴儴澶勭悊
+	if (strcmp(type,"INTE")==0) //鍥介檯鍗�
 	{
 		strcpy(name,data+sizeof(INTER_TRACK0)-1);
         Ret=ISOINTERcodetrack1(data,name,MagDataBuf1);