#include ".\parameterpaser.h" CParameterPaser::CParameterPaser(void) { m_bPasing = FALSE; ZeroMemory( m_szValue, MAX_PARAM_COUNT*MAX_PATH_SIZE ); m_nCntParam = 0; } CParameterPaser::~CParameterPaser(void) { } //ÀÎÀÚ·Î µé¾î¿Â °ªÀ» ÆÄ½ÌÇÑ´Ù. BOOL CParameterPaser::ParseCommandLine (const char* lpszCmdLine) { if( lpszCmdLine == NULL || sizeof(lpszCmdLine) == 0 ) return FALSE; char szTemp[MAX_PATH_SIZE]; int nTempPtr=0; bool bInitParse = FALSE; //ÇöÀç ÆÄ¼­½ÃŰ·Á´Â Ä¿¸Çµå ¶óÀÎÀÇ ÀÎÀÚ °³¼ö ÃʱâÈ­. m_nCntParam = 0; for (int i = 0 ; lpszCmdLine[i] ; i++) { switch (lpszCmdLine[i]) { case '<' : bInitParse = TRUE; break; case '>' : szTemp[nTempPtr] = 0; if( m_nCntParam >= 10 ) return FALSE; strncpy( m_szValue[m_nCntParam], szTemp, MAX_PATH_SIZE ); nTempPtr=0; m_nCntParam++; bInitParse = FALSE; break; default : if (bInitParse) { szTemp[nTempPtr] = lpszCmdLine[i]; nTempPtr++; } break; } } return TRUE; } BOOL CParameterPaser::CheckParameter() { if(!strcmp (m_szPath, "")) { MessageBox (NULL, "Excutable File Path Not Found.", "error", MB_OK | MB_ICONERROR); return FALSE; } if(!strcmp (m_szIP, "")) { MessageBox (NULL, "Update Server IP Address Not Found.", "error", MB_OK | MB_ICONERROR); return FALSE; } return TRUE; } void CParameterPaser::GetParameterInfo( char* pszValue, int nSize, int nParam ) { if( nParam < 0 || nParam >= m_nCntParam ) return; strncpy( pszValue, m_szValue[nParam], nSize ); }