📄 export.cpp
字号:
cmd[5] = '0';
cmd[6] = '0';
int cm = 0 ;
cm = mySendCommand(EJECT_FRONT, cmd, 7);
LRESULT value = 0;
/* 测试问题所在
CString t,tmp;
t.Format("g_res = %s\n",g_res);
tmp.Format("cm = %d",cm);
t += tmp;
MessageBox(NULL,t,"命令执行情况",MB_OK);
*/
/******************对返回信息进行判断--开始*******************************/
if ( cm == 1 ) {
if (g_res[0] == 'P' && g_res[1] == '3' && g_res[2] == '0' && g_res[3] == '0' && g_res[4] == '1') {
#if _DEBUG
MessageBox(NULL, "出卡成功!", "信息", MB_OK);
#endif
value = 0 ;
}
}
else if ( cm == -3 ) {//命令执行不成功,超时
#if _DEBUG
MessageBox(NULL, "出卡超时!", "信息", MB_OK);
#endif
value = CRERROR_ENTRY_CARRY;
}
else {
#if _DEBUG
MessageBox(NULL, "出卡不成功!", "信息", MB_OK);
#endif
value = CRERROR_CARDOUTPUT;
}
/******************对返回信息进行判断--结束*******************************/
memset(g_res, 0, 1024);
return value;//Result;
}
// 吞卡
LRESULT SwallowCard()
{
char cmd[8] = {{0}};
cmd[0] = '0';
cmd[1] = '0';
cmd[2] = '0';
cmd[3] = '0';
cmd[4] = '0';
cmd[5] = '0';
cmd[6] = '0';
int cm = 0 ;
cm = mySendCommand(INIT_CAPTURE, cmd, 7);
LRESULT value = 0;
/* 测试问题所在
CString t,tmp;
t.Format("g_res = %s\n",g_res);
tmp.Format("cm = %d",cm);
t += tmp;
MessageBox(NULL,t,"命令执行情况",MB_OK);
*/
/******************对返回信息进行判断--开始*******************************/
if ( cm == 1 ) {
if (g_res[0] == 'P' && g_res[1] == '4' && g_res[2] == '0' && g_res[3] == '0' && g_res[4] == '2') {
#ifdef _DEBUG
MessageBox(NULL, "吞卡成功!", "信息", MB_OK);
#endif
value = 0 ;
}
}
else if ( cm == -1 || cm == -2 ) {
if (g_res[0] == 'N' && g_res[1] == '4' && g_res[2] == '0' && g_res[3] == '6' && g_res[4] == '0') {
#ifdef _DEBUG
MessageBox(NULL, "卡不在门边,吞卡不成功!", "信息", MB_OK);
#endif
value = CRERROR_CARDINPUT;
}
}
/******************对返回信息进行判断--结束*******************************/
memset(g_res, 0, 1024);
return value;//Result;
}
// 允许进卡
LRESULT PermitIn()
{
LRESULT value = 0;
/* BYTE cmd[3];
cmd[0] = 'C';
cmd[1] = ':';
cmd[2] = '0';
// mySendCommand(cmd, 3, 20000);
if (g_res[0] == 'P' && g_res[1] == ':' && g_res[2] == '0' && g_res[3] == '0' && g_res[4] == '1') {
#ifdef _DEBUG
MessageBox(NULL, "允许进卡!", "信息", MB_OK);
#endif
value = CRC_ENABLE;
}
else if (g_res[0] == 'N' && g_res[1] == ':' && g_res[2] == '0' && g_res[3] == '0' && g_res[4] == '1') {
#ifdef _DEBUG
MessageBox(NULL, "不允许进卡!", "信息", MB_OK);
#endif
value = CRC_DISABLE;
}
memset(g_res, 0, 1024);
*/
return value;//Result;
}
// 禁止进卡
LRESULT UnPermitIn()
{
LRESULT value = 0;
/* BYTE cmd[3];
cmd[0] = 'C';
cmd[1] = ':';
cmd[2] = '1';
// mySendCommand(cmd, 3, 20000);
LRESULT value = 0;
if (g_res[0] == 'P' && g_res[1] == ':' && g_res[2] == '1' && g_res[3] == '0' && g_res[4] == '1') {
#ifdef _DEBUG
MessageBox(NULL, "卡在门边!", "信息", MB_OK);
#endif
value = CRERROR_GATE;
}
else if (g_res[0] == 'P' && g_res[1] == ':' && g_res[2] == '1' && g_res[3] == '0' && g_res[4] == '0') {
#ifdef _DEBUG
MessageBox(NULL, "无卡!", "信息", MB_OK);
#endif
value = CRERROR_EMPTY;
}
else if (g_res[0] == 'P' && g_res[1] == ':' && g_res[2] == '1' && g_res[3] == '0' && g_res[4] == '2') {
#ifdef _DEBUG
MessageBox(NULL, "有卡在内!", "信息", MB_OK);
#endif
value = CRERROR_INSIDE;
}
else {
#ifdef _DEBUG
MessageBox(NULL, "不成功!", "信息", MB_OK);
#endif
}
memset(g_res, 0, 1024);
*/
return value;//Result;
}
// 如果超时写数据,则“写磁否定响应”
LRESULT WriteTrack1(ULONG ulSegIndex,ULONG ulOffset,ULONG ulSize,PUCHAR pDataBuffer,PULONG writesize)
{
char cmd[8] = {{0}};
cmd[0] = '0';
cmd[1] = '0';
cmd[2] = '0';
cmd[3] = '0';
cmd[4] = '0';
cmd[5] = '0';
cmd[6] = '0';
int cm = 0 ;
cm = mySendCommand(MSW_TRACK1, cmd, 7);
LRESULT value = 0;
/******************对返回信息进行判断--开始*******************************/
if (g_res[0] == 'P' && g_res[1] == '7' && g_res[2] == '1' && g_res[3] == '0' && g_res[4] == '2') {
#if _DEBUG
MessageBox(NULL, "写磁道一成功!", "信息", MB_OK);
#endif
value = 0 ;
}
else if (g_res[0] == 'N' && g_res[1] == '7' && g_res[2] == '1' && g_res[3] == '0' && g_res[4] == '2') {
#if _DEBUG
MessageBox(NULL, "有卡时,写磁道一失败!", "信息", MB_OK);
#endif
value = CRERROR_WRITECARD;
}
else if (g_res[0] == 'N' && g_res[1] == '7' && g_res[2] == '1' && g_res[3] == '0' && g_res[4] == '1') {
#if _DEBUG
MessageBox(NULL, "无卡时,写磁道一失败!", "信息", MB_OK);
#endif
value = CRERROR_WRITECARD;
}
else {
#if _DEBUG
MessageBox(NULL, "写磁道1不成功!", "信息", MB_OK);
#endif
value = CRERROR_WRITECARD;
}
/******************对返回信息进行判断--结束*******************************/
memset(g_res, 0, 1024);
return value;//Result;
}
LRESULT WriteTrack2(ULONG ulSegIndex,ULONG ulOffset,ULONG ulSize,PUCHAR pDataBuffer,PULONG writesize)
{
BYTE cmd[3];
cmd[0] = 'C';
cmd[1] = '7';
cmd[2] = '2';
// mySendCommand(cmd, 3, 20000);
LRESULT value = 0;
/******************对返回信息进行判断--开始*******************************/
if (g_res[0] == 'P' && g_res[1] == '7' && g_res[2] == '2' && g_res[3] == '0' && g_res[4] == '2') {
#if _DEBUG
MessageBox(NULL, "写磁道二成功!", "信息", MB_OK);
#endif
value = 0 ;
}
else if (g_res[0] == 'N' && g_res[1] == '7' && g_res[2] == '2' && g_res[3] == '0' && g_res[4] == '2') {
#if _DEBUG
MessageBox(NULL, "有卡时,写磁道二失败!", "信息", MB_OK);
#endif
value = CRERROR_WRITECARD;
}
else if (g_res[0] == 'N' && g_res[1] == '7' && g_res[2] == '2' && g_res[3] == '0' && g_res[4] == '1') {
#if _DEBUG
MessageBox(NULL, "无卡时,写磁道二失败!", "信息", MB_OK);
#endif
value = CRERROR_WRITECARD;
}
else {
#if _DEBUG
MessageBox(NULL, "写磁道二不成功!", "信息", MB_OK);
#endif
value = CRERROR_WRITECARD;
}
/******************对返回信息进行判断--结束*******************************/
memset(g_res, 0, 1024);
return value;//Result;
}
LRESULT WriteTrack3(ULONG ulSegIndex,ULONG ulOffset,ULONG ulSize,PUCHAR pDataBuffer,PULONG writesize)
{
BYTE cmd[3];
cmd[0] = 'C';
cmd[1] = '7';
cmd[2] = '3';
// mySendCommand(cmd, 3, 20000);
LRESULT value = 0;
/******************对返回信息进行判断--开始*******************************/
if (g_res[0] == 'P' && g_res[1] == '7' && g_res[2] == '3' && g_res[3] == '0' && g_res[4] == '2') {
#if _DEBUG
MessageBox(NULL, "写磁道三成功!", "信息", MB_OK);
#endif
value = 0 ;
}
else if (g_res[0] == 'N' && g_res[1] == '7' && g_res[2] == '3' && g_res[3] == '0' && g_res[4] == '2') {
#if _DEBUG
MessageBox(NULL, "有卡时,写磁道三失败!", "信息", MB_OK);
#endif
value = CRERROR_WRITECARD;
}
else if (g_res[0] == 'N' && g_res[1] == '7' && g_res[2] == '3' && g_res[3] == '0' && g_res[4] == '1') {
#if _DEBUG
MessageBox(NULL, "无卡时,写磁道三失败!", "信息", MB_OK);
#endif
value = CRERROR_WRITECARD;
}
else {
#if _DEBUG
MessageBox(NULL, "写磁道3不成功!", "信息", MB_OK);
#endif
value = CRERROR_WRITECARD;
}
/******************对返回信息进行判断--结束*******************************/
memset(g_res, 0, 1024);
return value;//Result;
}
LRESULT ReadTrack1(IN ULONG ulSegIndex , IN ULONG ulOffset,ULONG iSize, PUCHAR pRecvBuffer, int &iRealSize)
{
char cmd[8] = {{0}};
cmd[0] = '0';
cmd[1] = '0';
cmd[2] = '0';
cmd[3] = '0';
cmd[4] = '0';
cmd[5] = '0';
cmd[6] = '0';
int cm = 0 ;
cm = mySendCommand(MSR_TRACK1, cmd, 7);
LRESULT value = 0;
/* 测试问题所在
CString t,tmp;
t.Format("g_res = %s\n",g_res);
tmp.Format("cm = %d",cm);
t += tmp;
MessageBox(NULL,t,"命令执行情况",MB_OK);
*/
/******************对返回信息进行判断--开始*******************************/
if ( cm == 1) {
if (g_res[0] == 'P' && g_res[1] == '6' && g_res[2] == '1' && g_res[3] == '0' && g_res[4] == '2') {
#if _DEBUG
MessageBox(NULL, "读磁道一成功!", "信息", MB_OK);
#endif
// 判断读到的数据的实际长度
iRealSize = strlen(&g_res[5]);
value = 0 ;
/*
if (iSize < iRealSize) {
value = CRERROR_MEMORYLACK;//空间不足
memcpy(pRecvBuffer, &g_res[5], iSize);
}
else {
memcpy(pRecvBuffer, &g_res[5], iRealSize);
} */
memcpy(pRecvBuffer, &g_res[5], iRealSize);
}
}
else if ( cm == -2 || cm == -3 ) {
if (g_res[0] == 'N' && g_res[1] == '6' && g_res[2] == '1' && g_res[3] == '0' && g_res[4] == '2') {
// MessageBox(NULL, "有卡时,读磁道一失败!", "信息", MB_OK);
value = CRERROR_READCARD;
}
else if (g_res[0] == 'N' && g_res[1] == '6' && g_res[2] == '1' && g_res[3] == '0' && g_res[4] == '1') {
// MessageBox(NULL, "无卡时,读磁道一失败!", "信息", MB_OK);
value = CRERROR_READCARD;
}
else if (g_res[0] == 'N' && g_res[1] == '6' && g_res[2] == '1' && g_res[3] == '4' && g_res[4] == '4') {
// MessageBox(NULL, "读卡错误,请检查卡的插入方向!", "信息", MB_OK);
value = CRERROR_READCARD;
}
else {
// MessageBox(NULL, "读磁道一不成功!", "信息", MB_OK);
value = CRERROR_READCARD;
}
}
/******************对返回信息进行判断--结束*******************************/
memset(g_res, 0, 1024);
return value;//Result;
}
LRESULT ReadTrack2(IN ULONG ulSegIndex , IN ULONG ulOffset,ULONG iSize, PUCHAR pRecvBuffer, int &iRealSize)
{
char cmd[8] = {{0}};
cmd[0] = '0';
cmd[1] = '0';
cmd[2] = '0';
cmd[3] = '0';
cmd[4] = '0';
cmd[5] = '0';
cmd[6] = '0';
int cm = 0 ;
cm = mySendCommand(MSR_TRACK2, cmd, 7);
LRESULT value = 0;
/* 测试问题所在
CString t,tmp;
t.Format("g_res = %s\n",g_res);
tmp.Format("cm = %d",cm);
t += tmp;
MessageBox(NULL,t,"命令执行情况",MB_OK);
*/
/******************对返回信息进行判断--开始*******************************/
if ( cm == 1 ) {
if (g_res[0] == 'P' && g_res[1] == '6' && g_res[2] == '2' && g_res[3] == '0' && g_res[4] == '2') {
// MessageBox(NULL, "读磁道二成功!", "信息", MB_OK);
value = 0 ;
iRealSize = strlen(&g_res[5]);// 此函数返回字符串中字符的个数,null以前的全部字符的个数
/* if (iSize < iRealSize) {
memcpy(pRecvBuffer, &g_res[5], iSize);
value = CRERROR_MEMORYLACK;//空间不足
}
else {
memcpy(pRecvBuffer, &g_res[5], iRealSize);
} */
memcpy(pRecvBuffer, &g_res[5], iRealSize);
}
}
else if ( cm == -1 || cm == -2 ) {
if (g_res[0] == 'N' && g_res[1] == '6' && g_res[2] == '2' && g_res[3] == '0' && g_res[4] == '2') {
// MessageBox(NULL, "有卡时,读磁道二失败!", "信息", MB_OK);
value = CRERROR_READCARD;
}
else if (g_res[0] == 'N' && g_res[1] == '6' && g_res[2] == '2' && g_res[3] == '0' && g_res[4] == '1') {
// MessageBox(NULL, "无卡时,读磁道二失败!", "信息", MB_OK);
value = CRERROR_READCARD;
}
else if (g_res[0] == 'N' && g_res[1] == '6' && g_res[2] == '2' && g_res[3] == '4' && g_res[4] == '4') {
// MessageBox(NULL, "读卡错误,请检查卡的插入方向!", "信息", MB_OK);
value = CRERROR_READCARD;
}
else {
// MessageBox(NULL, "读磁道二不成功!", "信息", MB_OK);
value = CRERROR_READCARD;
}
}
/******************对返回信息进行判断--结束*******************************/
memset(g_res, 0, 1024);
return value;//Result;
}
LRESULT ReadTrack3(IN ULONG ulSegIndex , IN ULONG ulOffset,ULONG iSize, PUCHAR pRecvBuffer, int &iRealSize)
{
char cmd[8] = {{0}};
cmd[0] = '0';
cmd[1] = '0';
cmd[2] = '0';
cmd[3] = '0';
cmd[4] = '0';
cmd[5] = '0';
cmd[6] = '0';
int cm = 0 ;
cm = mySendCommand(MSR_TRACK3, cmd, 7);
LRESULT value = 0;
/* 测试问题所在
CString t,tmp;
t.Format("g_res = %s\n",g_res);
tmp.Format("cm = %d",cm);
t += tmp;
MessageBox(NULL,t,"命令执行情况",MB_OK);
*/
/******************对返回信息进行判断--开始*******************************/
if ( cm == 1 ) {
if (g_res[0] == 'P' && g_res[1] == '6' && g_res[2] == '3' && g_res[3] == '0' && g_res[4] == '2') {
// MessageBox(NULL, "读磁道三成功!", "信息", MB_OK);
value = 0 ;
iRealSize = strlen(&g_res[5]);
/* if ( iRealSize > iSize) {
memcpy(pRecvBuffer, &g_res[5], iSize);
value = CRERROR_MEMORYLACK;//空间不足
}
else {
memcpy(pRecvBuffer, &g_res[5], iRealSize);
} */
memcpy(pRecvBuffer, &g_res[5], iRealSize);
}
else if (g_res[0] == 'N' && g_res[1] == '6' && g_res[2] == '3' && g_res[3] == '0' && g_res[4] == '2') {
// MessageBox(NULL, "有卡时,读磁道三失败!", "信息", MB_OK);
value = CRERROR_READCARD;
}
}
else if ( cm == -1 || cm == -2 ) {
if (g_res[0] == 'N' && g_res[1] == '6' && g_res[2] == '3' && g_res[3] == '0' && g_res[4] == '1') {
// MessageBox(NULL, "无卡时,读磁道三失败!", "信息", MB_OK);
value = CRERROR_READCARD;
}
else if (g_res[0] == 'N' && g_res[1] == '6' && g_res[2] == '3' && g_res[3] == '4' && g_res[4] == '4') {
// MessageBox(NULL, "读卡错误,请检查卡的插入方向!", "信息", MB_OK);
value = CRERROR_READCARD;
}
else {
// MessageBox(NULL, "读磁道三不成功!", "信息", MB_OK);
value = CRERROR_READCARD;
}
}
/******************对返回信息进行判断--结束*******************************/
memset(g_res, 0, 1024);
return value;//Result;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -