PeugeotDoc.cpp
上传用户:asikq0571
上传日期:2014-07-12
资源大小:528k
文件大小:3k
源码类别:

Internet/IE编程

开发平台:

Visual C++

  1. // PeugeotDoc.cpp : implementation of the CPeugeotDoc class
  2. //
  3. #include "stdafx.h"
  4. #include "Peugeot.h"
  5. #include "PeugeotDoc.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CPeugeotDoc
  13. IMPLEMENT_DYNCREATE(CPeugeotDoc, CDocument)
  14. BEGIN_MESSAGE_MAP(CPeugeotDoc, CDocument)
  15. //{{AFX_MSG_MAP(CPeugeotDoc)
  16. // NOTE - the ClassWizard will add and remove mapping macros here.
  17. //    DO NOT EDIT what you see in these blocks of generated code!
  18. //}}AFX_MSG_MAP
  19. END_MESSAGE_MAP()
  20. /////////////////////////////////////////////////////////////////////////////
  21. // CPeugeotDoc construction/destruction
  22. CPeugeotDoc::CPeugeotDoc()
  23. {
  24. //初始化变量
  25.     m_CmmPortType = CommPort;
  26. m_PrtType     = Blank;
  27.     m_MasterFlag  = false; 
  28. //网络口
  29. m_NetParam.TCPPrtType   = NetParam.TCPServer;
  30.     m_NetParam.LocalIPPort  = 6666;
  31. m_NetParam.RemoteIPPort = 6666;
  32.     CString sHostName; 
  33.     CString sIpAddress;
  34.     GetLocalHostName(sHostName);
  35. GetIpAddress(sHostName,sIpAddress);
  36. m_NetParam.LocalIPAddr  = sIpAddress;
  37.     m_NetParam.RemoteIPAddr = sIpAddress;
  38.     //
  39.     m_pSrvSocketObj = NULL;   //服务器
  40. m_pCltSocketObj = NULL;   //客户端
  41. m_pUDPSocketObj = NULL; 
  42. m_YXAddr = 257;
  43.     m_YCAddr = 1793;
  44. m_YMAddr = 3073;
  45. m_YXNum  = 5;
  46. m_YCNum  = 5;
  47. m_YMNum  = 5;
  48. m_pYXData = NULL;
  49.     m_pYCData = NULL;
  50.     m_pYMData = NULL;
  51. }
  52. CPeugeotDoc::~CPeugeotDoc()
  53. {
  54. if (m_pYXData!=NULL)
  55. delete[] m_pYXData;
  56.     if (m_pYCData!=NULL)
  57. delete[] m_pYCData;
  58. if (m_pYMData!=NULL)
  59. delete[] m_pYMData;
  60. }
  61. BOOL CPeugeotDoc::OnNewDocument()
  62. {
  63. if (!CDocument::OnNewDocument())
  64. return FALSE;
  65. ((CEditView*)m_viewList.GetHead())->SetWindowText(NULL);
  66. // TODO: add reinitialization code here
  67. // (SDI documents will reuse this document)
  68. return TRUE;
  69. }
  70. /////////////////////////////////////////////////////////////////////////////
  71. // CPeugeotDoc serialization
  72. void CPeugeotDoc::Serialize(CArchive& ar)
  73. {
  74. if (ar.IsStoring())
  75. {
  76. // TODO: add storing code here
  77. //((CEditView*)m_viewList.GetHead())->SerializeRaw(ar);
  78. }
  79. else
  80. {
  81. // TODO: add loading code here
  82. }
  83. }
  84. /////////////////////////////////////////////////////////////////////////////
  85. // CPeugeotDoc diagnostics
  86. #ifdef _DEBUG
  87. void CPeugeotDoc::AssertValid() const
  88. {
  89. CDocument::AssertValid();
  90. }
  91. void CPeugeotDoc::Dump(CDumpContext& dc) const
  92. {
  93. CDocument::Dump(dc);
  94. }
  95. #endif //_DEBUG
  96. /////////////////////////////////////////////////////////////////////////////
  97. // CPeugeotDoc commands
  98. void CPeugeotDoc::NewStackAddr()
  99. {
  100. //若已经开辟空间,释放
  101. if (m_pYXData != NULL)
  102. {
  103.   delete[] m_pYXData;
  104.       m_pYXData = NULL;
  105. }
  106.     if (m_pYCData != NULL)
  107. {
  108.   delete[] m_pYCData;
  109.       m_pYCData = NULL;
  110. }
  111. if (m_pYMData != NULL)
  112. {
  113.   delete[] m_pYMData;
  114.       m_pYMData = NULL;
  115. }
  116.     /////////////////////////////////////
  117. //开辟内存空间,并初始化值
  118. m_pYXData = new BYTE[m_YXNum];
  119.     m_pYCData = new  int[m_YCNum];
  120.     m_pYMData = new  DWORD[m_YMNum];
  121.     
  122. int i = 0;
  123.     if (m_pYXData != NULL)
  124.    for (i=0; i<m_YXNum; i++)
  125.   m_pYXData[i] = 0x00;
  126.     
  127.     if (m_pYCData != NULL)
  128.    for (i=0; i<m_YCNum; i++)
  129.   m_pYCData[i] = 0x0000;
  130. if (m_pYMData != NULL)
  131.    for (i=0; i<m_YMNum; i++)
  132.   m_pYMData[i] = 0x0000;
  133. }