257 lines
8.1 KiB
C++
257 lines
8.1 KiB
C++
// 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();
|
||
}
|