📄 parameterpaser.cpp
字号:
#include ".\parameterpaser.h"
CParameterPaser::CParameterPaser(void)
{
ZeroMemory( m_szPath, MAX_PATH );
ZeroMemory( m_szIP, MAX_PATH );
ZeroMemory( m_szID, MAX_ID );
ZeroMemory( m_szPass, MAX_PASS );
m_nProtocol = 0;
m_nPort = 0;
m_bPasing = FALSE;
}
CParameterPaser::~CParameterPaser(void)
{
}
//牢磊肺 甸绢柯 蔼阑 颇教茄促.
BOOL CParameterPaser::ParseCommandLine (const char* lpszCmdLine)
{
if( lpszCmdLine == NULL || sizeof(lpszCmdLine) == 0 )
return FALSE;
static enum
{
STR_PATH,
STR_PROTOCOL,
STR_IPADDR,
STR_PORT,
STR_ID,
STR_PASS
};
char szTemp [MAX_PATH * 2];
int iArgc=0, iTempPtr=0;
bool bInitParse = FALSE;
for (int i = 0 ; lpszCmdLine[i] ; i++)
{
switch (lpszCmdLine[i])
{
case '<' :
bInitParse = TRUE;
break;
case '>' :
szTemp[iTempPtr] = 0;
switch (iArgc)
{
case STR_PATH :
strcpy (m_szPath, szTemp);
{
char szTemp2[MAX_PATH];
wsprintf( szTemp2, "PATH : %s", m_szPath );
OutputDebugString(szTemp2);
}
break;
case STR_PROTOCOL :
m_nProtocol = atoi(szTemp);
{
char szTemp2[MAX_PATH];
wsprintf(szTemp2, "PROTOCOL : %d", m_nProtocol);
OutputDebugString(szTemp2);
}
break;
case STR_IPADDR :
strcpy (m_szIP, szTemp);
{
char szTemp2[MAX_PATH];
wsprintf(szTemp2, "IP : %s", m_szIP);
OutputDebugString(szTemp2);
}
break;
case STR_PORT :
m_nPort = atoi(szTemp);
if (!m_nPort)
{
switch(m_nProtocol)
{
case PROTOCOL_FTP :
m_nPort = PORT_FTP;
break;
case PROTOCOL_HTTP :
m_nPort = PORT_HTTP;
break;
}
}
else
{
char szTemp2[MAX_PATH];
wsprintf(szTemp2, "PORT : %d", m_nPort);
OutputDebugString(szTemp2);
}
break;
case STR_ID :
strcpy (m_szID, szTemp);
{
char szTemp2[MAX_PATH];
wsprintf(szTemp2, "ID : %s", m_szID);
OutputDebugString(szTemp2);
}
break;
case STR_PASS :
strcpy (m_szPass, szTemp);
{
char szTemp2[MAX_PATH];
wsprintf(szTemp2, "PASS : %s", m_szPass);
OutputDebugString(szTemp2);
}
break;
}
iTempPtr=0;
iArgc++;
bInitParse = FALSE;
break;
default :
if (bInitParse)
{
szTemp[iTempPtr] = lpszCmdLine[i];
iTempPtr++;
}
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::GetPameterInfo( char* pszPath, char* pszIP, char* pszID, char* pszPass, int* pProtocol, int* pPort )
{
strcpy( pszPath, m_szPath );
strcpy( pszIP, m_szIP );
strcpy( pszID, m_szID );
strcpy( pszPass, m_szPass );
*pProtocol = m_nProtocol;
*pPort = m_nPort;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -