BOOL KTrackList::Save() { BOOL bResult = false; int nRetCode = 0; ITabFile* piTabFile = NULL; int nLine = 0; char szFileName[MAX_PATH]; snprintf(szFileName, sizeof(szFileName), "%s/%s/track.tab", SETTING_DIR, TRACK_DIR); szFileName[sizeof(szFileName) - 1] = '\0'; piTabFile = g_CreateTabFile(); KGLOG_PROCESS_ERROR(piTabFile); nRetCode = piTabFile->InsertNewCol(COL_ID); KGLOG_PROCESS_ERROR(nRetCode != -1); nRetCode = piTabFile->InsertNewCol(COL_MAP); KGLOG_PROCESS_ERROR(nRetCode != -1); nRetCode = piTabFile->InsertNewCol(COL_DESC); KGLOG_PROCESS_ERROR(nRetCode != -1); nLine = 2; for (KTRACK_TABLE::iterator it = m_TrackTable.begin(); it != m_TrackTable.end(); ++it) { DWORD dwID = it->first; KTRACK_INFO* pTrackInfo = &it->second; nRetCode = piTabFile->WriteInteger(nLine, COL_ID, dwID); KGLOG_PROCESS_ERROR(nRetCode); nRetCode = piTabFile->WriteInteger(nLine, COL_MAP, pTrackInfo->dwMapID); KGLOG_PROCESS_ERROR(nRetCode); nRetCode = piTabFile->WriteString(nLine, COL_DESC, pTrackInfo->szDesc); KGLOG_PROCESS_ERROR(nRetCode); nRetCode = SaveTrack(dwID, pTrackInfo->Track); KGLOG_PROCESS_ERROR(nRetCode); nLine++; } nRetCode = piTabFile->Save(szFileName); KGLOG_PROCESS_ERROR(nRetCode); bResult = true; Exit0: KG_COM_RELEASE(piTabFile); return bResult; }
BOOL KTrackList::SaveTrack(DWORD dwID, const KTRACK& crTrack) { BOOL bResult = false; int nRetCode = 0; ITabFile* piTabFile = NULL; int nLineIndex = 0; char szFileName[MAX_PATH]; snprintf(szFileName, sizeof(szFileName), "%s/%s/track%u.tab", SETTING_DIR, TRACK_DIR, dwID); szFileName[sizeof(szFileName) - 1] = '\0'; piTabFile = g_CreateTabFile(); KGLOG_PROCESS_ERROR(piTabFile); nRetCode = piTabFile->InsertNewCol(COL_X); KGLOG_PROCESS_ERROR(nRetCode != -1); nRetCode = piTabFile->InsertNewCol(COL_Y); KGLOG_PROCESS_ERROR(nRetCode != -1); nRetCode = piTabFile->InsertNewCol(COL_Z); KGLOG_PROCESS_ERROR(nRetCode != -1); nLineIndex = 2; for (KTRACK::const_iterator it = crTrack.begin(); it != crTrack.end(); ++it) { nRetCode = piTabFile->WriteInteger(nLineIndex, COL_X, it->nX); KGLOG_PROCESS_ERROR(nRetCode); nRetCode = piTabFile->WriteInteger(nLineIndex, COL_Y, it->nY); KGLOG_PROCESS_ERROR(nRetCode); nRetCode = piTabFile->WriteInteger(nLineIndex, COL_Z, it->nZ); KGLOG_PROCESS_ERROR(nRetCode); nLineIndex++; } nRetCode = piTabFile->Save(szFileName); KGLOG_PROCESS_ERROR(nRetCode); bResult = true; Exit0: KG_COM_RELEASE(piTabFile); return bResult; }
int Jx3RoleItemCompensateToActivityTable::Run() { int nResult = false; int nRetCode = false; ITabFile* piErrorTabFile = NULL; int nErrorTabFileInitFlag = false; int nErrorCount = 0; //char szBuffer[2048]; char* pszPos = NULL; //size_t uLeftBufferSize = 2048; char szErrorFileName[FILENAMELEN]; int nStrLen = 0; time_t lStartTime = 0; struct tm* ptmTime = NULL; time_t lStopTime = 0; unsigned uRunningSeconds = 0; lStartTime = time(NULL); ptmTime = localtime(&lStartTime); KG_PROCESS_ERROR(ptmTime); nStrLen = snprintf(szErrorFileName, sizeof(szErrorFileName), "%s_%d_%d_%d_%d%d%d.tab", KG_ERRORSERVERLISTFILE, ptmTime->tm_year + 1900, ptmTime->tm_mon + 1, ptmTime->tm_mday, ptmTime->tm_hour, ptmTime->tm_min, ptmTime->tm_sec ); KGLOG_PROCESS_ERROR(nStrLen > 0 && nStrLen < (int)sizeof(szErrorFileName)); nRetCode = fputs("Logserver名称\t区服中文名\t角色名\tValue0\tValue1\tValue2\tValue3\tValue4\tValue5\n", m_pOutFile); KGLOG_PROCESS_ERROR(nRetCode != EOF); //nRetCode = fputs("Logserver名称\t区服中文名\t角色名\tValue0\tValue1\tValue2\tValue3\tValue4\tValue5", m_pOutFile); //KGLOG_PROCESS_ERROR(nRetCode != EOF); //memset(szBuffer,'\0', sizeof(szBuffer)); //pszPos = szBuffer; //for (int i = 0; i < m_CompensateItemList.size(); i++) //{ // nRetCode = snprintf( // pszPos, uLeftBufferSize, "\t%s", m_CompensateItemList[i].szItemName // ); // KGLOG_PROCESS_ERROR(nRetCode > 0 && nRetCode < (int)uLeftBufferSize); // pszPos += nRetCode; // uLeftBufferSize -= nRetCode; //} //szBuffer[sizeof(szBuffer) - 1] = '\0'; //nRetCode = fputs(szBuffer, m_pOutFile); //KGLOG_PROCESS_ERROR(nRetCode != EOF); //nRetCode = fputs("\n", m_pOutFile); //KGLOG_PROCESS_ERROR(nRetCode != EOF); for (int i = 0; i < m_ServerList.size(); i++) { lStartTime = time(NULL); ptmTime = localtime(&lStartTime); KG_PROCESS_ERROR(ptmTime); KGLogPrintf( KGLOG_INFO, "Analyze %s ::Start Time: %d-%d-%d %d:%d:%d\n", m_ServerList[i].szServerName, ptmTime->tm_year + 1900, ptmTime->tm_mon + 1, ptmTime->tm_mday, ptmTime->tm_hour, ptmTime->tm_min, ptmTime->tm_sec ); nRetCode = Analyze(m_ServerList[i], "role"); if (!nRetCode) { KGLogPrintf( KGLOG_INFO, "Analyze %s Error",m_ServerList[i].szServerName ); if (!nErrorTabFileInitFlag) { piErrorTabFile = g_CreateTabFile(); KGLOG_PROCESS_ERROR(piErrorTabFile); nErrorTabFileInitFlag = true; nRetCode = piErrorTabFile->InsertNewCol("ZoneName"); KGLOG_PROCESS_ERROR(nRetCode); nRetCode = piErrorTabFile->InsertNewCol("ServerName"); KGLOG_PROCESS_ERROR(nRetCode); nRetCode = piErrorTabFile->InsertNewCol("LogServerName"); KGLOG_PROCESS_ERROR(nRetCode); nRetCode = piErrorTabFile->InsertNewCol("BackUpFilePath"); KGLOG_PROCESS_ERROR(nRetCode); } nRetCode = piErrorTabFile->WriteString(nErrorCount + 2, "ZoneName", m_ServerList[i].szZoneName); KGLOG_PROCESS_ERROR(nRetCode); nRetCode = piErrorTabFile->WriteString(nErrorCount + 2, "ServerName", m_ServerList[i].szServerName); KGLOG_PROCESS_ERROR(nRetCode); nRetCode = piErrorTabFile->WriteString(nErrorCount + 2, "LogServerName", m_ServerList[i].szLogServerName); KGLOG_PROCESS_ERROR(nRetCode); nRetCode = piErrorTabFile->WriteString(nErrorCount + 2, "BackUpFilePath", m_ServerList[i].szBackUpFilePath); KGLOG_PROCESS_ERROR(nRetCode); nErrorCount++; m_ErrorServerList.push_back(m_ServerList[i]); } lStopTime = time(NULL); ptmTime = localtime(&lStopTime); KGLOG_PROCESS_ERROR(ptmTime); KGLogPrintf( KGLOG_INFO, "Analyze %s ::Stop Time: %d-%d-%d %d:%d:%d\n", m_ServerList[i].szServerName, ptmTime->tm_year + 1900, ptmTime->tm_mon + 1, ptmTime->tm_mday, ptmTime->tm_hour, ptmTime->tm_min, ptmTime->tm_sec ); uRunningSeconds = (unsigned)(lStopTime - lStartTime); KGLogPrintf( KGLOG_INFO, "Analyze %s Running Time: %d days ,%d hours ,%d minutes, %d seconds.\n", m_ServerList[i].szServerName, (uRunningSeconds / (60 * 60 * 24)), ((uRunningSeconds % (60 * 60 * 24)) / (60 * 60)), ((uRunningSeconds % (60 * 60)) / 60), (uRunningSeconds % 60) ); } nResult = true; Exit0: if (nErrorTabFileInitFlag) { KG_COM_RELEASE(piErrorTabFile); nErrorTabFileInitFlag = false; } return nResult; }