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

📄 serverconfiguredlg.cpp

📁 网络游戏龙族服务器端管理工具 rmtool 源代码
💻 CPP
字号:
// ServerConfigureDlg.cpp : implementation file
//

#include "stdafx.h"
#include "rmtool.h"
#include "ServerConfigureDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CServerConfigureDlg dialog


CServerConfigureDlg::CServerConfigureDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CServerConfigureDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CServerConfigureDlg)
	m_nCurServerSet = 0;
	m_nDefaultServersetNum = 0;
	m_UploadServerIp = _T("");
	m_UploadServerName = _T("");
	m_IniPath = _T("");
	//}}AFX_DATA_INIT
}


void CServerConfigureDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CServerConfigureDlg)
	DDX_Control(pDX, IDC_COMBO_DEFAULT_VIEW, c_Combo);
	DDX_Text(pDX, IDC_CUR_SERVERSET_NUM, m_nCurServerSet);
	DDV_MinMaxUInt(pDX, m_nCurServerSet, 0, 5);
	DDX_Text(pDX, IDC_DEFAULT_SERVERSET_NUM, m_nDefaultServersetNum);
	DDV_MinMaxUInt(pDX, m_nDefaultServersetNum, 0, 5);
	DDX_Text(pDX, IDC_UPLOAD_SERVER_IP, m_UploadServerIp);
	DDX_Text(pDX, IDC_UPLOAD_SERVER_NAME, m_UploadServerName);
	DDX_Text(pDX, IDC_INI_PATH, m_IniPath);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CServerConfigureDlg, CDialog)
	//{{AFX_MSG_MAP(CServerConfigureDlg)
	ON_BN_CLICKED(IDC_BROWSE, OnBrowse)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CServerConfigureDlg message handlers
extern int CURRENT_SERVERSET_NUM;
BOOL CServerConfigureDlg::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	m_pApp = (CRMToolApp*)AfxGetApp();
	// TODO: Add extra initialization here
	
	//扁夯轰
	c_Combo.InsertString(0,"None");
	c_Combo.InsertString(1,"Server View");
	c_Combo.InsertString(2,"Character View");
	c_Combo.InsertString(3,"Both");
	c_Combo.SetCurSel(m_pApp->m_DefaultView);					
	//

	m_nDefaultServersetNum = m_pApp->m_DefaultServerSetIndex;	//扁夯 辑滚悸 锅龋 
	m_nCurServerSet = CURRENT_SERVERSET_NUM;					//泅犁 辑滚悸 肮荐 
	m_UploadServerIp = m_pApp->m_szGameServerDataIp;			
	m_UploadServerName = m_pApp->m_szServerExecAddress;
	m_IniPath = m_pApp->m_szIniMakePath;

	UINT uId;
	for(int i=0; i<CURRENT_SERVERSET_NUM ; i++)
	{
		uId = IDC_PROXY_IP_1 + i;
		SetDlgItemText(uId, m_pApp->m_ProxyIp[ i ]);
		
		uId = IDC_PROXY_PORT_1 + i;
		SetDlgItemInt(uId, m_pApp->m_ProxyPort[ i ]);

		uId = IDC_SERVERSET_NAME_1 + i;
		SetDlgItemText(uId, m_pApp->m_ServerSetInfo[ i ].szSetName);

		uId = IDC_SERVER_PATH_1 + i;
		SetDlgItemText(uId, m_pApp->m_szDownloadPath[ i ]);

		uId = IDC_GAMESERVERDATA_1 + i;
		SetDlgItemText(uId, m_pApp->m_szGameServerDataPath[i]);
	}

	UpdateData(FALSE);

	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void CServerConfigureDlg::OnBrowse() 
{
	// TODO: Add your control notification handler code here
	LPITEMIDLIST pidlBrowse;
	char tmp[MAX_PATH];

	BROWSEINFO BRinfo;
	BRinfo.hwndOwner        = m_hWnd; // 何葛 扩档快狼 勤甸
	BRinfo.pidlRoot             = NULL;
	BRinfo.pszDisplayName = tmp;
	BRinfo.lpszTitle              = "Select Directory";
	BRinfo.ulFlags               = BIF_RETURNONLYFSDIRS;
	BRinfo.lpfn                    = NULL;
	BRinfo.lParam               = 0;
	
	pidlBrowse = SHBrowseForFolder(&BRinfo); // 促捞倔肺弊甫 剁款促.
	
	if( pidlBrowse != NULL) 
	{
		SHGetPathFromIDList(pidlBrowse, tmp); //菩胶甫 掘绢柯促.
		SetDlgItemText(IDC_INI_PATH, tmp);
	}
}

