コード例 #1
0
ファイル: StatusChoice.c プロジェクト: tianyi223/Can_comm
int HandShake(void)
{
	SendData(0x00);      //一上电先给BMS发送一条开始信息
	time_delay++;
	if(time_deay > 5000)
	{
		time_delay = 0;
	}

	while(DealData() == 0x31)
	{
		SendData(0xAA);
		return(1);
	}
}
コード例 #2
0
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;
}