int HandShake(void) { SendData(0x00); //一上电先给BMS发送一条开始信息 time_delay++; if(time_deay > 5000) { time_delay = 0; } while(DealData() == 0x31) { SendData(0xAA); return(1); } }
int Jx3RoleItemCompensateToActivityTable::Analyze(const KG_SERVERINFO& refServerInfo, const char szTableName[]) { int nResult = false; int nRetCode = false; char szRoleName[MYSQL_STRING_MAX_SIZE]; int nInfoIndex = 0; bool bHadFind = false; int nRoleNameIndex = 0; int nExtInfoIndex = 0; KGD_FETCH_RESULT eFetchResult; unsigned uFieldDataSize = 0; const void* pcvFieldData = NULL; m_piTableBrowser = KGD_OpenTableBackupFile( szTableName, refServerInfo.szBackUpFilePath ); KGLOG_PROCESS_ERROR(m_piTableBrowser); nRetCode = GetGetInfoIndex("RoleName", bHadFind, nInfoIndex); KGLOG_PROCESS_ERROR(nRetCode); KGLOG_PROCESS_ERROR(bHadFind); nRoleNameIndex = nInfoIndex; nRetCode = GetGetInfoIndex("ExtInfo", bHadFind, nInfoIndex); KGLOG_PROCESS_ERROR(nRetCode); KGLOG_PROCESS_ERROR(bHadFind); nExtInfoIndex = nInfoIndex; while(true) { nRetCode = m_piTableBrowser->FetchNextRecord(&eFetchResult); KGLOG_PROCESS_ERROR(nRetCode); if (eFetchResult == KGD_FETCH_NO_MORE_RECORD) break; if (eFetchResult == KGD_FETCH_CORRUPT_RECORD) continue; ASSERT(eFetchResult == KGD_FETCH_SUCCESS); nRetCode = m_piTableBrowser->GetCurrentRecordField( nRoleNameIndex, &uFieldDataSize, &pcvFieldData );// 获取角色名 KGLOG_PROCESS_ERROR(nRetCode); memset(szRoleName, '\0', sizeof(szRoleName)); strncpy(szRoleName, (char*)pcvFieldData, uFieldDataSize); szRoleName[uFieldDataSize] = '\0'; nRetCode = m_piTableBrowser->GetCurrentRecordField( nExtInfoIndex, &uFieldDataSize, &pcvFieldData );// 获取扩展信息 memcpy(m_pucData, pcvFieldData, uFieldDataSize); unUseDataSize = uFieldDataSize; if (unUseDataSize == 0) { continue; } nRetCode = DealData(m_pucData, unUseDataSize, refServerInfo, szRoleName); KGLOG_PROCESS_ERROR(nRetCode); } nResult = true; Exit0: KG_COM_RELEASE(m_piTableBrowser); return nResult; }