#include "StdAfx.h" #include "CustomizeReview.h" #include "akCore/akFileDB.h" #include "akGridData.h" #ifdef _DEBUG #undef THIS_FILE static char THIS_FILE[]=__FILE__; #define new DEBUG_NEW #endif #define CUSTOMIZE_RECIPE_PATH "C:\\DIT_Review\\Recipe" CCustomizeReview::CCustomizeReview(void) { m_bReadSuccess = FALSE; } CCustomizeReview::~CCustomizeReview(void) { m_vecCustomizeReview.clear(); } BOOL CCustomizeReview::openFile( char* pRecipeName ) { m_bReadSuccess = FALSE; m_nCustomizePlanType = 0; m_vecCustomizeReview.clear(); CString strFileName; { CString strRecipeFileName; strRecipeFileName.Format("%s\\%s.rcp", CUSTOMIZE_RECIPE_PATH, pRecipeName); if(PathFileExists(strRecipeFileName)) { strFileName.Format("%s\\%s.cri", CUSTOMIZE_RECIPE_PATH, pRecipeName); } else { strFileName.Format("%s\\%s.cri", CUSTOMIZE_RECIPE_PATH, "Default"); } } char* pFileName = strFileName.GetBuffer(0); FILE* pf = fopen(pFileName, "r"); if(pf == NULL) return FALSE; std::vector<_CustomizeReview> vecCustomizeReview; _CustomizeReview CustomizeReviewData; char buffer[1024]; char* pReadPoint = NULL; char *pStr; CakParser akParser; pStr = fgets(buffer, 1024, pf); m_nCustomizePlanType = atoi(pStr); //customize type while(!feof(pf)) { pStr = fgets(buffer, 1024, pf); if(strlen(buffer) <= 0 || pStr == NULL) break; akParser.process(pStr, " \r\n\t,^"); if(akParser.getTokNum() <= 0) break; CustomizeReviewData.m_nCustomizeDefectType = atoi( akParser.getTokStr(0) ); CustomizeReviewData.m_dCustomizeDefectPosXmm = atof( akParser.getTokStr(1) ); CustomizeReviewData.m_dCustomizeDefectPosYmm = atof( akParser.getTokStr(2) ); CustomizeReviewData.m_nCustomizeParam1 = atoi( akParser.getTokStr(3) ); CustomizeReviewData.m_nCustomizeParam2 = atoi( akParser.getTokStr(4) ); vecCustomizeReview.push_back(CustomizeReviewData); } fclose(pf); m_vecCustomizeReview = vecCustomizeReview; m_bReadSuccess = TRUE; return TRUE; }