⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parameterpaser.cpp

📁 奇迹世界更新程序源代码,其中包括一些文档
💻 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 + -