#pragma once #include #include "akCore/akFileUtil.h" //enum Judgement { Judge_OK = 0, Judge_RP, Judge_NG, Judge_TR, Judge_PR, Judge_PT, Judge_Review, Judge_RC, Judge_Size, Judge_VI, Judge_Rework, Judge_Unknown };//2016.07.13 LHS Judge_Size Ãß°¡ struct _StackDefectCPJT { int m_nDefectID ; //char m_strCellID[32] ; CString m_strCellName ; int m_nPosX ; int m_nPosY ; int m_nSize ; int m_nUmSizeX ; int m_nUmSizeY ; int m_nDefectRScale ; CString m_strDefectGrade; CString m_strDefectType ; int m_nStackCnt ; CString m_strStackStep ; //char m_strJudge[16] ; //char m_strCode[16] ; }; class CStackResultCPJT { public: CStackResultCPJT(void); virtual ~CStackResultCPJT(void); protected: enum emStackProcessState { SPS_StateIdle = 0, SPS_StateFileRead, //Àб⠼öÇà Áß SPS_ResultReadOK, SPS_ResultReadFail, SPS_CmdFileRead, //Àб⠸í·É ¼öÇà SPS_CmdFileStop, //Àб⠸í·É ¼öÇà ÁßÁö SPS_Num }; public: void clear() { m_vecStackDefect.clear(); } BOOL StackFileReadStart(char* pGlassID); BOOL StackFileReadStop(BOOL bWait=TRUE); BOOL IsRead() { return m_nProcessState == SPS_ResultReadOK?TRUE:FALSE; } int GetDefectNum() { return (int)m_vecStackDefect.size();} _StackDefectCPJT* GetDefect(int i) { return &m_vecStackDefect[i]; } BOOL readOptionFile(char* pFileName = NULL); BOOL getStackUse(){return m_bStackUse;}; char* getStackEquipID(){return m_strEquipID;}; char* getStackOperID(){return m_strParam1;}; char* getStackLocalPath(){return m_strLocalPath;}; protected: BOOL openFile( char* pGlassID ); static void threadStackFileRead(void* pArg); int m_nThreadStackFileReadFlag; protected: char m_strConfigFile[MAX_PATH]; BOOL m_bStackUse; char m_strLocalPath[MAX_PATH]; char m_strEquipID[32]; char m_strParam1[32]; //operid emStackProcessState m_nProcessState;//-1:Àбâ½ÇÆÐ,0:Idle, 1:Àб⼺°ø, 2:Àбâ½Ãµµ(ÀбâÁß) std::vector<_StackDefectCPJT> m_vecStackDefect; CString m_strGlassID; protected: char* getParsingData(char* pBuf, int nLen, CString* pOutData); char* getParsingData(char* pBuf, int nLen, int* pOutData); };