SmsCenter/DLG_Setup.cpp
2025-01-03 16:47:25 +08:00

257 lines
8.1 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// DLG_Setup.cpp : implementation file
//
#include "stdafx.h"
#include "SmsCenter.h"
#include "DLG_Setup.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// DLG_Setup dialog
DLG_Setup::DLG_Setup(CWnd* pParent /*=NULL*/)
: CDialog(DLG_Setup::IDD, pParent)
{
//{{AFX_DATA_INIT(DLG_Setup)
//}}AFX_DATA_INIT
memset(&m_Setup,0,sizeof(m_Setup));
}
void DLG_Setup::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(DLG_Setup)
DDX_Control(pDX, IDC_SETUP_IP_IPADDRESS, m_L_Address);
DDX_Control(pDX, IDC_SETUP_DB_USER3, m_E_DBUser3);
DDX_Control(pDX, IDC_SETUP_DB_USER2, m_E_DBUser2);
DDX_Control(pDX, IDC_SETUP_DB_PASSWORD3, m_E_DBPassword3);
DDX_Control(pDX, IDC_SETUP_DB_PASSWORD2, m_E_DBPassword2);
DDX_Control(pDX, IDC_SETUP_DB_NAME3, m_E_DBName3);
DDX_Control(pDX, IDC_SETUP_DB_NAME2, m_E_DBName2);
DDX_Control(pDX, IDC_SETUP_IP_FILENAME, m_E_IPName);
DDX_Control(pDX, IDC_SETUP_MQ_SERVER, m_E_MQ_Server);
DDX_Control(pDX, IDC_SETUP_MQ_QSENDP, m_E_MQ_QSendP);
DDX_Control(pDX, IDC_SETUP_MQ_QSENDB, m_E_MQ_QSendB);
DDX_Control(pDX, IDC_SETUP_MQ_QRECV, m_E_MQ_QRecv);
DDX_Control(pDX, IDC_SETUP_MQ_QM, m_E_MQ_QM);
DDX_Control(pDX, IDC_SETUP_DB_USERS, m_S_DBUser);
DDX_Control(pDX, IDC_SETUP_DB_PASSWORDS, m_S_DBPassword);
DDX_Control(pDX, IDC_SETUP_DB_USER, m_E_DBUser);
DDX_Control(pDX, IDC_SETUP_DB_PASSWORD, m_E_DBPassword);
DDX_Control(pDX, IDC_SETUP_DB_TYPE, m_L_DBType);
DDX_Control(pDX, IDC_SETUP_DB_SELDB, m_B_DBSelDB);
DDX_Control(pDX, IDC_SETUP_DB_NAME, m_E_DBName);
//}}AFX_DATA_MAP
DDX_Control(pDX, IDC_SETUP_ZLIB, m_B_Zlib);
DDX_Control(pDX, IDC_SETUP_ZLIB_MANAGER, m_B_Zlib_Manager);
DDX_Control(pDX, IDC_SETUP_XY, m_B_XY);
DDX_Control(pDX, IDC_SETUP_DB_PROVIDER, m_E_Provider);
}
BEGIN_MESSAGE_MAP(DLG_Setup, CDialog)
//{{AFX_MSG_MAP(DLG_Setup)
ON_CBN_SELCHANGE(IDC_SETUP_DB_TYPE, OnSelchangeSetupDbType)
ON_BN_CLICKED(IDC_SETUP_DB_SELDB, OnSetupDbSeldb)
ON_BN_CLICKED(IDC_SETUP_IP_FILENAME_SEL, OnSetupIpFilenameSel)
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDOK, &DLG_Setup::OnBnClickedOk)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// DLG_Setup message handlers
void DLG_Setup::SetPara(SC_Setup setup)
{
m_Setup = setup;
}
SC_Setup DLG_Setup::GetPara()
{
return m_Setup;
}
BOOL DLG_Setup::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_L_DBType.SetCurSel( m_Setup.uiDBType );
m_E_DBName.SetWindowText( m_Setup.szDBName );
m_E_DBUser.SetWindowText( m_Setup.szDBUser );
m_E_DBPassword.SetWindowText( m_Setup.szDBPasswd );
m_E_DBName2.SetWindowText( m_Setup.szDBName2 );
m_E_DBUser2.SetWindowText( m_Setup.szDBUser2 );
m_E_DBPassword2.SetWindowText( m_Setup.szDBPasswd2 );
m_E_DBName3.SetWindowText( m_Setup.szDBName3 );
m_E_DBUser3.SetWindowText( m_Setup.szDBUser3 );
m_E_DBPassword3.SetWindowText( m_Setup.szDBPasswd3 );
m_E_Provider.SetWindowText(m_Setup.szProvider);
m_E_MQ_Server.SetWindowText( m_Setup.szMQ_Server );
m_E_MQ_QM.SetWindowText( m_Setup.szMQ_QM );
m_E_MQ_QRecv.SetWindowText( m_Setup.szMQ_QRecv );
m_E_MQ_QSendP.SetWindowText( m_Setup.szMQ_QSendP );
m_E_MQ_QSendB.SetWindowText( m_Setup.szMQ_QSendB );
m_E_IPName.SetWindowText( m_Setup.szIPName );
OnSelchangeSetupDbType();
//ȡ<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>IP<49><50>ַ
WORD wVersionRequested;
WSADATA wsaData;
//Start up WinSock
wVersionRequested = MAKEWORD(2, 2);
WSAStartup(wVersionRequested, &wsaData);
char HostName[128]={0};
LPHOSTENT lpHostEnt;
struct in_addr addr[50]={0};
if ( m_Setup.addr == htonl(INADDR_ANY))
m_L_Address.SetCurSel(0);
if (gethostname(HostName,sizeof(HostName))
!=SOCKET_ERROR)// <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
{
lpHostEnt=gethostbyname(HostName);//<2F><><EFBFBD>õõ<C3B5><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><C8A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
if (lpHostEnt)
{
for (int i=0; lpHostEnt->h_addr_list[i]!=0; i++)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD>еõ<D0B5>IP<49><50>ַ
{
memcpy(&addr[i],lpHostEnt->h_addr_list[i],
sizeof(in_addr));
#ifdef UNICODE
int iItem=m_L_Address.AddString(CA2W(inet_ntoa(addr[i])));
if ( addr[i].S_un.S_addr==m_Setup.addr )
m_L_Address.SetCurSel(iItem);
#else
int iItem=m_L_Address.AddString(inet_ntoa(addr[i]));
if ( addr[i].S_un.S_addr==m_Setup.addr )
m_L_Address.SetCurSel(iItem);
#endif
}
}
}
//Label4- >Caption=inet_ntoa(addr[0]);
//Label5- >Caption=inet_ntoa(addr[1]);
m_B_Zlib.SetCheck(m_Setup.bZlib);
m_B_Zlib_Manager.SetCheck(m_Setup.bZlibManager);
m_B_XY.SetCheck(m_Setup.bXY);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void DLG_Setup::OnSelchangeSetupDbType()
{
m_Setup.uiDBType = m_L_DBType.GetCurSel();
if ( m_Setup.uiDBType == DB_SQLSERVER )
{
m_B_DBSelDB.ShowWindow( SW_HIDE );
m_E_DBUser.ShowWindow( SW_SHOW );
m_E_DBPassword.ShowWindow( SW_SHOW );
m_S_DBUser.ShowWindow( SW_SHOW );
m_S_DBPassword.ShowWindow( SW_SHOW );
}
else
{
m_B_DBSelDB.ShowWindow( SW_SHOW );
m_E_DBUser.ShowWindow( SW_HIDE );
m_E_DBPassword.ShowWindow( SW_SHOW );
m_S_DBUser.ShowWindow( SW_HIDE );
m_S_DBPassword.ShowWindow( SW_SHOW );
}
}
void DLG_Setup::OnSetupDbSeldb()
{
static TCHAR BASED_CODE szFilter[] = _T("Access MDB Files (*.mdb)|*.mdb|All Files (*.*)|*.*||");
CFileDialog dlg(TRUE,_T("mdb"),NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
if (dlg.DoModal() == IDOK)
{
m_E_DBName.SetWindowText(dlg.GetPathName());
}
}
void DLG_Setup::OnSetupIpFilenameSel()
{
// static TCHAR BASED_CODE szFilter[] = _T("Access Files (*.mdb)|*.mdb|All Files (*.*)|*.*||");
// CFileDialog dlg(TRUE,_T("mdb"),_T("ip.mdb"), OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,szFilter);
// if (dlg.DoModal() == IDOK)
// {
// m_E_IPName.SetWindowText(dlg.GetPathName());
// }
}
void DLG_Setup::OnBnClickedOk()
{
//ȡ<><C8A1><EFBFBD><EFBFBD>
m_Setup.uiDBType = m_L_DBType.GetCurSel();
m_E_DBName.GetWindowText( m_Setup.szDBName , sizeof(m_Setup.szDBName) ); AllTrim(m_Setup.szDBName);
m_E_DBUser.GetWindowText( m_Setup.szDBUser , sizeof(m_Setup.szDBUser) ); AllTrim(m_Setup.szDBUser);
m_E_DBPassword.GetWindowText( m_Setup.szDBPasswd , sizeof(m_Setup.szDBUser) ); AllTrim(m_Setup.szDBUser);
m_E_DBName2.GetWindowText( m_Setup.szDBName2 , sizeof(m_Setup.szDBName2) ); AllTrim(m_Setup.szDBName2);
m_E_DBUser2.GetWindowText( m_Setup.szDBUser2 , sizeof(m_Setup.szDBUser2) ); AllTrim(m_Setup.szDBUser2);
m_E_DBPassword2.GetWindowText( m_Setup.szDBPasswd2 , sizeof(m_Setup.szDBUser2) ); AllTrim(m_Setup.szDBUser2);
m_E_DBName3.GetWindowText( m_Setup.szDBName3 , sizeof(m_Setup.szDBName3) ); AllTrim(m_Setup.szDBName3);
m_E_DBUser3.GetWindowText( m_Setup.szDBUser3 , sizeof(m_Setup.szDBUser3) ); AllTrim(m_Setup.szDBUser3);
m_E_DBPassword3.GetWindowText( m_Setup.szDBPasswd3 , sizeof(m_Setup.szDBUser3) ); AllTrim(m_Setup.szDBUser3);
m_E_Provider.GetWindowText(m_Setup.szProvider, sizeof(m_Setup.szProvider)); AllTrim(m_Setup.szProvider);
m_E_MQ_Server.GetWindowText( m_Setup.szMQ_Server , sizeof(m_Setup.szMQ_Server) ); AllTrim(m_Setup.szMQ_Server);
m_E_MQ_QM.GetWindowText( m_Setup.szMQ_QM , sizeof(m_Setup.szMQ_QM) ); AllTrim(m_Setup.szMQ_QM);
m_E_MQ_QRecv.GetWindowText( m_Setup.szMQ_QRecv , sizeof(m_Setup.szMQ_QRecv) ); AllTrim(m_Setup.szMQ_QRecv);
m_E_MQ_QSendP.GetWindowText( m_Setup.szMQ_QSendP , sizeof(m_Setup.szMQ_QSendP) ); AllTrim(m_Setup.szMQ_QSendP);
m_E_MQ_QSendB.GetWindowText( m_Setup.szMQ_QSendB , sizeof(m_Setup.szMQ_QSendB) ); AllTrim(m_Setup.szMQ_QSendB);
m_E_IPName.GetWindowText( m_Setup.szIPName , sizeof(m_Setup.szIPName));AllTrim(m_Setup.szIPName);
if ( _tcslen( m_Setup.szDBName) <= 0 )
{
MessageBox( _T("<EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!") , _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>") , MB_ICONWARNING );
m_E_DBName.SetFocus();
return ;
}
CString strAddr ;
m_L_Address.GetWindowText(strAddr);
if ( strAddr == CString(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")) )
{
m_Setup.addr = htonl(INADDR_ANY);
}
else
{
#ifdef UNICODE
m_Setup.addr = inet_addr( CW2A(strAddr) );
#else
m_Setup.addr = inet_addr( strAddr );
#endif
}
m_Setup.bZlib = m_B_Zlib.GetCheck();
m_Setup.bZlibManager = m_B_Zlib_Manager.GetCheck();
m_Setup.bXY = m_B_XY.GetCheck();
CDialog::OnOK();
}