void CServerConfigureDlg::OnOK() 
{
	// TODO: Add extra validation here

	if( !RIGHT(MASK_3) )	return;

	UpdateData(TRUE);
	char szTemp[ 0xff ];

	char path[ MAX_PATH ];
	__PATH
//	sprintf(path,"%s\\Setup.ini",m_pApp->GetInstalledPath());

	m_pApp->m_DefaultView = c_Combo.GetCurSel();
	::WritePrivateProfileString("Default","DefaultView", _itoa(m_pApp->m_DefaultView, szTemp, 10), path);

	m_pApp->m_DefaultServerSetIndex = m_nDefaultServersetNum;
	CURRENT_SERVERSET_NUM = m_nCurServerSet;					//泅犁 辑滚悸 肮荐 
	::WritePrivateProfileString("ServerTool","TotalServersetNum", _itoa(CURRENT_SERVERSET_NUM, szTemp, 10), path);
	::WritePrivateProfileString("Default","DefaultServersetIndex", _itoa(m_nDefaultServersetNum, szTemp, 10), path);
	
	memset(m_pApp->m_szGameServerDataIp, 0, sizeof(m_pApp->m_szGameServerDataIp));
	memcpy(m_pApp->m_szGameServerDataIp, m_UploadServerIp, m_UploadServerIp.GetLength());
	::WritePrivateProfileString("PathInfo", "GameServerDataServerIP", m_pApp->m_szGameServerDataIp, path);
	
	memset(m_pApp->m_szServerExecAddress, 0, sizeof(m_pApp->m_szServerExecAddress));
	memcpy(m_pApp->m_szServerExecAddress, m_UploadServerName, m_UploadServerName.GetLength());
	m_pApp->m_szIniMakePath = m_IniPath;
	::WritePrivateProfileString("PathInfo", "IniMakePath", m_pApp->m_szIniMakePath, path);

	UINT uId;
	char str[0xff];
	for(int i=0; i<CURRENT_SERVERSET_NUM ; i++)
	{
		
		uId = IDC_PROXY_IP_1 + i;
		GetDlgItemText(uId, m_pApp->m_ProxyIp[ i ], 16);
		sprintf(szTemp, "proxy%d", i+1);
		::WritePrivateProfileString("ProxyServerInfo",szTemp, m_pApp->m_ProxyIp[ i ], path);
		
		uId = IDC_PROXY_PORT_1 + i;
		m_pApp->m_ProxyPort[ i ] = (WORD)GetDlgItemInt(uId); 
		_itoa(m_pApp->m_ProxyPort[ i ], str, 10);
		sprintf(szTemp, "port%d", i+1);
		::WritePrivateProfileString("ProxyServerInfo",szTemp, str, path);
		
		uId = IDC_SERVERSET_NAME_1 + i;
		GetDlgItemText(uId, m_pApp->m_ServerSetInfo[ i ].szSetName, 32);
		sprintf(szTemp, "ServersetName%d", i+1);
		::WritePrivateProfileString("ServerTool",szTemp, m_pApp->m_ServerSetInfo[ i ].szSetName, path);

		uId = IDC_SERVER_PATH_1 + i;
		GetDlgItemText(uId, m_pApp->m_szDownloadPath[ i ], MAX_PATH);
		sprintf(szTemp, "DownloadPath%d", i+1);
		::WritePrivateProfileString("PathInfo",szTemp, m_pApp->m_szDownloadPath[ i ], path);

		uId = IDC_GAMESERVERDATA_1 + i;
		GetDlgItemText(uId, m_pApp->m_szGameServerDataPath[i], MAX_PATH);
		sprintf(szTemp, "GameServerDataPath%d", i+1);
		::WritePrivateProfileString("PathInfo",szTemp, m_pApp->m_szGameServerDataPath[i], path);
	}

	

	CDialog::OnOK();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -