PerformanceDlg.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:4k
源码类别:

模拟服务器

开发平台:

C/C++

  1. // PerformanceDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "S3DBClient.h"
  5. #include "PerformanceDlg.h"
  6. #include "vector"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CPerformanceDlg dialog
  14. CPerformanceDlg::CPerformanceDlg(CWnd* pParent /*=NULL*/)
  15. : CDialog(CPerformanceDlg::IDD, pParent)
  16. {
  17. //{{AFX_DATA_INIT(CPerformanceDlg)
  18. m_siDBServerPort = 0;
  19. m_siLocalPort = 0;
  20. m_dwWaitTime = 0;
  21. //}}AFX_DATA_INIT
  22. memset( m_byField, 0, sizeof( BYTE ) );
  23. }
  24. void CPerformanceDlg::DoDataExchange(CDataExchange* pDX)
  25. {
  26. CDialog::DoDataExchange(pDX);
  27. //{{AFX_DATA_MAP(CPerformanceDlg)
  28. DDX_Control(pDX, IDC_DBSERVER_ADDR, m_DBServerIPCtrl);
  29. DDX_Text(pDX, IDC_DBSERVER_PORT, m_siDBServerPort);
  30. DDV_MinMaxInt(pDX, m_siDBServerPort, 0, 10000);
  31. DDX_Text(pDX, IDC_LOCAL_PORT, m_siLocalPort);
  32. DDV_MinMaxInt(pDX, m_siLocalPort, 0, 10000);
  33. DDX_Text(pDX, IDC_WAITTIME, m_dwWaitTime);
  34. //}}AFX_DATA_MAP
  35. }
  36. BEGIN_MESSAGE_MAP(CPerformanceDlg, CDialog)
  37. //{{AFX_MSG_MAP(CPerformanceDlg)
  38. ON_NOTIFY(IPN_FIELDCHANGED, IDC_DBSERVER_ADDR, OnFieldchangedDbserverAddr)
  39. ON_EN_CHANGE(IDC_DBSERVER_PORT, OnChangeDbserverPort)
  40. ON_EN_CHANGE(IDC_LOCAL_PORT, OnChangeLocalPort)
  41. ON_EN_CHANGE(IDC_WAITTIME, OnChangeWaittime)
  42. //}}AFX_MSG_MAP
  43. END_MESSAGE_MAP()
  44. /////////////////////////////////////////////////////////////////////////////
  45. // CPerformanceDlg message handlers
  46. void CPerformanceDlg::OnOK() 
  47. {
  48. // TODO: Add extra validation here
  49. m_DBServerIPCtrl.GetAddress( m_byField[0], m_byField[1],
  50. m_byField[2], m_byField[3] );
  51. CDialog::OnOK();
  52. }
  53. void CPerformanceDlg::OnCancel() 
  54. {
  55. // TODO: Add extra cleanup here
  56. CDialog::OnCancel();
  57. }
  58. void CPerformanceDlg::SetAddress( LPCTSTR lpszAddress )
  59. {
  60. if ( NULL != lpszAddress )
  61. {
  62. TCHAR* pAt = ( TCHAR* )lpszAddress;
  63. TCHAR* pAtTemp = pAt;
  64. size_t length = _tcslen( lpszAddress );
  65. int iLoop = 0;
  66. for ( size_t i = 0; i < length; i++ )
  67. {
  68. if ( _T('.') == pAt[i] )
  69. {
  70. pAt[i] = 0;
  71. m_byField[iLoop] = atoi( pAtTemp );
  72. pAt[i] = _T('.');
  73. pAtTemp = &( pAt[i+1] );
  74. iLoop++;
  75. }
  76. else if ( ( length - 1 ) == i )
  77. {
  78. m_byField[iLoop] = atoi( pAtTemp );
  79. }
  80. }
  81. }
  82. }
  83. BOOL CPerformanceDlg::OnInitDialog() 
  84. {
  85. CDialog::OnInitDialog();
  86. // TODO: Add extra initialization here
  87. m_DBServerIPCtrl.SetAddress( m_byField[0], m_byField[1],
  88. m_byField[2], m_byField[3] );
  89. return TRUE;  // return TRUE unless you set the focus to a control
  90.               // EXCEPTION: OCX Property Pages should return FALSE
  91. }
  92. void CPerformanceDlg::GetAddress(BYTE &byField0, BYTE &byField1, BYTE &byField2, BYTE &byField3)
  93. {
  94. byField0 = m_byField[0];
  95. byField1 = m_byField[1];
  96. byField2 = m_byField[2];
  97. byField3 = m_byField[3];
  98. }
  99. void CPerformanceDlg::OnFieldchangedDbserverAddr(NMHDR* pNMHDR, LRESULT* pResult) 
  100. {
  101. // TODO: Add your control notification handler code here
  102. UpdateData(TRUE);
  103. *pResult = 0;
  104. }
  105. void CPerformanceDlg::OnChangeDbserverPort() 
  106. {
  107. // TODO: If this is a RICHEDIT control, the control will not
  108. // send this notification unless you override the CDialog::OnInitDialog()
  109. // function and call CRichEditCtrl().SetEventMask()
  110. // with the ENM_CHANGE flag ORed into the mask.
  111. // TODO: Add your control notification handler code here
  112. UpdateData(TRUE);
  113. }
  114. void CPerformanceDlg::OnChangeLocalPort() 
  115. {
  116. // TODO: If this is a RICHEDIT control, the control will not
  117. // send this notification unless you override the CDialog::OnInitDialog()
  118. // function and call CRichEditCtrl().SetEventMask()
  119. // with the ENM_CHANGE flag ORed into the mask.
  120. // TODO: Add your control notification handler code here
  121. UpdateData(TRUE);
  122. }
  123. void CPerformanceDlg::OnChangeWaittime() 
  124. {
  125. // TODO: If this is a RICHEDIT control, the control will not
  126. // send this notification unless you override the CDialog::OnInitDialog()
  127. // function and call CRichEditCtrl().SetEventMask()
  128. // with the ENM_CHANGE flag ORed into the mask.
  129. // TODO: Add your control notification handler code here
  130. UpdateData(TRUE);
  131. }