?? 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 + -