This commit is contained in:
coco
2026-07-03 16:05:30 +08:00
commit df489d5640
1101 changed files with 779140 additions and 0 deletions
+81
View File
@@ -0,0 +1,81 @@
#if !defined(AFX_APPDATACEIPCURVEDLG_H__2362BEB4_EBBE_4F7C_90AC_9BFE496D3970__INCLUDED_)
#define AFX_APPDATACEIPCURVEDLG_H__2362BEB4_EBBE_4F7C_90AC_9BFE496D3970__INCLUDED_
#include "TestingData.h"
#include "AppDataCEIpCurveGraphView.h"
#include "ModifyIpCurveDlg.h"
#include "EasySize.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataCEIpCurveDlg.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataCEIpCurveDlg dialog
class CAppDataCEIpCurveDlg : public CDialog
{
DECLARE_EASYSIZE
// Construction
public:
CAppDataCEIpCurveDlg(CTestingData *const pIpsptd, CWnd* pParent = NULL); // standard constructor
void GetTimeWindow(std::vector<STSigTWInfo>& vtTWInfo);
// CAppDataCEIpCurveDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CAppDataCEIpCurveDlg)
enum { IDD = IDD_IP_CE_CURVE };
CListCtrl m_TimeWindow;
CListCtrl m_DataList;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataCEIpCurveDlg)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CAppDataCEIpCurveDlg)
virtual BOOL OnInitDialog();
afx_msg void OnClickCeDataList(NMHDR* pNMHDR, LRESULT* pResult);
virtual void OnOK();
afx_msg void OnModify();
afx_msg void OnSize(UINT nType, int cx, int cy);
afx_msg void OnSizing(UINT fwSide, LPRECT pRect);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
void CreateCEIpCurveGraphView();
CTestingData *m_pCEtd;
double m_dPeriod;
//界面用到的变量
CRect m_rectClient;
DWORD m_dwCurTSN;
public:
CAppDataCEIpCurveGraphView* m_pGraph;
CStringArray m_saOrgData;
float m_fMaxAbsV;
private:
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATACEIPCURVEDLG_H__2362BEB4_EBBE_4F7C_90AC_9BFE496D3970__INCLUDED_)
@@ -0,0 +1,94 @@
#if !defined(AFX_APPDATACEIPCURVEGRAPHVIEW_H__0A16334E_CF93_4AED_B33F_2F74F1592666__INCLUDED_)
#define AFX_APPDATACEIPCURVEGRAPHVIEW_H__0A16334E_CF93_4AED_B33F_2F74F1592666__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataCEIpCurveGraphView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataCEIpCurveGraphView view
#define MAX_DISCHARGE_PT 50
#define FILL_TIMEWIN_NUM 8
class CAppDataCEIpCurveGraphView : public CView
{
protected:
CAppDataCEIpCurveGraphView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppDataCEIpCurveGraphView)
// Attributes
public:
float m_fMaxAbsV;
CStringArray m_saOrgDataOne;
CStringArray m_saOrgDataTwo;
double m_dPeriodInfo;
std::vector<STSigTWInfo> m_vtTimeWin;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataCEIpCurveGraphView)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataCEIpCurveGraphView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataCEIpCurveGraphView)
// NOTE - the ClassWizard will add and remove member functions here.
afx_msg int OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
void CalculateIpCurve();
void DrawLine(CDC* const pDC);
void DrawEX(CDC* const pDC);
void DrawLY(CDC* const pDC);
int CoordinateMapping(float fValue, float fMappingRange, int MappingFactor);
void CalculateMaxScale();
void CalculatePointCoo();
void ClearPoint();
//m_iCXOffset和m_iCYOffset所确定的是左上角的一个起点,用来画X轴和Y轴的,也就是Y轴的最高点
//中心点的坐标(m_iCXOffset-1, m_iCYOffset+150),Y轴上下长度为150
int m_iCXOffset;
int m_iCYOffset;
int m_iMaxXScale;
int m_iMaxYScale;
POINT* m_pPoint;
POINT* m_pPointTwo;
POINT* m_pFillTWPt1;
POINT* m_pFillTWPt2;
int m_iPtNum;
double m_dChrVoltage1; //第一次充电的电压
double m_dCoffient1[MAX_DISCHARGE_PT];
double m_dX1Average;
double m_dChrVoltage2; //第二次充电电压
double m_dCoffient2[MAX_DISCHARGE_PT];
double m_dX2Average;
// int m_iPtNumTwo;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATACEIPCURVEGRAPHVIEW_H__0A16334E_CF93_4AED_B33F_2F74F1592666__INCLUDED_)
@@ -0,0 +1,60 @@
#if !defined(AFX_APPDATACESTDGRLISTVIEW_H__AD4C58AC_EA68_4E94_9E1D_3FABDBAF4B9C__INCLUDED_)
#define AFX_APPDATACESTDGRLISTVIEW_H__AD4C58AC_EA68_4E94_9E1D_3FABDBAF4B9C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataCESTdGrListView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataCESTdGrListView view
class CAppDataCESTdGrListView : public CListView
{
protected:
CAppDataCESTdGrListView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppDataCESTdGrListView)
// Attributes
public:
// Operations
public:
void SetTdAR(int iAR){m_iAR = iAR;}
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataCESTdGrListView)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataCESTdGrListView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataCESTdGrListView)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
int m_iAR;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATACESTDGRLISTVIEW_H__AD4C58AC_EA68_4E94_9E1D_3FABDBAF4B9C__INCLUDED_)
@@ -0,0 +1,63 @@
#if !defined(AFX_APPDATAIPSP3DTDCONLISTVIEW_H__54C4DF37_F9CF_4003_9ABF_E96D4058E6DD__INCLUDED_)
#define AFX_APPDATAIPSP3DTDCONLISTVIEW_H__54C4DF37_F9CF_4003_9ABF_E96D4058E6DD__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataIpsp3DTdConListView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataIpsp3DTdConListView view
class CAppDataIpsp3DTdConListView : public CListView
{
protected:
CAppDataIpsp3DTdConListView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppDataIpsp3DTdConListView)
CMDIChildWnd* m_pMngFrm;
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataIpsp3DTdConListView)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataIpsp3DTdConListView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataIpsp3DTdConListView)
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnColumnclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnRclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnOpDataRemove();
afx_msg void OnOpDeleteElectrode();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATAIPSP3DTDCONLISTVIEW_H__54C4DF37_F9CF_4003_9ABF_E96D4058E6DD__INCLUDED_)
+60
View File
@@ -0,0 +1,60 @@
#if !defined(AFX_APPDATAIPSP3DTDVIEW_H__B8AECC10_1EF8_45EE_8885_72D442B17A7C__INCLUDED_)
#define AFX_APPDATAIPSP3DTDVIEW_H__B8AECC10_1EF8_45EE_8885_72D442B17A7C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataIpsp3DTdView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataIpsp3DTdView view
class CAppDataIpsp3DTdView : public CView
{
protected:
CAppDataIpsp3DTdView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppDataIpsp3DTdView)
CMDIChildWnd* m_pMngFrm;
// Attributes
public:
CView* m_pGrListView;
CView* m_pContentListView;
CView* m_pDetailListView;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataIpsp3DTdView)
public:
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataIpsp3DTdView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataIpsp3DTdView)
afx_msg void OnSize(UINT nType, int cx, int cy);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CSplitterWnd m_firstSplitter;
CSplitterWnd m_secondSplitter;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATAIPSP3DTDVIEW_H__B8AECC10_1EF8_45EE_8885_72D442B17A7C__INCLUDED_)
@@ -0,0 +1,65 @@
#if !defined(AFX_APPDATAIPSPCETDCONLISTVIEW_H__1B136A6C_8DF4_4CDA_A222_C2B9367FAA08__INCLUDED_)
#define AFX_APPDATAIPSPCETDCONLISTVIEW_H__1B136A6C_8DF4_4CDA_A222_C2B9367FAA08__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataIpspCETdConListView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataIpspCETdConListView view
class CAppDataIpspCETdConListView : public CListView
{
protected:
CAppDataIpspCETdConListView(); // protected constructor used by dynamic creation
CMDIChildWnd* m_pMngFrm;
DECLARE_DYNCREATE(CAppDataIpspCETdConListView)
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataIpspCETdConListView)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataIpspCETdConListView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataIpspCETdConListView)
afx_msg void OnColumnclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnRclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnOpDataRemove();
afx_msg void OnOpDeleteElectrode();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATAIPSPCETDCONLISTVIEW_H__1B136A6C_8DF4_4CDA_A222_C2B9367FAA08__INCLUDED_)
+63
View File
@@ -0,0 +1,63 @@
#if !defined(AFX_APPDATAIPSPCETDVIEW_H__E70E5C49_AFCD_481B_95BD_7A2342C0427A__INCLUDED_)
#define AFX_APPDATAIPSPCETDVIEW_H__E70E5C49_AFCD_481B_95BD_7A2342C0427A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataIpspCETdView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataIpspCETdView view
class CAppDataIpspCETdView : public CView
{
protected:
CAppDataIpspCETdView(); // protected constructor used by dynamic creation
CMDIChildWnd* m_pMngFrm;
DECLARE_DYNCREATE(CAppDataIpspCETdView)
// Attributes
public:
CView* m_pGrListView;
CView* m_pContentListView;
CView* m_pDetailListView;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataIpspCETdView)
public:
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataIpspCETdView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataIpspCETdView)
afx_msg void OnSize(UINT nType, int cx, int cy);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CSplitterWnd m_firstSplitter;
CSplitterWnd m_secondSplitter;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATAIPSPCETDVIEW_H__E70E5C49_AFCD_481B_95BD_7A2342C0427A__INCLUDED_)
@@ -0,0 +1,63 @@
#if !defined(AFX_APPDATARSP3DTDCONLISTVIEW_H__DEEE408D_1113_40D6_9FCE_47D8918619C6__INCLUDED_)
#define AFX_APPDATARSP3DTDCONLISTVIEW_H__DEEE408D_1113_40D6_9FCE_47D8918619C6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataRsp3DTdConListView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataRsp3DTdConListView view
class CAppDataRsp3DTdConListView : public CListView
{
protected:
CAppDataRsp3DTdConListView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppDataRsp3DTdConListView)
CMDIChildWnd* m_pMngFrm;
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataRsp3DTdConListView)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataRsp3DTdConListView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataRsp3DTdConListView)
afx_msg void OnColumnclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnRclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnOpDataRemove();
afx_msg void OnOpDeleteElectrode();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATARSP3DTDCONLISTVIEW_H__DEEE408D_1113_40D6_9FCE_47D8918619C6__INCLUDED_)
+61
View File
@@ -0,0 +1,61 @@
#if !defined(AFX_APPDATARSP3DTDVIEW_H__556DCBCF_6D47_4EEF_850D_B9CABF7DA6C8__INCLUDED_)
#define AFX_APPDATARSP3DTDVIEW_H__556DCBCF_6D47_4EEF_850D_B9CABF7DA6C8__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataRsp3DTdView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataRsp3DTdView view
class CAppDataRsp3DTdView : public CView
{
protected:
CAppDataRsp3DTdView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppDataRsp3DTdView)
CMDIChildWnd* m_pMngFrm;
// Attributes
public:
CView* m_pGrListView;
CView* m_pContentListView;
CView* m_pDetailListView;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataRsp3DTdView)
public:
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataRsp3DTdView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataRsp3DTdView)
afx_msg void OnSize(UINT nType, int cx, int cy);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CSplitterWnd m_firstSplitter;
CSplitterWnd m_secondSplitter;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATARSP3DTDVIEW_H__556DCBCF_6D47_4EEF_850D_B9CABF7DA6C8__INCLUDED_)
@@ -0,0 +1,64 @@
#if !defined(AFX_APPDATASP2DTDCONLISTVIEW_H__1F9CB6F2_E48C_4C08_A09B_308936B24F36__INCLUDED_)
#define AFX_APPDATASP2DTDCONLISTVIEW_H__1F9CB6F2_E48C_4C08_A09B_308936B24F36__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataSP2DTdConListView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataSP2DTdConListView view
class CAppDataSP2DTdConListView : public CListView
{
protected:
CAppDataSP2DTdConListView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppDataSP2DTdConListView)
CMDIChildWnd* m_pMngFrm;
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataSP2DTdConListView)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataSP2DTdConListView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataSP2DTdConListView)
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnColumnclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnRclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnOpDataRemove();
afx_msg void OnOpDeleteElectrode();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATASP2DTDCONLISTVIEW_H__1F9CB6F2_E48C_4C08_A09B_308936B24F36__INCLUDED_)
+61
View File
@@ -0,0 +1,61 @@
#if !defined(AFX_APPDATASP2DTDVIEW_H__233E8217_B645_4D32_B9CE_E3E4F28CAA59__INCLUDED_)
#define AFX_APPDATASP2DTDVIEW_H__233E8217_B645_4D32_B9CE_E3E4F28CAA59__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataSP2DTdView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataSP2DTdView view
class CAppDataSP2DTdView : public CView
{
protected:
CAppDataSP2DTdView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppDataSP2DTdView)
CMDIChildWnd* m_pMngFrm;
// Attributes
public:
CView* m_pGrListView;
CView* m_pContentListView;
CView* m_pDetailListView;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataSP2DTdView)
public:
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataSP2DTdView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataSP2DTdView)
afx_msg void OnSize(UINT nType, int cx, int cy);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CSplitterWnd m_firstSplitter;
CSplitterWnd m_secondSplitter;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATASP2DTDVIEW_H__233E8217_B645_4D32_B9CE_E3E4F28CAA59__INCLUDED_)
@@ -0,0 +1,63 @@
#if !defined(AFX_APPDATASP3DTDCONLISTVIEW_H__1790D468_4996_47F6_852E_54056017C62E__INCLUDED_)
#define AFX_APPDATASP3DTDCONLISTVIEW_H__1790D468_4996_47F6_852E_54056017C62E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataSP3DTdConListView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataSP3DTdConListView view
class CAppDataSP3DTdConListView : public CListView
{
protected:
CAppDataSP3DTdConListView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppDataSP3DTdConListView)
CMDIChildWnd* m_pMngFrm;
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataSP3DTdConListView)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataSP3DTdConListView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataSP3DTdConListView)
afx_msg void OnColumnclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnRclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnOpDataRemove();
afx_msg void OnOpDeleteElectrode();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATASP3DTDCONLISTVIEW_H__1790D468_4996_47F6_852E_54056017C62E__INCLUDED_)
+62
View File
@@ -0,0 +1,62 @@
#if !defined(AFX_APPDATASP3DTDVIEW_H__ABDFFFC5_3072_40C2_AF3B_5D749960CA26__INCLUDED_)
#define AFX_APPDATASP3DTDVIEW_H__ABDFFFC5_3072_40C2_AF3B_5D749960CA26__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataSP3DTdView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataSP3DTdView view
class CAppDataSP3DTdView : public CView
{
protected:
CAppDataSP3DTdView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppDataSP3DTdView)
CMDIChildWnd* m_pMngFrm;
// Attributes
public:
CView* m_pGrListView;
CView* m_pContentListView;
CView* m_pDetailListView;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataSP3DTdView)
public:
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataSP3DTdView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataSP3DTdView)
afx_msg void OnSize(UINT nType, int cx, int cy);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CSplitterWnd m_firstSplitter;
CSplitterWnd m_secondSplitter;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATASP3DTDVIEW_H__ABDFFFC5_3072_40C2_AF3B_5D749960CA26__INCLUDED_)
@@ -0,0 +1,64 @@
#if !defined(AFX_APPDATASPCETDCONLISTVIEW__H__A62E1765_CA07_40ED_98B7_84E7D74673CA__INCLUDED_)
#define AFX_APPDATASPCETDCONLISTVIEW__H__A62E1765_CA07_40ED_98B7_84E7D74673CA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppDataSPCETdConListView_.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataSPCETdConListView_ view
class CAppDataSPCETdConListView_ : public CListView
{
protected:
CAppDataSPCETdConListView_(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppDataSPCETdConListView_)
CMDIChildWnd* m_pMngFrm;
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataSPCETdConListView_)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataSPCETdConListView_();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataSPCETdConListView_)
afx_msg void OnLButtonDblClk(UINT nFlags, CPoint point);
afx_msg void OnColumnclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnRclick(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnOpDataRemove();
afx_msg void OnOpDeleteElectrode();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATASPCETDCONLISTVIEW__H__A62E1765_CA07_40ED_98B7_84E7D74673CA__INCLUDED_)
+64
View File
@@ -0,0 +1,64 @@
#if !defined(AFX_APPDATASPCETDVIEW_H__6C5132DE_D24B_4680_B5F7_C34DE0CC728C__INCLUDED_)
#define AFX_APPDATASPCETDVIEW_H__6C5132DE_D24B_4680_B5F7_C34DE0CC728C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "AppDataSPCETdConListView_.h"
// AppDataSPCETdView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppDataSPCETdView view
class CAppDataSPCETdView : public CView
{
protected:
CAppDataSPCETdView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppDataSPCETdView)
CMDIChildWnd* m_pMngFrm;
// Attributes
public:
CView* m_pContentListView;
CView* m_pDetailListView;
CView* m_pGrListView;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppDataSPCETdView)
public:
virtual BOOL Create(LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID, CCreateContext* pContext = NULL);
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppDataSPCETdView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppDataSPCETdView)
afx_msg void OnSize(UINT nType, int cx, int cy);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CSplitterWnd m_firstSplitter;
CSplitterWnd m_secondSplitter;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATASPCETDVIEW_H__6C5132DE_D24B_4680_B5F7_C34DE0CC728C__INCLUDED_)
@@ -0,0 +1,57 @@
#if !defined(AFX_APPDATA_CE_IP_TD_GR_LISTVIEW_H__FF93DFFB_00BA_4C2B_B603_FEAADA8E77CA__INCLUDED_)
#define AFX_APPDATA_CE_IP_TD_GR_LISTVIEW_H__FF93DFFB_00BA_4C2B_B603_FEAADA8E77CA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppData_CE_IP_Td_Gr_ListView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppData_CE_IP_Td_Gr_ListView view
class CAppData_CE_IP_Td_Gr_ListView : public CListView
{
protected:
CAppData_CE_IP_Td_Gr_ListView(); // protected constructor used by dynamic creation
CMDIChildWnd* m_pMngFrm;
DECLARE_DYNCREATE(CAppData_CE_IP_Td_Gr_ListView)
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppData_CE_IP_Td_Gr_ListView)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppData_CE_IP_Td_Gr_ListView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppData_CE_IP_Td_Gr_ListView)
// NOTE - the ClassWizard will add and remove member functions here.
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPDATA_CE_IP_TD_GR_LISTVIEW_H__FF93DFFB_00BA_4C2B_B603_FEAADA8E77CA__INCLUDED_)
@@ -0,0 +1,60 @@
#if !defined(AFX_APPMARINETDDETAILLISTVIEW_H__00A480B5_E891_4453_851B_F25C2E805D50__INCLUDED_)
#define AFX_APPMARINETDDETAILLISTVIEW_H__00A480B5_E891_4453_851B_F25C2E805D50__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// AppMarineTdDetailListView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CAppMarineTdDetailListView view
class CAppMarineTdDetailListView : public CListView
{
protected:
CAppMarineTdDetailListView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CAppMarineTdDetailListView)
// Attributes
public:
CMDIChildWnd* m_pMngFrm;
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CAppMarineTdDetailListView)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CAppMarineTdDetailListView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CAppMarineTdDetailListView)
// NOTE - the ClassWizard will add and remove member functions here.
void OnCustomdrawDetailList (NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
CListCtrl* m_pDetailList;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_APPMARINETDDETAILLISTVIEW_H__00A480B5_E891_4453_851B_F25C2E805D50__INCLUDED_)
+61
View File
@@ -0,0 +1,61 @@
#if !defined(AFX_BROWSE2DSCRIPTDLG_H__113B5C57_A571_4C03_90B7_05C43A1141E5__INCLUDED_)
#define AFX_BROWSE2DSCRIPTDLG_H__113B5C57_A571_4C03_90B7_05C43A1141E5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "Browse2DScriptView.h"
#include "opcreatesptview.h"
#include "EasySize.h"
// Browse2DScriptDlg.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CBrowse2DScriptDlg dialog
class CBrowse2DScriptDlg : public CDialog
{
DECLARE_EASYSIZE
// Construction
public:
CBrowse2DScriptDlg(CWnd* pParent = NULL); // standard constructor
// CBrowse2dScriptFrame *m_BrowseFrame;
CBrowse2DScriptView *m_BrowseScript;
// COpCreateSptView *m_BrowseScript;
// Dialog Data
//{{AFX_DATA(CBrowse2DScriptDlg)
enum { IDD = IDD_BROWSE_SCRIPT_2D };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CBrowse2DScriptDlg)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CBrowse2DScriptDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSize(UINT nType, int cx, int cy);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_BROWSE2DSCRIPTDLG_H__113B5C57_A571_4C03_90B7_05C43A1141E5__INCLUDED_)
+73
View File
@@ -0,0 +1,73 @@
#if !defined(AFX_BROWSE2DSCRIPTVIEW_H__72D5F93E_4191_48D9_A57D_AC25ACC01FFB__INCLUDED_)
#define AFX_BROWSE2DSCRIPTVIEW_H__72D5F93E_4191_48D9_A57D_AC25ACC01FFB__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Browse2DScriptView.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CBrowse2DScriptView view
class CBrowse2DScriptView : public CScrollView
{
protected:
CBrowse2DScriptView(); // protected constructor used by dynamic creation
DECLARE_DYNCREATE(CBrowse2DScriptView)
// Attributes
public:
CDC* m_pMemDC;
CChannel* m_pNewChannel;
CSptRecord* m_pCurSptRecord;
int m_iEAmount;
int m_iMul;
int m_iWinWidth;
int m_iWinHeight;
BOOL m_bIsDraw;
// Operations
public:
void SetSelectPoint(CPtrArray *pSource);
void DrawRecPoint(int iRecCount, CDC* const pMemDC);
void DrawLY(CDC* const pMemDC);
void DrawEX(CDC* const pMemDC);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CBrowse2DScriptView)
public:
virtual void OnInitialUpdate();
protected:
virtual void OnDraw(CDC* pDC); // overridden to draw this view
//}}AFX_VIRTUAL
// Implementation
protected:
virtual ~CBrowse2DScriptView();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
//{{AFX_MSG(CBrowse2DScriptView)
afx_msg BOOL OnMouseWheel(UINT nFlags, short zDelta, CPoint pt);
afx_msg BOOL OnEraseBkgnd(CDC* pDC);
afx_msg void OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg void OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar);
afx_msg int OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CPtrArray *m_pSource;
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_BROWSE2DSCRIPTVIEW_H__72D5F93E_4191_48D9_A57D_AC25ACC01FFB__INCLUDED_)
@@ -0,0 +1,78 @@
#ifndef CDIALOG_3D_SCRIPT_DRAWING_BOARD_H_2019_06_24_16_36
#define CDIALOG_3D_SCRIPT_DRAWING_BOARD_H_2019_06_24_16_36
#pragma once
#define CIRCLE_DIAMETER (5) //圆直径
#define X_START_COORDINATES (30) //X开始坐标
#define Y_START_COORDINATES (30) //Y开始坐标
#define DIAL_NUMBER (4) //刻度个数
// CDialog3DScriptDrawingBoard 对话框
enum EN_CABLE_DIRECTION_TYPE
{
EN_CABLE_X_DIRECTION = 0,//电缆X方向
EN_CABLE_Y_DIRECTION = 1 //电缆Y方向
};
class CDialog3DScriptDrawingBoard : public CDialog
{
DECLARE_DYNAMIC(CDialog3DScriptDrawingBoard)
public:
static CDialog3DScriptDrawingBoard* GetInstance();
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
//是否Z序排列
void SetZOrderMethod(BOOL bZOrder)
{
m_bZOrder = bZOrder;
}
//设置电缆方向
void SetCableDirectionType(EN_CABLE_DIRECTION_TYPE enCableType)
{
m_enCableDirectionType = enCableType;
}
//设置X方向电极数目
void SetXElectrodeNumber(UINT32 uiXElecNumber)
{
m_uiXElecNumber = uiXElecNumber;
}
//设置Y方向电极数目
void SetYElectrodeNumber(UINT32 uiYElecNumber)
{
m_uiYElecNumber = uiYElecNumber;
}
//设置X方向电极间距
void SetXElectrodeDistance(float fXElecDistance)
{
m_fXElecDistance = fXElecDistance;
}
//设置Y方向电极间距
void SetYElectrodeDistance(float fYElecDistance)
{
m_fYElecDistance = fYElecDistance;
}
// 对话框数据
enum { IDD = IDD_DIALOG_3D_SCRIPT_DRAWING_BOARD };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
DECLARE_MESSAGE_MAP()
private:
CDialog3DScriptDrawingBoard(CWnd* pParent = NULL); // 标准构造函数
virtual ~CDialog3DScriptDrawingBoard();
EN_CABLE_DIRECTION_TYPE m_enCableDirectionType; //电缆方向
UINT32 m_uiXElecNumber; //X方向电极数目
UINT32 m_uiYElecNumber; //Y方向电极数目
float m_fXElecDistance; //X方向电极间距
float m_fYElecDistance; //Y方向电极间距
BOOL m_bZOrder; //绘制Z序排列
};
#endif
+34
View File
@@ -0,0 +1,34 @@
// Channel.h: interface for the CChannel class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CHANNEL_H__B28E9F1D_E305_49AC_A4CB_CE84AA453A9D__INCLUDED_)
#define AFX_CHANNEL_H__B28E9F1D_E305_49AC_A4CB_CE84AA453A9D__INCLUDED_
#include "stdafx.h"
#include "geomative.h"
#include "SptRecord.h"
#include "Medium.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CMedium;
class CChannel
{
public:
void ClearSptRecList(); //清除脚本记录列表
CChannel();
virtual ~CChannel();
int m_iChNumber;
int m_iMaxLevel;
int m_iPtAmount;
int m_iEAmount;
CMedium* m_pMedium;
CPtrArray m_sptRecArray;
};
#endif // !defined(AFX_CHANNEL_H__B28E9F1D_E305_49AC_A4CB_CE84AA453A9D__INCLUDED_)
+61
View File
@@ -0,0 +1,61 @@
// ChildFrm.h : interface of the CChildFrame class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_CHILDFRM_H__763BD2F7_5670_486F_8551_41A99C4552D4__INCLUDED_)
#define AFX_CHILDFRM_H__763BD2F7_5670_486F_8551_41A99C4552D4__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "ChildView.h"
class CChildFrame : public CMDIChildWnd
{
DECLARE_DYNCREATE(CChildFrame)
public:
CChildFrame();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CChildFrame)
public:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
virtual BOOL OnCmdMsg(UINT nID, int nCode, void* pExtra, AFX_CMDHANDLERINFO* pHandlerInfo);
//}}AFX_VIRTUAL
// Implementation
public:
// view for the client area of the frame.
CChildView m_wndView;
virtual ~CChildFrame();
#ifdef _DEBUG
virtual void AssertValid() const;
virtual void Dump(CDumpContext& dc) const;
#endif
// Generated message map functions
protected:
//{{AFX_MSG(CChildFrame)
// NOTE - the ClassWizard will add and remove member functions here.
// DO NOT EDIT what you see in these blocks of generated code!
afx_msg void OnFileClose();
afx_msg void OnSetFocus(CWnd* pOldWnd);
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_CHILDFRM_H__763BD2F7_5670_486F_8551_41A99C4552D4__INCLUDED_)
+51
View File
@@ -0,0 +1,51 @@
// ChildView.h : interface of the CChildView class
//
/////////////////////////////////////////////////////////////////////////////
#if !defined(AFX_CHILDVIEW_H__C688B276_B321_48F2_B8C1_7A74F09D700E__INCLUDED_)
#define AFX_CHILDVIEW_H__C688B276_B321_48F2_B8C1_7A74F09D700E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CChildView window
class CChildView : public CWnd
{
// Construction
public:
CChildView();
// Attributes
public:
// Operations
public:
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CChildView)
protected:
virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
//}}AFX_VIRTUAL
// Implementation
public:
virtual ~CChildView();
// Generated message map functions
protected:
//{{AFX_MSG(CChildView)
afx_msg void OnPaint();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_CHILDVIEW_H__C688B276_B321_48F2_B8C1_7A74F09D700E__INCLUDED_)
+164
View File
@@ -0,0 +1,164 @@
#if !defined(AFX_COMBINEDLG_H__1FE08FFB_0538_4090_A846_F307F44B96FD__INCLUDED_)
#define AFX_COMBINEDLG_H__1FE08FFB_0538_4090_A846_F307F44B96FD__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// CombineDlg.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CCombineDlg dialog
#include "HandleProcessor.h" // Added by ClassView
#include "navdataview.h"
#include "GUCodeCreator.h"
//#include <string>
//using namespace std;
class CHandleProcessor;
class _task
{
public:
_task();
virtual ~_task();
int m_TCHID;
CString m_szTdName; //测试任务名字
CString m_szTdCN; //测试任务唯一ID
CString m_szTLocation; //任务位置
int m_deviceID; //设备ID
CString m_SN; //设备序列号
int m_TzId; //测区ID
int m_szSCID; //脚本ID
CString m_szSCCN; //脚本CN
CString m_szSName; //脚本名字
int m_iSType; //脚本类型
int m_iTType; //测试类型 1d,2d,3d
int m_iTMode; //测试模式 RES,IP,SP
int m_iEAmount; //电极数量
int m_iTPAmount; //测点数量
int m_iCHAmount; //通道数量
int m_iN; //迭代次数
int m_iTRWave; //发射波形
int m_iTRFrequency; //发射频率
int m_iIFrequency; //工业披绿
int m_iSAFrequency; //采样频率
int m_iCLayout; //电缆布置方式
CString m_fESpace; //电极间隔
CString m_iEDistance;//电极间距
int m_iWeather; //天气
int m_iWDIR; //风向
float m_fTemperature;//温度
float m_fHeight; //海拔
float m_fHumidity; //湿度
CString m_szCDate; //建立日期
CString m_szCTime; //建立时间
CString m_szTDate; //测试日期
CString m_szTTime; //测试时间
int m_iRDirection; //滚动方向
int m_CRtime; //滚动次数
// CString m_szPM; //项目经理
// CString m_szOP; //操作员
// CString m_szQA; //质检员
CString m_Rect; //矩阵大小
CString m_RectLocal;//矩阵位置
int m_ChNumber;
int m_AR;
};
// class _taskList
// {
// public:
// _taskList();
// virtual ~_taskList();
//
// DWORD m_tzID; //所属测区ID
// int m_length; //长度
// _task m_task[1];
// };
class CCombineDlg : public CDialog
{
// Construction
public:
int m_TdID;
CString m_szTaskName;
CHandleProcessor m_handleProcessor;
int m_scriptType;
int m_testType;
int GetTpAmount();
// CCombineDlg(CWnd* pParent = NULL); // standard constructor
CCombineDlg(CNavDataView *pNavData,CHandleProcessor HandleProcessor,_ConnectionPtr connectPtr, CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CCombineDlg)
enum { IDD = IDD_COMBINE_TEST };
CListCtrl m_TaskList;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCombineDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CCombineDlg)
virtual void OnOK();
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CString GetTdCN(CString f_CN);
CString GetTaskName();
BOOL InsertDataToDB();
void InsertTask(DWORD dwID);
BOOL InsertTdInfoToDB();
BOOL CheckTaskValid();
void InitListContent();
BOOL CalcCombineRectAndEDistance();
CNavDataView *m_pNavData;
_ConnectionPtr m_connectPtr;
CGUCodeCreator m_guCodeCreator;
// _taskList *m_pTask;
_task *m_pTask;
int m_nSum; //选中测试任务的总数
int m_nID; //当前任务的索引
int m_tchID;
int m_TzID;
float m_fCombiXDistance;
float m_fCombiYDistance;
int m_nCombiXGridSize;
int m_nCOmbiYGridSize;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_COMBINEDLG_H__1FE08FFB_0538_4090_A846_F307F44B96FD__INCLUDED_)
+266
View File
@@ -0,0 +1,266 @@
#include "StdAfx.h"
#include <basetsd.h>
#ifndef CONST_PUB_H
#define CONST_PUB_H
/////////////////////////////////////const///////////////////////////////////
const int LANG_ZHCN = 1;
const int LANG_ENUS = 2;
const int RECT_LEFT_ADJUST = 1;
const int RECT_TOP_ADJUST = 1;
const int RECT_RIGHT_ADJUST = 2;
const int RECT_BOTTOM_ADJUST = 20;
const LONG VAL_MINUS_ONE = -1;
const LONG VAL_ZERO = 0;
const LONG VAL_ONE = 1;
const LONG VAL_TWO = 2;
const double VAL_PI = 3.14159265;
const UINT TAB_INDEX_PRO = 0;
const UINT TAB_INDEX_DEV = 1;
const UINT TAB_INDEX_CE = 0;
const UINT TAB_INDEX_2D = 1;
const UINT TAB_INDEX_3D = 2;
const UINT TAB_INDEX_DMS = 0;
const UINT TAB_INDEX_SPT = 1;
const UINT TAB_INDEX_TP_SEL = 0;
const UINT TAB_INDEX_TP_SORT = 1;
const UINT TAB_INDEX_4PVES = 0;
const UINT TAB_INDEX_DIPOLE = 1;
const UINT TAB_INDEX_3PVES = 2;
const UINT TAB_INDEX_RECTGL = 3;
const UINT TAB_INDEX_CUSTOM = 5;
const UINT TAB_INDEX_UNTIFY_PROFILE = 4;
const UINT SPL_WND_A_ROW = 1;
const UINT SPL_WND_A_COL = 2;
const UINT SPL_VIEW_ROW_0 = 0;
const UINT SPL_VIEW_ROW_1 = 1;
const UINT SPL_VIEW_ROW_2 = 2;
const UINT SPL_VIEW_COL_0 = 0;
const UINT SPL_VIEW_COL_1 = 1;
const UINT SPL_VIEW_NAV_WIDTH = 250;
const UINT SPL_VIEW_NAV_HEIGHT = 900;
const UINT SPL_VIEW_APP_WIDTH = 973;
const UINT SPL_VIEW_APP_HEIGHT = 900;
const UINT SPL_VIEW_APP_DETAIL_WIDTH = 300;
const UINT SPL_VIEW_APP_DETAIL_HEIGHT = 900;
const UINT LIST_DETAIL_WIDTH_TITLE = 130;
const UINT LIST_DETAIL_WIDTH_VALUE = 1800;
const UINT LIST_DETAIL_AMOUNT_ROW = 80;
const UINT HANDLE_OFFSET = 27;
const UINT STATE_OFFSET = 12;
const UINT GUC_LENGTH = 17;
const INT YEAR_BASE = 2013;
const UINT ONLINE_DEVICE_AMOUNT = 20;
const UINT ELECTRODE_AMOUNT_PERCABLE = 10;
const UINT CABLE_AMOUNT = 24;
const UINT MAX_CB_AMOUNT = 1000;//240;à??1μ?1000μ???
const UINT CHANNEL_AMOUNT = 8;
const UINT MAXN = 255;
/////////////////////////////////////style///////////////////////////////
const UINT PZ_STYLE_PRO = 1;
const UINT PZ_STYLE_TZ = 2;
const UINT PZ_STYLE_TD_CERSP = 3;
const UINT PZ_STYLE_TD_CEIPSP = 4;
const UINT PZ_STYLE_TD_2DRSP = 5;
const UINT PZ_STYLE_TD_2DIPSP = 6;
const UINT PZ_STYLE_TD_3DRSP = 7;
const UINT PZ_STYLE_TD_3DIPSP = 8;
const UINT PZ_STYLE_SCON_CE = 9;
const UINT PZ_STYLE_SCON_2D = 10;
const UINT PZ_STYLE_SCON_3D = 11;
const UINT PZ_STYLE_SPT_CH = 12;
const UINT PZ_STYLE_SPT_FILE = 13;
const UINT PZ_STYLE_MED_DEF = 14;
const UINT PZ_STYLE_MED_CUS = 15;
//const UINT PZ_STYLE_DEV_SPT = 16;
const UINT PZ_STYLE_DEV = 17;
const UINT PZ_STYLE_TD_CESP = 18;
const UINT PZ_STYLE_TD_2DSP = 19;
const UINT PZ_STYLE_TD_3DSP = 20;
//const UINT PZ_STYLE_DEV_OL = 18;
//const UINT PZ_STYLE_DEV_FL = 19;
//const UINT PZ_STYLE_DEV_NEW = 20;
//const UINT PZ_STYLE_DEV_REG = 21;
//const UINT PZ_STYLE_DEV_ACT = 22;
const UINT PZ_STYLE_PROCN = 23;
const UINT PZ_STYLE_REMOTE_GD10 = 25;
const UINT PZ_STYLE_REMOTE_PLC = 26;
//////////////////////////////////////state////////////////////////////////
const UINT PZ_STATE_LOC = 1;
const UINT PZ_STATE_SYN = 2;
const UINT PZ_STATE_DEV = 3;
const UINT PZ_STATE_DB = 4;
const UINT PZ_STATE_OFFLINE = 5;
const UINT PZ_STATE_ONLINE = 6;
const UINT PZ_STATE_NEW = 7;
//const UINT PZ_STATE_ONLINE_UNSYN = 6;
//const UINT PZ_STATE_ONLINE_SYNED = 7;
/////////////////////////////////////execute code/////////////////////////////////
const UINT APP_SUCCESS = 0;
const UINT APP_FAIL = 1;
const UINT APP_CANCLE = 2;
const UINT APP_DUPLICATE = 3;
const UINT APP_RELATION = 4;
const UINT APP_OVERFLOW = 5;
const UINT APP_DEFAULT = 6;
/////////////////////////////////////error code//////////////////////////////////
const UINT APP_ERR_LOC_EXEC = 5;
const UINT APP_ERR_DB = 6;
///////////////////////////////////result code/////////////////////////////////
const INT_PTR RET_OK = 1;
const INT_PTR RET_CANCEL = 2;
/////////////////////////////////////////define/////////////////////////////
#define WM_SCHEDULE WM_USER + 101/*调度显示的弹出菜单,发送者是devmngframe/datamngframe,接收者 mainfrm*/
#define WM_REFRESH WM_USER + 102/*刷新界面,接收者有多个*/
#define WM_SKIP WM_USER + 103
#define WM_NEWLINK WM_USER + 104
#define WM_RECEIVE WM_USER + 105
#define WM_BREAKLINE WM_USER + 106
#define WM_INSERTCESPTREC WM_USER + 107
#define WM_UPDATECESPTREC WM_USER + 108
#define WM_DELETECESPTREC WM_USER + 109
#define WM_DRAWTPSPLINES WM_USER + 110
#define WM_DEVREFRESHGRREC WM_USER + 111
#define WM_DEVREFRESHALLGRREC WM_USER + 112
#define WM_DETECT_LINE WM_USER + 113
#define WM_REMOVE_2D_DATA WM_USER + 114
#define WM_REMOVE_3D_DATA WM_USER + 115
#define WM_REMOVE_1D_DATA WM_USER + 116
#define WM_LOADING_2D_DATA WM_USER + 117
#define WM_LOAD_BY_PAGE_SCHEDULE WM_USER + 118
#define WM_REFRESH_CONLIST WM_USER + 150
#define WM_DELETE_1D_ELECTRODE WM_USER + 120
#define WM_DELETE_2D_ELECTRODE WM_USER + 121
#define WM_DELETE_3D_ELECTRODE WM_USER + 122
#define WM_UPG_GEOMATIVE WM_USER + 123
#define WM_REFRESH_NAV_DEVICE WM_USER + 124
#define WM_SHOW_DEV_UPG_INFO WM_USER + 125
#define WM_CLEAR_DEV_UPG_INFO WM_USER + 126
#define WM_CLOSE_FRAME_WINDOW WM_USER + 127
#define WM_CHANGE_LANGUAGE WM_USER + 128
#define WM_MSG_BATCH_EXPORT_FILE WM_USER + 129
#define WM_MSG_NOTIFY_DEVICE_ON_OR_OFF WM_USER + 130
#define WM_MSG_REFRESH_MAIN_MAIN_MENU WM_USER + 131
#define WM_UPDATE_TIPS WM_USER + 132
#define WM_MSG_BATCH_DEL_TD_FILE WM_USER + 132
/////////////////////////////////////opration style//////////////////////////////
const UINT OP_FILE_IMP = 1;
const UINT OP_TD_RSP_L_GS = 2;
const UINT OP_DE_F_D = 3;
const UINT OP_TD_SYN = 4;
const UINT OP_SPT_SYN = 5;
const UINT OP_TD_REMOVE = 6;
////////////////////////////////////graph parameter///////////////////////////////
const UINT CIRCLE_RADIUS = 6;
const UINT CIRCLE_HALFSPACE = 2;
const UINT OFFSET_GRAPH = 100;
const UINT OFFSET_ELECTRODE_X = 96;
const UINT OFFSET_ELECTRODE_Y = 80;
const UINT LENGTH_ELECTRODE = 10;
const UINT OFFSET_LEVEL_X = 80;
const UINT OFFSET_LEVEL_Y = 100;
///////////////////////////////////comm buffer size////////////////////////////////
const int WRITEBUFFER_SIZE = 15360;
const int READBUFFER_SIZE = 15360;
////////////////////////////////////times/////////////////////////////////////////
const int MAX_POLLING_TIME = 500;
const int COMM_TIMEOUT = 500;
///////////////////////////////////http///////////////////////////////////////////
const UINT HTTP_OK = 2;
const UINT HTTP_ERROR = 3;
const UINT HTTP_REDIRECT = 4;
const UINT HTTP_FAIL = 5;
//////////////////////////////////////////////////////////////////////////
#define OFFSET_ENGLISH 0
#define OFFSET_CHINESE 2000
//////////////////////////////////////////////////////////////////////////
enum EN_3D_SPT_MEASURE_METHOD
{
EN_3D_SPT_FULL_MEASURE = 1,
EN_3D_SPT_CROSS_DIAGONAL,
EN_3D_SPT_CROSS_MEASURE
};
enum EN_3D_SPT_ARRAY
{
EN_3D_SPT_POLE_POLE = 22,
EN_3D_SPT_POLE_DIPOLE = 23,
EN_3D_SPT_DIPOLE_DIPOLE = 24,
EN_3D_SPT_SCHLUMBERGER = 25,
EN_3D_SPT_WENNER_ALFA = 26,
EN_3D_SPT_WENNER_BETA = 27,
EN_3D_SPT_MID_GARDIENT = 29,
EN_3D_SPT_LAND_FILL_ONE = 48,
EN_3D_SPT_LAND_FILL_TWO = 49
};
#endif
+36
View File
@@ -0,0 +1,36 @@
// Crc16.h: interface for the Crc16 class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CRC16_H__8BE9FD91_A066_4984_AEBA_EA04F8836263__INCLUDED_)
#define AFX_CRC16_H__8BE9FD91_A066_4984_AEBA_EA04F8836263__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class Crc16
{
private :
static unsigned short table[ 256 ];
static int initialized;
unsigned short crc;
public :
Crc16( unsigned short init_value );
void update( int c );
unsigned short value( void ){ return crc; }
// public:
// Crc16();
// virtual ~Crc16();
};
inline void Crc16::update( int c )
{
crc = (unsigned short)
( table[ (( crc >> 8 ) & 0xff ) ] ^
( crc << 8 ) ^ ( c & 0xff ) );
}
#endif // !defined(AFX_CRC16_H__8BE9FD91_A066_4984_AEBA_EA04F8836263__INCLUDED_)
+36
View File
@@ -0,0 +1,36 @@
// Crc32.h: interface for the Crc32 class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_CRC32_H__B1BA997F_CAA4_4FC6_B899_EF9C3CCC286B__INCLUDED_)
#define AFX_CRC32_H__B1BA997F_CAA4_4FC6_B899_EF9C3CCC286B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class Crc32
{
private :
static unsigned long table[ 256 ];
static int initialized;
unsigned long crc;
public :
Crc32( unsigned long init_value );
void update( int c );
unsigned long value( void )
{
return crc;
}
// public:
// Crc32();
// virtual ~Crc32();
};
inline void Crc32::update( int c )
{
crc = table[ ( (int) crc ^ ( c & 0xff ) ) & 0xff ] ^
( ( crc >> 8 ) & 0x00FFFFFFL );
}
#endif // !defined(AFX_CRC32_H__B1BA997F_CAA4_4FC6_B899_EF9C3CCC286B__INCLUDED_)
+895
View File
@@ -0,0 +1,895 @@
#ifndef _TABLET_CTRL_PROTOCOL_DEF_H
#define _TABLET_CTRL_PROTOCOL_DEF_H
#define CTRL_GD10_CODE 0x55aa55aa
#define CTRL_PLC_CODE 0xFF8899FF
#define MAX_CTRL_CONTENT 150
#define MAX_RECV_MEASURE 1500
#define MAX_SND_DATA 300
#define MAX_NAME_LEN (40) //最大任务名长度
#define MAX_TASK_NAME_LENGTH (60) //任务名长度
#define CLOUD_DEV_ID (0xFFFFFFFF) //云端设备ID
#define MAX_RECV_ELOC_SIZE 4096 //最大电极数目前用一个字节传
typedef enum EN_CONNECT_STATUS
{
EN_STATUS_CONNECT_SUCCESS = 0,
EN_STATUS_DISCONNECT,
EN_STATUS_RECONNECT_FAIL
};
enum EN_DEVICE_TYPE
{
EN_DEV_BROADCAST = 0,
EN_DEV_CLOUND,
EN_DEV_GEOMATIVE,
EN_DEV_GD10,
EN_DEV_PLC
};
enum EN_MEASU_PROC_STATUS
{
EN_MEASU_PROC_SUCCESS = 0,
EN_MEASU_PROC_DATA_ERR,
EN_MEASU_PROC_DB_ERR,
EN_MEASU_PROC_WARINNG
};
enum EN_CABLE_TYPE
{
EN_12_DOUBLE_TAP_LINES=0,
EN_24_SINGLE_TAP_LINES=1,
EN_30_SINGLE_TAP_LINES=2
};
#define EN_DEV_ONLINE 0x71
#define EN_FORCE_LOGIN 0xFE
#pragma pack(1)
typedef struct ST_CTRL_PROTO_HEADER
{
DWORD wIDCode;
WORD wTotalLen;
DWORD dwSeriNO;
UINT32 ucDstAddr;
UINT32 ucSrcAddr;
BYTE ucDstType;
BYTE ucSrcType;
BYTE ucCMD;
BYTE ucDataType;
BYTE Status_code;
BYTE ucPacketNum;
BYTE ucReverse[4]; //高字节第1个字节----测试类型:电阻率0,激电1,自电2
//高字节第2个字节----Org上传标志,0不传,1传
}STCtrlProtoHeader;
typedef struct ST_SYN_DEV_PARAM
{
UINT32 uiMachineID;
BYTE ucHWVer[2];
BYTE ucSWVer[4];
float fTemperature;
float fBatteryVol;
BYTE ucPowerFreq;
BYTE ucCableType;
int iGrThreshold;
BYTE ucBatteryAlarm;
BYTE ucStacking;
BYTE ucChannelNum;
BYTE ucDownLoadNum; //单次下发点数
}STSynDevParam;
typedef struct ST_MODIFY_DEV_PARAM
{
BYTE ucPowerFreq;
BYTE ucCableType;
int iGrThreshold;
BYTE ucBatteryAlarm;
BYTE ucStacking;
BYTE ucDownLoadNum; //单次下发点数
}STModifyDevParam;
typedef struct ST_MEASURE_TASK_PARAM_CLOUD
{
BYTE ucTestType;
BYTE ucTxPeriod;
BYTE ucSptType;
BYTE ucCableLayout;
BYTE ucStacking;
int iSAInterval;
BYTE ucArrayType;
float fXElecDistance; //X方向电极间距
float fYElecDistance; //Y方向电极间距
float fXElecStep; //X方向电极步长
float fYElecStep; //Y方向电极步长
RECT rcGridSize; //网格大小
byte byLineDirection; //测线方向0:X方向 1:Y方向
//float fElecSpace;
}STMeasuTaskParamTOCloud;
typedef struct ST_MEASURE_TASK_PARAM
{
BYTE ucTestType;
BYTE ucTxPeriod;
BYTE ucSptType;
BYTE ucCableLayout;
BYTE ucStacking;
int iSAInterval;
BYTE ucArrayType;
float fElecSpace;
BYTE ucOrgFlg;
char ucTaskID[MAX_NAME_LEN];
}STMeasuTaskParam;
typedef struct ST_SIG_SND_MEASURE_DATA
{
UINT32 dwTsn;
float fA;
float fB;
float fM;
float fN;
float fK;
BYTE ucStack;
ST_SIG_SND_MEASURE_DATA()
{
dwTsn = 0;
fA = fB = fM = fN =0;
ucStack = 0;
fK = 0;
}
}STSigSndDataInfo,*LPSTSigSndDataInfo;
typedef struct ST_MEASURE_DATA_RESULT_BASIC
{
int iID;
float fV;
float fI;
float fR0;
float fSP;
float fK;
BYTE ucAlram;
BYTE ucStack;
float fR0_LC;
}STMeasuDataResBasic, *LPSTMeasuBasicDataRes;
typedef struct ST_MEASURE_DATA_RESULT_BASICEX
{
int iID;
float fA;
float fB;
float fM;
float fN;
float fV;
float fI;
float fR0;
float fSP;
float fK;
BYTE ucAlram;
BYTE ucStack;
float fR0_LC;
}STMeasuDataResBasicEx, *LPSTMeasuBasicDataResEx;
//由于老瞿反馈底层最多只能传输500个字节,所以这里的ORG数据暂时都不传
typedef struct ST_MEASURE_DATA_RESULT_ATTACH_RES
{
float fDevi;
// float fVOrg[48];
// float fIOrg[48];
}STMeasuDataResAttachRes;
typedef struct ST_MEASURE_DATA_RESULT_ATTACH_IP
{
float fM0_LC;
WORD wHL;
float SP_P;
float SP_N;
float fD;
float fr;
BYTE ucTWCnt;
float fETA[20];
float fM0[20];
}STMeasuDataResAttachIP,*LPMeasuDataIPAttr;
typedef struct ST_MEASURE_GR_REQUSET
{
char ucTaskID[MAX_NAME_LEN];
UINT ucStartElec;
UINT ucEndElec;
}STMeasuGRRequest;
typedef struct ST_MEASURE_GR_RESULT
{
// BYTE ucTestedElecNum;//由于在此程序中采用一次只测试一个接地电阻的原则,所以结构体可以这样定义
INT32 ucElecID;
int iP1;
BYTE ucP1Status;
int iP2;
BYTE ucP2Status;
}STMeasuSigGRResult;
typedef struct ST_OPERATION_RESULT
{
BYTE ucRes; //操作结果,成功为1,错误为0,如果此时为1的话,则ucErrCode可忽略
BYTE ucErrCode; //错误码
}STOperResult;
typedef struct ST_SIG_REMOTE_DEV_INFO
{
BYTE ucDevType; //设备类型
UINT32 uiDevID; //设备号
BYTE byDevStatus; //设备状态0--在线, 1--离线
bool operator < (const ST_SIG_REMOTE_DEV_INFO &A) const
{
if (ucDevType < A.ucDevType)
return true;
else if (ucDevType == A.ucDevType)
return (uiDevID < A.uiDevID) ? true : false;
else
return false;
}
}STSigRemoteDev;
typedef struct ST_REM_PLC_DATA_INFO
{
BYTE ucPacketIndex;
BYTE ucResult;
UINT32 uiAnaLogQua[8];
BYTE ucReseverse[4];
BYTE ucCtrlK1;
BYTE ucCtrlK2;
BYTE ucCtrlK3;
BYTE ucCtrlK4;
BYTE ucCtrlK5;
BYTE ucCtrlK6;
BYTE ucCtrlK[4];
BYTE ucCtrlReservse;
}STRemPlcDataInfo;
typedef struct ST_CABLE_INFO
{
BYTE ucDir; //电缆方向
BYTE ucID; //电缆ID
BYTE ucPowe; //电压
}STCableInfo;
typedef struct ST_REM_CABLE_CALL_INFO
{
BYTE ucTotalCount;
ST_CABLE_INFO stCableInfo[255+1];
}STRemCableCallInfo;
/*---------------测井结构体begin-----------------*/
//下发测井参数结构体
typedef struct ST_LOGGING_PARAMETER_SETTING_REQ
{
BYTE byLogTypes; //工作模式0x01(0000 0001):SP电阻率模式
//0x02(0000 0010) : 长电位电阻率模式
//0x04(0000 0100) : 短电位电阻率模式
//0x08(0000 1000) : 梯度电阻率模式
//0x08(0000 1001) : 梯度电阻率模式和SP电阻率模式
//0x0F(0000 1111) : 四种模式组合等等
BYTE byLogDirection; //测井方向 0:向上 1:向下
float fSamplingInterval; //AD采样频率
float fDepth; //深度
float fLoggingDistance; //测试距离(m
float fPeriod; //周期
ST_LOGGING_PARAMETER_SETTING_REQ()
{
memset(this, 0, sizeof(ST_LOGGING_PARAMETER_SETTING_REQ));
}
}STLoggingParamSettingReq;
typedef struct ST_LOGGING_PARAMETER_SETTING_RES
{
BYTE byStatusCode; //0:成功; 非0:错误码
ST_LOGGING_PARAMETER_SETTING_RES()
{
memset(this, 0, sizeof(ST_LOGGING_PARAMETER_SETTING_RES));
}
}STLoggingParamSettingRes;
//开始测试结构体
typedef struct ST_LOGGING_START_TEST_REQ
{
UINT32 uiTestID; //开始测试点ID
ST_LOGGING_START_TEST_REQ()
{
memset(this, 0, sizeof(ST_LOGGING_START_TEST_REQ));
}
}STLoggingStartTestReq;
typedef struct ST_LOGGING_START_TEST_RES
{
BYTE byStatusCode; //0:成功; 非0:错误码
ST_LOGGING_START_TEST_RES()
{
memset(this, 0, sizeof(ST_LOGGING_START_TEST_RES));
}
}STLoggingStartTestRes;
//暂停测试结构体
typedef struct ST_LOGGING_PAUSE_TEST_REQ
{
char szTaskID[MAX_NAME_LEN];
ST_LOGGING_PAUSE_TEST_REQ()
{
memset(this, 0, sizeof(ST_LOGGING_PAUSE_TEST_REQ));
}
}STLoggingPauseTestReq;
typedef struct ST_LOGGING_PAUSE_TEST_RES
{
BYTE byStatusCode; //0:成功; 非0:错误码
ST_LOGGING_PAUSE_TEST_RES()
{
memset(this, 0, sizeof(ST_LOGGING_PAUSE_TEST_RES));
}
}STLoggingPauseTestRes;
//继续测试
typedef struct ST_LOGGING_CONTINUE_TEST_REQ
{
char szTaskID[MAX_NAME_LEN]; //任务ID
UINT32 uiTestID; //继续测试开始点
ST_LOGGING_CONTINUE_TEST_REQ()
{
memset(this, 0, sizeof(ST_LOGGING_CONTINUE_TEST_REQ));
}
}STLoggingContinueTestReq;
typedef struct ST_LOGGING_CONTINUE_TEST_RES
{
BYTE byStatusCode; //0:成功; 非0:错误码
ST_LOGGING_CONTINUE_TEST_RES()
{
memset(this, 0, sizeof(ST_LOGGING_CONTINUE_TEST_RES));
}
}STLoggingContinueTestRes;
//结束测试
typedef struct ST_LOGGING_END_TEST_REQ
{
char szTaskID[MAX_NAME_LEN]; //任务ID
ST_LOGGING_END_TEST_REQ()
{
memset(this, 0, sizeof(ST_LOGGING_END_TEST_REQ));
}
}STLoggingEndTestReq;
typedef struct ST_LOGGING_END_TEST_RES
{
BYTE byStatusCode; //0:成功; 非0:错误码
ST_LOGGING_END_TEST_RES()
{
memset(this, 0, sizeof(ST_LOGGING_END_TEST_RES));
}
}STLoggingEndTestRes;
//数据结构体
typedef struct ST_LOGGING_DATA_PACKET_REQ
{
UINT32 uiTestID; //测试ID
float fDepth; //深度
float fSP_V; //SP 电压
float fL_V; //长电位电压
float fL_I; //长电位电流
float fL_R; //长电位电阻
float fS_V; //短电位电压
float fS_I; //短电位电流
float fS_R; //短电位电阻
float fG_V; //梯度电压
float fG_I; //梯度电流
float fG_R; //梯度电阻
ST_LOGGING_DATA_PACKET_REQ()
{
memset(this, 0, sizeof(ST_LOGGING_DATA_PACKET_REQ));
}
}STLoggingDataPacketReq;
typedef struct ST_LOGGING_DATA_PACKET_RES
{
UINT32 uiTestID; //任务测试点ID
BYTE byStatusCode; //0:成功; 非0:错误码
ST_LOGGING_DATA_PACKET_RES()
{
memset(this, 0, sizeof(ST_LOGGING_DATA_PACKET_RES));
}
}STLoggingDataPacketRes;
/*---------------测井结构体end-------------------*/
// typedef struct ST_TABLET_PRO_CTRL_INFO
// {
// BYTE ucCmd;
// WORD wTsn;
// WORD wLen; //控制信息所对应的数据体的长度
// char chData[MAX_CTRL_CONTENT];
// // WORD wRespLen; //响应消息所对应的数据体的长度
// int iTimeOut; //最大响应时间
// ST_TABLET_PRO_CTRL_INFO()
// {
// ucCmd = 0;
// wTsn = 0;
// wTsn = 0;
// memset(chData, 0, sizeof(chData));
// // wRespLen = 0;
// iTimeOut = 0;
// }
// }STProCtrlInfo;
// typedef struct ST_RCV_MSG_CTRL_INFO
// {
// BYTE ucCmd;
// WORD wTsn;
// ST_RCV_MSG_CTRL_INFO()
// {
// ucCmd = 0;
// wTsn = 0;
// }
//
// }STCtrlRcvMsgInfo;
enum EN_SEND_MSG_RES
{
EN_SEND_SUCCESS = -1,
EN_SEND_LINK_INTERRUPT,
EM_SEND_FAILED = 11
};
enum EN_RCV_MSG_RES
{
EN_RECV_SUCCESS = 0,
EN_RECV_LINK_INTERRUPT,
EN_RECV_TIMEOUT,
EN_RECV_DATA_DISORDER,
EN_RECV_DATA_ERROR,
EM_RECV_FAILED,
EN_CLOUND_SND_FAILED,
EN_RECV_CTRL_CMD,
EN_RECV_PLC_STATUS,
EN_REAL_TIME_TESTING_DATA, //标志接收的是实时窗口正在测试中的数据
EN_RECV_NOTIFY_DEVICE_ONLINE, //标志接收到服务器设备上线的通知
EN_RECV_NOTIFY_DEVICE_OFFLINE //标志接收到服务器设备下线的通知
};
enum EN_ERROR_MSG
{
FAILED_NO_ERROR = 0, //没有错误
FAILED_OPERATOR_GD_OFF = 3, //关机失败
FAILED_LOOP_TASK_NO_CANCEL_TEST = 4, //循环任务未取消测试
FAILED_CREATE_LOOP_DURING_THIS_PERIOD = 5 //此时段已创建其他任务
/*FAILED_NO_ERROR=0, //没有错误
FAILED_OPERATOR_GD_ON = 2, //开机失败
FAILED_OPERATOR_GD_OFF = 3, //关机失败
FAILED_NAME_CABLE_HEAD = 4, //点名电缆头失败
FAILED_TEST_GR=5, //测试接地电阻失败
FAILED_MAXIMUM_TIMES=6, //尝试次数超过最大次数
FAILED_TEST_POINT_EXCEPTION = 7, //测试点异常
FAILED_OTHER_TASK_RUNNING=8, //其他任务正在测试
FAILED_TASK_IS_RUNNING=9, //此任务正在测试
FAILED_LOOP_TASK_NO_CANCEL_TEST=10, //循环任务未取消测试
FAILED_CREATE_LOOP_DURING_THIS_PERIOD=11//此时段已创建其他任务*/
};
/*************************命令字***********************************************
命令字 功能 命令字 功能
0x0 设备登录上报和确认回复 0x5 1.contrlBox电压上报 2. GD10测量接地电阻
0x1 1.ContrlBox开关机2. Geo->GD10电缆头点名 0x6 GD10测量数据命令
0x2 1.ContrlBox设置电压上报方式2.GD10设备参数同步 0x88 暂时用来定时上报电压的回复
0x3 GD10设置设备参数 0xFE 登陆的广播包
0x4 设置任务的测试参数 0xFF 心跳
0x57 在线自动配置GeomativeID、GDID、PLCID
0x58 请求云端托管循环任务
0x59 取消云端托管循环任务
0x5A 查询PLC状态信息
0x60 取消云托管指令 0x70 Geomative请求云端下发电缆头信息
0x61 请求云托管指令 0x71 被占用#define EN_DEV_ONLINE 0x71
0x62 Geomative上传设备信息到云端 0x72 Geomative请求云端下发当前设备信息
0x63 Geomative上传任务参数信息到云端 0x73 Geomative请求云端下发任务参数信息
0x64 Geomative上传接地电阻信息到云端 0x74 Geomative请求云端下发任务接地电阻信息
0x65 Geomative上传任务测试数据到云端 0x75 Geomative请求云端下发任务测试数据信息
0x66 Geomative请求云端任务删除 0x76 Geomative请求云端下发任务列表信息
0x67 Geomative请求云端任务暂停 0x77 Geomative请求云端下发指定时间有效的循环任务
0x68 Geomative请求云端任务继续 0x78 Geomative请求云端下发循环任务//查询接口
0x79 Geomative请求云端下发PLC状态信息
0x6A Geomative上传电极坐标 0x7A Geomative请求云端下发电极坐标
0x6E 云端下发下线设备 0x71 云端下发上线设备
*******************************************************************************/
enum EN_CTRL_CMD_INFO
{
EN_CTRL_USER_LOGIN = 0x00,
EN_CTRL_ROLLCALL_CABLE = 0x01,//PLC控制开关机和设备点名用的都是1,只是目标类型不一样
EN_CTRL_SYN_DEV_PARAM = 0x02,
EN_CTRL_SET_DEV_PARAM = 0x03,
EN_CTRL_SET_TASK_PARAM = 0x04,
EN_CTRL_MEASURE_GR = 0x05,
EN_CTRL_MEASURE_DATA = 0x06,
EN_CTRL_PLC_POWER_ON_OR_OFF = 0x01,
EN_REQ_ONLINE_AUTO_CONFIG = 0x57,
EN_REQ_LOOP_TASK_TRUST = 0x58,
EN_CANCEL_LOOP_TASK_TRUST = 0x59,
EN_CANCEL_COLLOCATION = 0x60,
EN_REQ_COLLOCATION = 0x61,
EN_UPLOAD_DEV_INF = 0x62,
EN_UPLOAD_TASK_ARG = 0x63,
EN_UPLOAD_RG_INF = 0x64,
EN_UPLOAD_DATA_INF = 0x65,
EN_REQ_TASK_DEL = 0x66,
EN_REQ_TASK_PAUSE = 0x67,
EN_REQ_TASK_CONTINUE = 0x68,
EN_UPLOAD_ELECTRODE_COORDINATES_INFO = 0x6A,
EN_RECV_DEVICE_OFFLINE = 0x6E, //设备下线
EN_REQ_DOWNLOAD_CABLE_INFO = 0x70,
EN_RECV_DEVICE_ONLINE = 0x71, //设备上线
//EN_reserve = 0x71,
EN_REQ_DOWNLOAD_DEV_INFO = 0x72,
EN_REQ_DOWNLOAD_TASK_ARG = 0x73,
EN_REQ_DOWNLOAD_RG_INFO = 0x74,
EN_REQ_DOWNLOAD_DATA_INFO = 0x75,
EN_REQ_DOWNLOAD_TASK_TABLE = 0x76,
EN_REQ_DOWNLOAD_LOOP_TABLE = 0x77,
EN_REQ_DOWNLOAD_LOOP_SUB_TABLE = 0x78,
EN_REQ_QUERY_PLC_STATUS = 0x79,
EN_DOWNLOAD_ELECTRODE_COORDINATES_INFO = 0x7A,
EN_REQ_HEART_BEAT_PACKET = 0xFF
};
enum EN_LOGGING_COM_PORT_CMD
{
EN_LOGGING_CHECK_PORT_LOGIN = 0x00, //Login校验串口是否为测井串口
EN_LOGGING_DOWNLOAD_LOG_PARAM = 0xC1, //测井参数下发
EN_LOGGING_START_TEST = 0xC2, //开始测试
EN_LOGGING_PAUSE_TEST = 0xC3, //暂停测试
EN_LOGGING_CONTINUE_TEST = 0xC4, //继续测试
EN_LOGGING_END_TEST = 0xC5, //结束测试
EN_LOGGING_MEASURING_POINT_DATA = 0xC6 //测井数据
};
typedef struct ST_DELETE_TASK_REQUEST
{
char szTaskID[MAX_NAME_LEN];
ST_DELETE_TASK_REQUEST()
{
memset(this, 0, sizeof(ST_DELETE_TASK_REQUEST));
}
}STDeleteTaskRequest;
typedef struct ST_REM_TASK_ARG
{
char ucTaskID[MAX_NAME_LEN];
char ucTDName[60];
char ucSciptName[MAX_NAME_LEN];
STMeasuTaskParamTOCloud stMeasuArg;//14
UINT32 uiStartElec;
UINT32 uiEndElec;
UINT32 uiStartLayer;
UINT32 uiEndLayer;
UINT32 uiStartTime;
UINT32 uiEndTime;
UINT32 uiTimerTime;
UINT32 uiTotalNum;
BYTE ucOrgFlg;
BYTE ucTestGRFlag; //1:测试接地电阻,0:不测试接地电阻
UINT32 uiCreateTime; //任务创建时间
UINT32 uiCurrentPoint; //当前测试到哪个点
UINT32 uiFailedReason; //任务失败原因
}STRemTaskArg;
typedef struct ST_TASK_DATA_RES
{
UINT32 dwID;
float fA;
float fB;
float fM;
float fN;
float fK;
BYTE ucStack;
float fV;
float fI;
float fR0;
float fSP;
BYTE ucAlram;
float fR0_LC;
ST_TASK_DATA_RES()
{
dwID = 0;
fA = fB = fM = fN = 0;
ucStack = 0;
fK = 0;
fV;
fI = fR0 = fSP = fK = fR0_LC = 0;
ucAlram = 0;
}
}STTaskDataRes;
typedef struct ST_SYN_TASK_DATA_RES
{
char ucTaskID[MAX_NAME_LEN];
UINT32 dwPointNum;
STTaskDataRes *ptTaskData;
}STSynTaskDataRes;
typedef struct ST_MANUAL_TASK_ARG
{
char ucTaskID[MAX_NAME_LEN]; //任务名 Byte * 40 20个字节
UINT32 uiStartPoint; //开始点 Uint32 默认0
UINT32 uiEndPoint; //结束点 Uint32 默认0(测完)
}STManualTaskArg;
typedef struct ST_TIMER_TASK_ARG
{
UINT32 uiCurTime;//当前时间 Uint32 相对格林威治时间的秒数
UINT32 uiTaksNum;//任务个数 Uint32
BYTE ucTimerType;//定时托管类型 Byt 0:单任务定时,默认0 1:循环任务包定时(第一个任务开始测试时间)
BYTE ucLoopNum;//循环次数 Byte 默认0, 非循环任务为0
UINT32 uiTaskInterval;//任务间间隔 Uint32 秒,默认0, 非循环任务为0
char ucTaskID[40];//任务名1 Byte * 40
}STTimerTaskArg;
typedef struct ST_TRUSTEE_TASK_TABLE
{
UINT32 uiPlcId; //PLC设备ID号
UINT32 uiGD10Id; //GD10设备号
BYTE ucTeatMode; // 默认00:手动1:定时
union
{
STManualTaskArg stManualTask;
STTimerTaskArg stTimerTask;
}Task;
}STTrusteeTaskTable;
enum EN_TASK_TEST_TYPE
{
EN_MANUAL_TASK = 0,
EN_TIMER_TASK,
};
enum EN_TASK_SERVER_STATUSE
{
EN_TASK_STATE_NO_TRUST = 0,
EN_TASK_STATE_TESTING,
EN_TASK_STATE_STOP_TEST=20,
EN_TASK_STATE_TEST_FAILED=30,
EN_TASK_STATE_FINISH=40
};
enum EN_TASK_LOCAL_STATUSE
{
EN_TASK_NO_UPLOAD = 0,
EN_TASK_NO_DOWNLOAD,
EN_TASK_YES_SYN
};
enum EN_TASK_TESTING_METHOD
{
EN_TASK_ALL_POINT_TEST, //全部测量
EN_TASK_FROM_CURRENT_POINT_TEST, //从当前位置开始测量
EN_TASK_CURRENT_ONE_POINT_TEST, //单点测量
EN_TASK_SUSPENDED, //暂停测量
EN_TASK_NOT_TESTTING //没有手动在实时窗口测试中
};
typedef struct ST_REM_TASK_TABLE
{
char ucTaskID[MAX_NAME_LEN];
char ucTDName[60];
BYTE ucTaskStats;
}STRemTaskTable;
//用于保存任务管理->任务列表中任务节点数据
typedef struct ST_TASK_LIST_ITEM_DATA
{
char szTaskID[MAX_NAME_LEN]; //任务ID
char szTDName[60]; //任务名
BYTE byTestStatus; //测试状态
EN_TASK_LOCAL_STATUSE eSynStatus; //同步状态
ST_TASK_LIST_ITEM_DATA()
{
memset(this, 0, sizeof(ST_TASK_LIST_ITEM_DATA));
}
}STTaskListItem;
typedef struct ST_LOOP_TASK_TABLE
{
char ucTaskID[MAX_NAME_LEN]; //任务名 Byte * 40 40个字节
char ucTaskName[MAX_NAME_LEN]; //循环备用任务名 Byte * 40 40个字节
BYTE ucLoopType; //0,1,2,3 -------------0:一次, 1- 按天,2-按月,3-按周
UINT32 uiStartTime; //开始测试时间
UINT32 uiEndTime; //结束测试时间
}STLoopTaskTable;
typedef struct ST_LOOP_TASK_INFO
{
char ucTaskID[MAX_NAME_LEN]; //循环任务名 Byte * 40 40个字节
char ucTaskName[60]; //循环备用任务名 Byte * 60 60个字节
UINT32 uiPlcId;
UINT32 uiGD10Id;
BYTE ucContrlType;
BYTE ucTimerType;
UINT16 uiLoopNum; //循环次数
UINT16 uiRemainLoopNum; //剩余循环次数
BYTE ucLoopType; //0,1,2,3 -------------0:一次, 1- 按天,2-按月,3-按周
BYTE ucTimerAgsNum; //循环定时参数个数
BYTE ucTimerTimeAgs; //定时时间参数
UINT32 uiStartTime; //开始测试时间
UINT32 uiEndTime; //结束测试时间
UINT32 uiStartMin; //每天或者每周相对0点开始分钟数
UINT32 uiTaskSpace; //任务间间隔
UINT32 uiSubTaskNum;//子任务数
ST_LOOP_TASK_INFO()
{
memset(this, 0, sizeof(ST_LOOP_TASK_INFO));
}
}STLoopTaskInfo;
__interface ITaskTree
{
virtual CTreeCtrl* GetTaskTreePtr() = 0;
virtual void ShowTaskTree(int iSptType, time_t tStartTime = 0, time_t tEndTime = 0) = 0;
};
enum EN_TASK_TREECTRL_TYPE
{
EN_1D_TASK_TREE = 0,
EN_2D_TASK_TREE = 1,
EN_3D_TASK_TREE = 2
};
//////////////////////////////////////测量定义开始////////////////////////
enum EN_MEASU_BTN_STATUS
{
EM_MEASU_BTN_INITI = 0,
EN_MEASU_BTN_MEASU_ALL,
EN_MEASU_BTN_MEASU_FROM_CUR,
EN_MEASU_BTN_MEASU_SIG,
EN_MEASU_BTN_COUNTINE,
EN_MEASU_BTN_SUSPEND,
EN_MEASU_BTN_MEASU_TERIMI, //测量终止代表测量完成或者测量错误时,测量停止下来
EN_MEASU_BTN_MEASU_FIN,
EN_MEASU_BTN_NOT_SELECT_TASK, //没有选中任务时按钮状态
EN_MEASU_BTN_SELECT_TASK, //选中任务时按钮状态
EN_MEASU_BTN_NOT_TESTING_TASK,
EN_MEASU_BTN_OFFLINE_DEVICE //查看离线设备,实时窗口不需要测试,只能查看
};
enum EN_MEASURE_TYPE
{
EN_MEASURE_DATA = 0,
EN_MEASURE_GR
};
typedef struct stPLCStatusInfoRequest
{
UINT32 uPLCID; //PLC ID
UINT32 uStartTime; //开始时间
UINT32 uEndTime; //结束时间
stPLCStatusInfoRequest()
{
memset(this, 0, sizeof(stPLCStatusInfoRequest));
}
}STPLCStatusInfoRequest, *PSTPLCStatusInfoRequest;
typedef struct stPLCStatusResponse
{
UINT32 uStatusTime;
float fSimulation[4]; //模拟量
float fVoltage; //电压
float fTemperature; //温度
float fSimulation7; //模拟量
float fSimulation8; //模拟量
float fReserve; //预留
BYTE bSwitch[10]; //控制变量
BYTE bReserve; //预留
stPLCStatusResponse()
{
memset(this, 0, sizeof(stPLCStatusResponse));
}
}STPLCSTATUS, *PSTPLCSTATUS;
typedef struct ST_BOREHOLE_PARAM
{
int iElecID; //第一个电极编号
int iElecNum; //电极数目
float fX; //X坐标,用于地表
float fY; //Y坐标,用于三维
float fZ; //Z坐标,用于孔
float fElecSpacing; //电极间距
ST_BOREHOLE_PARAM()
{
memset(this, 0, sizeof(ST_BOREHOLE_PARAM));
}
}STBoreHoleParam;
enum EN_COORDINATES_TYPE
{
EN_UNKNOWN_TYPE = 0,
EN_BOREHOLE_TYPE = 1, //井地
EN_SURFACE_TYPE = 2 //地表
};
typedef struct ST_BOREHOLE_POINTS
{
EN_COORDINATES_TYPE eType;
UINT32 uiID; //序号
UINT32 uiElecID; //电极编号
float fX; //X坐标
float fY; //Y坐标
float fZ; //Z坐标
}STBoreHolePoints;
struct STWellPoints
{
float fX;
float fY;
STWellPoints()
{
memset(this, 0, sizeof(STWellPoints));
}
bool operator<(const STWellPoints& t) const
{
if (fabs(fX - t.fX) > 0.000001)
{
return true;
}
if (fabs(fY - t.fY) > 0.000001)
{
return true;
}
return false;
}
};
typedef struct ST_DATABASE_ABMN_INFO
{
int uiAElecID; //测点A电极编号
int uiBElecID; //测点B电极编号
int uiMElecID; //测点M电极编号
int uiNElecID; //测点N电极编号
float fK; //K值
int iTrace; //迭代次数
int iLayer; //层数;
float fSptXPos;
ST_DATABASE_ABMN_INFO()
{
memset(this, 0, sizeof(ST_DATABASE_ABMN_INFO));
}
}STDatabaseABMNInfo;
enum EN_TAB_PAGE
{
EN_OPTION_GEOMETRY = 0,
EN_OPTION_BOREHOLE = 1,
EN_OPTION_SURFACE = 2,
EN_OPTION_SETTING = 3
};
#define MAX_REPEAT_SND_CNT 90000
//#define WM_GET_TASK_LIST_MSG WM_USER + 10086
//#define WM_TASK_LIST_TASK_INFO_SYN WM_USER + 10089
#define WM_TASK_LIST_TASK_DATA_SYN WM_USER + 10090
#define WM_NET_RESPONSE WM_USER + 110 //发送消息后,响应消息
#define WM_NET_RECV_REAL_TIME_DATA WM_USER + 111 //接收正在测试中实时窗口的数据
#define WM_MSG_DELETE_TASK WM_USER + 112 //删除任务界面响应
#define WM_MSG_UPDATE_TASK_LIST WM_USER + 113 //刷新任务列表
#define WM_MSG_UPDATE_REALTIME_WND_BTN_STATUS WM_USER + 114 //更新实时窗口按钮状态
#define WM_MSG_SET_CURRENT_SELECT_TASK WM_USER + 115 //通知实时窗口当前选中的任务
#define WM_MSG_SEND_CABLE_ROLLCALL WM_USER + 116 //电缆头点名消息
#define ID_TIMER_HEARTBEAT_PACKET 200 //心跳
#define ID_UPLOAD_DEVICE_MARKET_DATA 201 //联网时,上传设备市场数据到云端
#define HEARTBEAT_INTERVAL 120000 //频率,两分钟
#define UPLOAD_MARKET_DATA_INTERVAL 9000 //联网一分钟后上传设备市场数据
#define STRING_MESSAGEBOXEX_TITLE "Geomative Studio"
//////////////////////////////////////测量定义结束////////////////////////
#pragma pack()
#endif
+58
View File
@@ -0,0 +1,58 @@
#if !defined(AFX_CUSTOMSPTQUERYDIAL_H__3516613E_BFFD_4AAD_85A4_16637DE1AB75__INCLUDED_)
#define AFX_CUSTOMSPTQUERYDIAL_H__3516613E_BFFD_4AAD_85A4_16637DE1AB75__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// CustomSptQueryDial.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CCustomSptQueryDial dialog
enum EN_QUERY_RES
{
EN_QUE_CANCEL = 0,
EN_QUE_APPEND,
EN_QUE_REPLACE
};
class CCustomSptQueryDial : public CDialog
{
// Construction
public:
CCustomSptQueryDial(CWnd* pParent = NULL); // standard constructor
int GetOperResult(){return m_nRes;}
// Dialog Data
//{{AFX_DATA(CCustomSptQueryDial)
enum { IDD = IDD_DIALOG_CUSTOMSPT_QUERY };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CCustomSptQueryDial)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CCustomSptQueryDial)
afx_msg void OnButtonAppend();
afx_msg void OnButtonCancel();
afx_msg void OnButtonReplace();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
int m_nRes;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_CUSTOMSPTQUERYDIAL_H__3516613E_BFFD_4AAD_85A4_16637DE1AB75__INCLUDED_)
+58
View File
@@ -0,0 +1,58 @@
#if !defined(AFX_DAILLOGIN_H__E138DD09_A581_493B_B56E_E5875F3E4B59__INCLUDED_)
#define AFX_DAILLOGIN_H__E138DD09_A581_493B_B56E_E5875F3E4B59__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DailLogin.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDailLogin dialog
class CDailLogin : public CDialog
{
// Construction
public:
CDailLogin(UINT32 uiUserID, CString strPwd, BOOL bAutoLogin, BOOL bSavePassword, CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDailLogin)
enum { IDD = IDD_DIALOG_LOGIN };
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDailLogin)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
BOOL OnInitDialog();
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDailLogin)
afx_msg void OnLoginCancel();
afx_msg void OnLoginOk();
afx_msg void OnLoginChange();
afx_msg void OnLoginForgot();
afx_msg void OnUsbMode();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
afx_msg void OnPaint();
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
private:
CString m_IDedit;
CString m_password;
BOOL m_SavePassword;
BOOL m_autoLogin;
//}}AFX_DATA
UINT32 m_uiUserID;
CString m_csPwd;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DAILLOGIN_H__E138DD09_A581_493B_B56E_E5875F3E4B59__INCLUDED_)
+22
View File
@@ -0,0 +1,22 @@
// DataMngStruct.h: interface for the CDataMngStruct class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DATAMNGSTRUCT_H__E5353CB0_51D2_40B4_8982_7B7BE35FAB95__INCLUDED_)
#define AFX_DATAMNGSTRUCT_H__E5353CB0_51D2_40B4_8982_7B7BE35FAB95__INCLUDED_
#include "Constant.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CDataMngStruct
{
public:
virtual bool ShowDetailInfo(CListCtrl& dmsDetailList); //显示详细信息
CDataMngStruct();
virtual ~CDataMngStruct();
};
#endif // !defined(AFX_DATAMNGSTRUCT_H__E5353CB0_51D2_40B4_8982_7B7BE35FAB95__INCLUDED_)
+173
View File
@@ -0,0 +1,173 @@
// DataOperator.h: interface for the CDataOperator class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DATAOPERATOR_H__59D95769_4A74_4C7C_8B8F_DE7A2D242717__INCLUDED_)
#define AFX_DATAOPERATOR_H__59D95769_4A74_4C7C_8B8F_DE7A2D242717__INCLUDED_
#include "HandleProcessor.h" // Added by ClassView
#include "StateProcessor.h" // Added by ClassView
#include "CombineDlg.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CNavDataView;
class CNavDataProDlg;
class CNavDataDevDlg;
class CHandleProcessor;
class CDataOperator
{
public:
void CombineTask(CNavDataView *pNavData);
void ShowSP3DTdInfo(DWORD dwTdHandle, CView *pAppDataView);
void ShowSP2DTdInfo(DWORD dwTdHandle, CView *pAppDataView);
void ShowSPCETdInfo(DWORD dwTdHandle, CView* pAppDataView);
void ShowIpsCEpTdInfo(DWORD dwTdHandle, CView *pAppDataView);
UINT DisplayIspCETdIpCurve(CNavDataView *pNavDataView);
UINT DisplayIsp3DTdIpCurve(CNavDataView *pNavDataView);
UINT DisplayIsp2DTdIpCurve(CNavDataView *pNavDataView);
UINT DisplayIsp3DTdGraph(CNavDataView *pNavDataView);
UINT DisplayIsp2DTdGraph(CNavDataView *pNavDataView);
UINT DisplayIspCETdGraph(CNavDataView *pNavDataView);
UINT ExportIP3DToDAT(CNavDataView *pNavDataView, CString f_szFileName);
UINT ExportIP2DToDAT(CNavDataView *pNavDataView, CString f_szFileName);
UINT CreateProjectInDB(CNavDataView* pNavDataView); //在数据库中建立工程(pNavDataView---in:导航数据视图)
UINT CreateTzInDB(CNavDataView* pNavDataView); //在数据库中建立测区(pNavDataView---in:导航数据视图)
UINT DeleteProjectInDB(CNavDataView* pNavDataView); //在数据库中删除工程(pNavDataView---in:导航数据视图)
UINT DeleteTzInDB(CNavDataView* pNavDataView); //在数据库中删除测区(pNavDataView---in:导航数据视图)
UINT Convert2DTo3D(CNavDataView* pNavDataView); //转换2D到3D(pNavDataView---in:导航数据视图)
UINT Delete3DRecord(CNavDataView *pNavDataView, int iTSN);
UINT Delete1DRecord(CNavDataView *pNavDataView, int iTSN);
UINT Delete2DRecord(CNavDataView *pNavDataView, int iTSN);
UINT DeleteSPCETdInDB(DWORD dwTdID);
UINT DeleteSP2DTdInDB(DWORD dwTdID);
UINT DeleteSP3DTdInDB(DWORD dwTdID);
UINT DeleteRspCETdInDB(DWORD dwTdID); //在数据库中删除1D电阻率数据(pNavDataView---in:导航数据视图)
UINT DeleteRsp2DTdInDB(DWORD dwTdID); //在数据库中删除2D电阻率数据(pNavDataView---in:导航数据视图)
UINT DeleteRsp3DTdInDB(DWORD dwTdID); //在数据库中删除2D电阻率数据(pNavDataView---in:导航数据视图)
UINT DeleteIpspCETdInDB(DWORD dwTdID); //在数据库中删除1D激电数据(pNavDataView---in:导航数据视图)
UINT DeleteIpsp2DTdInDB(DWORD dwTdID); //在数据库中删除2D激电数据(pNavDataView---in:导航数据视图)
UINT DeleteIpsp3DTdInDB(DWORD dwTdID); //在数据库中删除2D激电数据(pNavDataView---in:导航数据视图)
UINT DisplayRsp2DTdGraph(CNavDataView *pNavDataView); //显示2D电阻率数据图像(pNavDataView---in:导航数据视图)
UINT DisplayRsp3DTdGraph(CNavDataView *pNavDataView); //显示2D电阻率数据图像(pNavDataView---in:导航数据视图)
UINT DisplayRspCETdGraph(CNavDataView *pNavDataView); //显示1D电阻率数据图像(pNavDataView---in:导航数据视图)
UINT DisplayTPSplinesGraph(CNavDataView *pNavDataView, int iTSN); //显示测点曲线图(pNavDataView---in:导航数据视图,iTSN---in:测点编号)
void ShowIps3DpTdInfo(DWORD dwTdHandle, CView *pAppDataView);
void ShowIps2DpTdInfo(DWORD dwTdHandle, CView *pAppDataView); //显示激电数据信息(dwTdHandle---in:数据句柄,pAppDataView---in:应用数据视图)
void LoadRspCERecordbyPage(DWORD dwTdHandle, CView *pAppDataView, int iSType = 1);
void LoadRsp2dRecordbyPage(DWORD dwTdHandle, CView *pAppDataView, int iSType = 2);
void LoadRsp3dRecordbyPage(DWORD dwTdHandle, CView *pAppDataView, int iSType = 3);
void LoadIpspCERecordbyPage(DWORD dwTdHandle, CView *pAppDataView, int iSType = 1);
void LoadIpsp2dRecordbyPage(DWORD dwTdHandle, CView *pAppDataView, int iSType = 2);
void LoadIpsp3dRecordbyPage(DWORD dwTdHandle, CView *pAppDataView, int iSType = 3);
void LoadSPCERecordbyPage(DWORD dwTdHandle, CView *pAppDataView, int iSType = 1);
void LoadSP2dRecordbyPage(DWORD dwTdHandle, CView *pAppDataView, int iSType = 2);
void LoadSP3dRecordbyPage(DWORD dwTdHandle, CView *pAppDataView, int iSType = 3);
void ShowRsp2DTdInfo(DWORD dwTdHandle, CView* pAppDataView); //显示2D电阻率数据信息(dwTdHandle---in:数据句柄,pAppDataView---in:应用数据视图)
void ShowRsp3DTdInfo(DWORD dwTdHandle, CView *pAppDataView);
void ShowRspCETdInfo(DWORD dwTdHandle, CView* pAppDataView); //显示1D电阻率数据信息(dwTdHandle---in:数据句柄,pAppDataView---in:应用数据视图)
DWORD GetTdIdFromNavDataView(CNavDataView *pNavDataView);
void UpdateNavDataViewAfterDel(CNavDataView *pNavDataView);
void ShowTzInfo(DWORD dwTzHandle, CView *pAppDataView); //显示测区信息(dwTzHandle---in:测区句柄,pAppDataView---in:应用数据视图)
void ShowProjectInfo(DWORD dwProHandle, CView *pAppDataView); //显示工程信息(dwTzHandle---in:工程句柄,pAppDataView---in:应用数据视图)
CDataOperator(_ConnectionPtr& pConnection);
virtual ~CDataOperator();
bool InitialNavDataView(CNavDataView* pNavDataView); //初始化导航数据视图
///////////////////////////////////////////////////////////////////////////
UINT ExportIpCETdToExcel(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportIp2DTdToExcel(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportIp3DTdToExcel(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportIpCETdToCSV(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportIp2DTdToCSV(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportIp3DTdToCSV(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportIpSpCETdToDAT(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportIP2DToTxt(CNavDataView *pNavDataView, CString f_szFileName);
UINT ExportIP3DToTxt(CNavDataView *pNavDataView, CString f_szFileName);
UINT ExportIP1DToTxt(CNavDataView *pNavDataView, CString f_szFileName);
///////////////////////////////////////////////////////////////////////////
UINT ExportSPCETdToExcel(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportSP2DTdToExcel(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportSP3DTdToExcel(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportSPCETdToCSV(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportSP2DTdToCSV(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportSP3DTdToCSV(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportSPCETdToTxt(CNavDataView *pNavDataView, CString f_szFileName);
UINT ExportSP2DTdToTxt(CNavDataView *pNavDataView, CString f_szFileName);
UINT ExportSP3DTdToTxt(CNavDataView *pNavDataView, CString f_szFileName);
///////////////////////////////////////////////////////////////////////////
UINT ExportRsp1DTdToTxt(CNavDataView *pNavDataView, CString f_szFileName);
UINT ExportRsp2DTdToTxt(CNavDataView *pNavDataView, CString f_szFileName);
UINT ExportRsp3DTdToTxt(CNavDataView *pNavDataView, CString f_szFileName);
UINT ExportRspCETdToDAT(CNavDataView *pNavDataView, CString f_szFileName = _T(""));
UINT ExportRsp2DTdToDAT(CNavDataView *pNavDataView, CString f_szFileName = _T("")); //导出2D电阻率数据到Dat文件(pNavDataView---in:导航数据视图)
UINT ExportRsp3DTdToDAT(CNavDataView *pNavDataView, CString f_szFileName = _T("")); //导出2D电阻率数据到Dat文件(pNavDataView---in:导航数据视图)
UINT ExportRspCETdToExcel(CNavDataView *pNavDataView, CString f_szFileName = _T("")); //导出1D电阻率数据到Excel文件(pNavDataView---in:导航数据视图)
UINT ExportRsp2DTdToExcel(CNavDataView *pNavDataView, CString f_szFileName = _T("")); //导出2D电阻率数据到Excel文件(pNavDataView---in:导航数据视图)
UINT ExportRsp3DTdToExcel(CNavDataView *pNavDataView, CString f_szFileName = _T("")); //导出2D电阻率数据到Excel文件(pNavDataView---in:导航数据视图)
UINT ExportRspCETdToCSV(CNavDataView *pNavDataView, CString f_szFileName = _T("")); //导出1D电阻率数据到Excel文件(pNavDataView---in:导航数据视图)
UINT ExportRsp2DTdToCSV(CNavDataView *pNavDataView, CString f_szFileName = _T("")); //导出2D电阻率数据到Excel文件(pNavDataView---in:导航数据视图)
UINT ExportRsp3DTdToCSV(CNavDataView *pNavDataView, CString f_szFileName); //导出3D电阻率到csv文件
UINT ExportRsp2DTdToUrf(CNavDataView *pNavDataView, CString f_szFileName);
UINT ExportRsp3DTdToUrf(CNavDataView *pNavDataView, CString f_szFileName);
///////////////////////////////////////////////////////////////////////////
UINT Delete1DElectrodeRecord(CNavDataView *pNavDataView, const std::vector<float>* pvtDelElecID);
UINT Delete2DElectrodeRecord(CNavDataView *pNavDataView, const std::vector<float>* pvtDelElecID);
UINT Delete3DElectrodeRecord(CNavDataView *pNavDataView, const std::vector<float>* pvtDelElecID);
void ExportTdRecFile(CNavDataView *pNavData);
void ExportTdOrgFile(CNavDataView *pNavData);
bool SaveRecFileToLocal(CString strRecFile, CString strDstFile,int iTaskType);
int QueryTaskARInDB(DWORD dwTdHandle);
CStateProcessor m_stateProcessor;
CHandleProcessor m_handleProcessor;
void SetBatchExportParameter(DWORD dwItemHandle, bool BatchExportFlag = FALSE) //quyx 20180531
{
m_dwItemHandle = dwItemHandle; m_BatchExportFlag = BatchExportFlag;
}
private:
int GetTestType(int ScriptType, int TestType);
_ConnectionPtr m_pConnection;
DWORD m_dwItemHandle;//批量导出用 quyx 20180531
bool m_BatchExportFlag;//区分批量导出还是树形单任务导出
};
#endif // !defined(AFX_DATAOPERATOR_H__59D95769_4A74_4C7C_8B8F_DE7A2D242717__INCLUDED_)
+37
View File
@@ -0,0 +1,37 @@
// DetcGD10Dev.h: interface for the CDetcGD10Dev class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DETCGD10DEV_H__E175DC95_8702_45C3_995E_75975D21F72A__INCLUDED_)
#define AFX_DETCGD10DEV_H__E175DC95_8702_45C3_995E_75975D21F72A__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CDetcGD10Dev
{
public:
CDetcGD10Dev();
virtual ~CDetcGD10Dev();
//methods
public:
static CDetcGD10Dev* GetInstance();
bool IsGD10DevConnect(){return m_bGD10DevIsCon;}
CString GetGD10DevAddr();
void DetectGD10Dev();
protected:
CString FindUsbDevice(CString strDevName);
bool CompareDriverName(CString strDriName,CString strDriverAddr);
private:
void CDetcGD10Dev::PrintLog(CString strLog);
//attributes
private:
static CDetcGD10Dev* m_pDetcDev;
bool m_bGD10DevIsCon; //GD10的设备是否已经连接
CString m_strDevAddr;
FILE *m_pLogFile;
};
#endif // !defined(AFX_DETCGD10DEV_H__E175DC95_8702_45C3_995E_75975D21F72A__INCLUDED_)
+25
View File
@@ -0,0 +1,25 @@
// DevLinkRecord.h: interface for the CDevLinkRecord class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DEVLINKRECORD_H__B14E7A5B_3B6D_43D6_A8B7_B93A667A76DF__INCLUDED_)
#define AFX_DEVLINKRECORD_H__B14E7A5B_3B6D_43D6_A8B7_B93A667A76DF__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CDevLinkRecord
{
public:
char aDevSN[128];
char aDevName[128];
char aDevModelNO[128];
char aDevCom[32];
CDevLinkRecord();
virtual ~CDevLinkRecord();
};
#endif // !defined(AFX_DEVLINKRECORD_H__B14E7A5B_3B6D_43D6_A8B7_B93A667A76DF__INCLUDED_)
+68
View File
@@ -0,0 +1,68 @@
// DevManager.h: interface for the CDevManager class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DEVMANAGER_H__5A1BC16E_527E_420B_81A6_93AF4D24335F__INCLUDED_)
#define AFX_DEVMANAGER_H__5A1BC16E_527E_420B_81A6_93AF4D24335F__INCLUDED_
#include "Device.h"
#include "CtrlProtocolDef.h"
#include "FileOperTools.h"
#include <set>
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CDevManager
{
public:
BOOL GetOLDevList(CPtrArray* pOLDevList); //取在线设备列表(pOLDevList---in:在线设备列表)
BOOL GetFLDevList(CPtrArray* pFLDevList); //取离线设备列表(pFLDevList---in:在线设备列表)
CDevice* GetDeviceByID(DWORD dwDevID); //通过ID取设备(dwDevID---in:设备ID)
CDevice* GetDevice(DWORD dwHandle); //取设备(dwHandle---in:设备句柄)
CDevice* GetDevice(CString szDevSN); //取设备(szDevSN---in:设备序列号)
CDevManager(_ConnectionPtr& pConnection);
virtual ~CDevManager();
CHandleProcessor m_handleProcessor;
void InitialDevLinkList(); //初始化设备连接列表
BOOL AddDevice(CDevice* const pDev); //增加设备(pDev---in:设备指针)
void DeleteObjInMem(DWORD dwHandle); //在内存中删除对象(dwHandle---in:设备句柄)
void DeleteObjInMem(CString szDevSN); //在内存中删除对象(szDevSN---in:设备序列号)
void AddObjInMem(CString szDevSN); //在内存中增加对象(szDevSN---in:设备序列号)
void AddOfflineObjInMem(CString szDevSN); //在内存中增加离线设备(szDevSN---in:设备序列号)
BOOL DeleteDevice(DWORD dwHandle); //删除设备(dwHandle---in:设备句柄)
void UpdateDevInfo(STSynDevParam stDevParam,BYTE bRemoteDeveTyp);
BOOL SetDeviceHandle(CDevice* const pDev); //设置设备句柄(pDev---in:设备指针)
//以szDevSN的值去数据库中的设备表中进行寻找,如果没找到返回NULL
CDevice* GetRegisterDevice(CString szDevSN, bool &bIsRegister);
BOOL DeleteDevice(CString strDev);
void DeleteRemoteDevice(STSigRemoteDev stDevice)
{
CString strLog;
strLog.Format(_T("zm:DeleteRemoteDevice DeviceID=%d, type=%d\n"), stDevice.uiDevID, stDevice.ucDevType);
CFileOperTools::GetInstance()->WriteComLog(strLog);
m_setRemoteDev.erase(stDevice);
}
void AddRemoteDevice(STSigRemoteDev stDevice)
{
CString strLog;
strLog.Format(_T("zm:AddRemoteDevice DeviceID=%d, type=%d\n"), stDevice.uiDevID, stDevice.ucDevType);
CFileOperTools::GetInstance()->WriteComLog(strLog);
m_setRemoteDev.insert(stDevice);
}
std::set<STSigRemoteDev> GetRemoteDeviceInfo(){return m_setRemoteDev;}
// void NotifyDevInfo(LPARAM lParam, LPARAM rParam, LPVOID pWnd);
private:
CLinkList<CDevice*> m_devLinkList;
_ConnectionPtr m_pConnection;
std::set<STSigRemoteDev> m_setRemoteDev;
};
#endif // !defined(AFX_DEVMANAGER_H__5A1BC16E_527E_420B_81A6_93AF4D24335F__INCLUDED_)
+58
View File
@@ -0,0 +1,58 @@
// DevOperator.h: interface for the CDevOperator class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DEVOPERATOR_H__FCE22854_97FF_431B_9FC2_079101708E4C__INCLUDED_)
#define AFX_DEVOPERATOR_H__FCE22854_97FF_431B_9FC2_079101708E4C__INCLUDED_
#include "HandleProcessor.h" // Added by ClassView
#include "StateProcessor.h" // Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CNavDevView;
class CDevOperator
{
public:
UINT ModifyWindowTime(CNavDevView *pNavDevView);
void ShowFLDeviceInfo(DWORD dwDevHandle, CView* pAppFLDevView); //显示离线设备信息(dwDevHandle---in:设备句柄,pAppFLDevView---in:应用离线设备视图)
void ShowOLDeviceInfo(DWORD dwDevHandle, CView* pAppOLDevView); //显示在线设备信息(dwDevHandle---in:设备句柄,pAppFLDevView---in:应用在线设备视图)
bool InitialNavDevView(CNavDevView* pNavDevView); //初始化导航设备视图(pNavDevView---in:导航设备视图)
CDevOperator(_ConnectionPtr& pConnection);
virtual ~CDevOperator();
CStateProcessor m_stateProcessor;
CHandleProcessor m_handleProcessor;
UINT DevieUpgrade(CNavDevView *pNavDevView); //设备升级(pNavDevView---in:导航设备视图)
void ShowCableHeadDlg(CNavDevView *pNavDevView); //显示电缆头对话框(pNavDevView---in:导航设备视图)
UINT RefreshGRRec(CNavDevView *pNavDevView, CListCtrl &grList, int iItemIndex); //刷新接地电阻记录(pNavDevView---in:导航设备视图,grList---in:接地电阻列表,iItemIndex---in:对象索引)
UINT RefreshAllGRRec(CNavDevView *pNavDevView, CListCtrl &grList); //刷新所有接地电阻记录(pNavDevView---in:导航设备视图,grList---in:接地电阻列表)
UINT RegisterNewDevice(CNavDevView *pNavDevView); //注册新设备(pNavDevView---in:导航设备视图)
UINT UnregisterDevice(CNavDevView *pNavDevView); //取消设备注册(pNavDevView---in:导航设备视图)
UINT ModifyDeviceParameter(CNavDevView *pNavDevView, CListCtrl &detailList); //修改设备参数(pNavDevView---in:导航设备视图,detailList---in:详细列表)
// bool GetOtherDevData(CDevice* pDevInfo);
bool SaveGD10PassowordToDB(CString strDevName,CString strPassword,STDBPasswordInfo stOldDBPassInfo);
void ExpandTree(CTreeCtrl* pTreeCtrl,HTREEITEM hItem);
// bool GetProjectDataToDB(CDevice* pDev,CString strProject, CString strMacAddr);
// bool GetTestZoneToDB(CDevice* pDev,DWORD dwProID, CString strTZ ,CString strPrHostPathInfo);
// bool GetTestTaskToDB(CDevice* pDev, CString strVesInfo);
// UINT DevieFuncCardUpgrade(CNavDevView *pNavDevView); //设备功能板升级(pNavDevView---in:导航设备视图)
static UINT StartDeviceUpgrade(LPVOID lParam);
private:
_ConnectionPtr m_pConnection;
HTREEITEM m_hOLRegDevRootItem;
HTREEITEM m_hOLNewDevRootItem;
HTREEITEM m_hFLDevRootItem;
CString m_strLocalFilePath;
CString m_strProCN; //当前正在进行上传的ProCN
CString m_strTzCN; //当前正在进行上传的ProCN
};
#endif // !defined(AFX_DEVOPERATOR_H__FCE22854_97FF_431B_9FC2_079101708E4C__INCLUDED_)
+127
View File
@@ -0,0 +1,127 @@
// Device.h: interface for the CDevice class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_DEVICE_H__48E31879_2EDD_4069_B001_126D9CECFFBB__INCLUDED_)
#define AFX_DEVICE_H__48E31879_2EDD_4069_B001_126D9CECFFBB__INCLUDED_
#include "SComPort.h"
#include "ProgressDlg.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CSComPort;
class COpDevPamModifyDlg;
enum EN_CHECK_PASSWORD_RESULT
{
enPasswordError = 0,
enPasswordSucc,
enExecCmdError
};
enum EN_CHECK_OTHER_DATA
{
enNotExistOtherData = 0,
enExistOtherData,
enNotExistCmd,
enGetCmdResFailed
};
class CDevice
{
public:
//由于在win10的消息处理机制很接近真实的时间,所以将循环次数由原来的100改成500,每次循环休眠5毫秒,
//这样总共的超时时间应该是在半分钟左右
BOOL ExecuteOrder(CString strOrder, CString strSign, CString *pStrResult, int nRepeatCnt = 3, int nPollCnt = 500);
BOOL ExecuteSignleOrder(CString f_szOrder, CString f_szSign , CString *f_szResult, int nCmdPollCnt = 100);
BOOL ModifyTimeWindow();
BOOL LockDevice();
CDevice(DWORD dwID, _ConnectionPtr& pConnection);
virtual ~CDevice();
BOOL Reset(); //重置设备
BOOL DelSynInfo(); //删除同步信息
BOOL DelGRInfo(); //删除接地电阻信息
BOOL GetSynInfo(); //去同步信息
BOOL GetDevInfo(); //取设备信息
BOOL GetGRInfo(); //去接地电阻信息
int GetPoleCount(); //取电极总数
BOOL Register(); //注册
BOOL Unregister(); //取消注册
BOOL SendFile(const CString &szHostFilePath, const CString &szLocFilePath, const CString& szLocFileName);
//发送文件(szHostFilePath---in:主机文件路径,szLocFilePath---in:本地文件路径,szLocFileName---in:本地文件名称)
BOOL ReceiveFile(const CString &szLocFilePath, const CString& szHostFileName,int nRetryCnt = 3);
//接收文件(szLocFilePath---in:本地文件路径,szHostFileName---in:主机文件名)
bool ShowFLDetailInfo(CListCtrl& devDetailList);
//显示离线详细信息(devDetailList---in:设备详情列表)
bool ShowOLDetailInfo(CListCtrl& devDetailList);
//显示在线详细信息(devDetailList---in:设备详情列表)
bool ShowGRInfo(CListCtrl& devGRList); //显示接地电阻信息(devGRList---in:接地电阻列表)
bool ShowACInfo(CListCtrl& devDetailList);
//显示视极化率信息(devDetailList---in:视极化率列表)
BOOL ModifyParameter(); //修改参数
BOOL ShowCableHeadInfoDlg(); //显示电缆头信息
BOOL IsTheNumofPoleChanged(); //电极是否已经发生改变
BOOL TestGRForPerPole(int iSN, CStringArray& strResArray);
//为每一个电极测试接地电阻
BOOL TestGRForAllPole(); //为所有电极测试接地电阻
void SetState(UINT uState); //设置状态(uState---in:状态参数)
void SetID(DWORD dwID); //设置ID(dwID---in:设备ID)
void PrintLog(CString& strLog); //打印日志信息函数
int IsExistOtherUserData(); //查询下微机是否拥有除当前主机外其它用户的数据,有返回true,否则false
int CheckGD10Password(CString strGD10Password); //在GD10上校验密码
DWORD m_dwID;
UINT m_uState;
UINT m_uType;
BYTE m_ucDevType;//0 代表本地,1:代表远端的GD10, 2代表处于远端的PLC
CSComPort m_sComPort;
CString m_szDevSN;
CString m_szDevName;
CString m_szModelNO;
CString m_szMDate;
CString m_szHWV;
CString m_szSWV;
CString m_szMBatch;
CString m_szMacAddress;
_ConnectionPtr m_pConnection;
FILE *m_pLogFile;
private:
BOOL GetTdSynInfo(); //取数据同步信息
BOOL GetSptSynInfo(); //取脚本同步信息
BOOL GenerateUserFile(CString& szFilePath, CString& szFileName);
//生成用户文件(szFilePath---in:文件路径,szFileName---in:文件名称)
bool InitialCableHeadDlg(CListCtrl& cableHeadList);
//初始化电缆头对话框(cableHeadList---in:电缆头列表)
BOOL InitialOpDevPamModifyDlg(COpDevPamModifyDlg* const pOpDevPamModifyDlg);
//初始化修改设备参数对话框(pOpDevPamModifyDlg---in:设备参数对话框)
//进行传送的终止操作
BOOL EndTransfer();
//获取子任务dat文件最大点数
UINT32 GetXmlMaxTestPoint(int iSubIndex,CString strPrCN, CString strTzCN,CString strXmlFile);
};
#endif // !defined(AFX_DEVICE_H__48E31879_2EDD_4069_B001_126D9CECFFBB__INCLUDED_)
+82
View File
@@ -0,0 +1,82 @@
#ifndef AFX_DIAL2DTASKTREE_H__2019_06_01
#define AFX_DIAL2DTASKTREE_H__2019_06_01
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Dial2DTaskList.h : header file
//
#define WM_CLICK_TASK_TREE WM_USER + 103
#define LOAD_DATA_BY_DATE_CELL 1 //加载数据单位,一天天的加载
/////////////////////////////////////////////////////////////////////////////
// CDial2DTaskTree dialog
#include "CtrlProtocolDef.h"
#include "cpp\socket\NetRequestDialog.h"
class CDial2DTaskTree : public CNetRequestDialog, public ITaskTree
{
// Construction
public:
CDial2DTaskTree(CWnd* pParent = NULL); // standard constructor
void RegisterWnd(CWnd* pWnd){m_pParentWnd = pWnd;}
CTreeCtrl* GetTaskTreePtr();
void ShowTaskTree(int iSptType, time_t tStartTime = 0, time_t tEndTime = 0);
//void AppendTaskTree(int iSptType, time_t tStartTime=0, time_t tEndTime=0);
// Dialog Data
//{{AFX_DATA(CDial2DTaskTree)
enum { IDD = IDD_DIALOG_2D_TASK_TREE };
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDial2DTaskTree)
afx_msg void OnNMRClickTreeTaskList(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnTaskmanagerCreateTask();
afx_msg void OnTaskmanagerDeleteTask();
//afx_msg void OnTaskmanagerTaskInfoSyn();
afx_msg void OnTaskmanagerCancelTest();
afx_msg void OnTaskmanagerRefreshList();
UINT32 m_uiGD10DevID;
afx_msg void OnDeleteItem(int nIDCtl, LPDELETEITEMSTRUCT lpDeleteItemStruct);
afx_msg void OnDeleteitemTreeTaskList(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnNMCustomdrawTreeTaskList(NMHDR *pNMHDR, LRESULT *pResult);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
void PreNetResponse(WPARAM wParam, LPARAM lParam);
// Implementation
// Generated message map functions
//{{AFX_MSG(CDial2DTaskTree)
virtual BOOL OnInitDialog();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
void SetChildCheck(HTREEITEM hCurItem, BOOL bCheck);
afx_msg void OnClickTreeTaskList(NMHDR* pNMHDR, LRESULT* pResult);
//afx_msg void OnSelchangedTreeTaskList(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
//获取任务列表
//BOOL OnGetTaskListResponse(WPARAM wParam, LPARAM lParam);
//追加任务列表
//BOOL OnAppendTaskListResponse(WPARAM wParam, LPARAM lParam);
//从服务器一批一批获取任务列表
BOOL OnAddNewItemToTaskList(WPARAM wParam, LPARAM lParam);
//清空列表
void OnClearTaskList();
CWnd* m_pParentWnd;
DWORD m_dwTaskID;
private:
time_t m_tQueryStartTime;
time_t m_tQueryEndTime;
//BOOL m_bAppendData;
time_t m_tSaveQueryStartTime;
time_t m_tSaveQueryEndTime;
UINT32 m_uSelTaskCount;
std::map<CString, STRemTaskTable> m_mapTaskList;
CTreeCtrl m_treeTask;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIAL2DTASKLIST_H__B3542692_5D75_45C0_8F14_4633C9E5A122__INCLUDED_)
+83
View File
@@ -0,0 +1,83 @@
#ifndef AFX_DIAL3DTASKTREE_H__2019_06_01
#define AFX_DIAL3DTASKTREE_H__2019_06_01
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Dial2DTaskList.h : header file
//
#define WM_CLICK_TASK_TREE WM_USER + 103
#define LOAD_DATA_BY_DATE_CELL 1 //加载数据单位,一天天的加载
/////////////////////////////////////////////////////////////////////////////
// CDial3DTaskTree dialog
#include "CtrlProtocolDef.h"
#include "cpp\socket\NetRequestDialog.h"
class CDial3DTaskTree : public CNetRequestDialog, public ITaskTree
{
// Construction
public:
CDial3DTaskTree(CWnd* pParent = NULL); // standard constructor
void RegisterWnd(CWnd* pWnd){m_pParentWnd = pWnd;}
CTreeCtrl* GetTaskTreePtr();
void ShowTaskTree(int iSptType, time_t tStartTime = 0, time_t tEndTime = 0);
//void AppendTaskTree(int iSptType, time_t tStartTime=0, time_t tEndTime=0);
// Dialog Data
//{{AFX_DATA(CDial3DTaskTree)
enum { IDD = IDD_DIALOG_3D_TASK_TREE };
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDial3DTaskTree)
afx_msg void OnNMRClickTreeTaskList(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnTaskmanagerCreateTask();
afx_msg void OnTaskmanagerDeleteTask();
//afx_msg void OnTaskmanagerTaskInfoSyn();
afx_msg void OnTaskmanagerCancelTest();
afx_msg void OnTaskmanagerRefreshList();
UINT32 m_uiGD10DevID;
afx_msg void OnDeleteItem(int nIDCtl, LPDELETEITEMSTRUCT lpDeleteItemStruct);
afx_msg void OnDeleteitemTreeTaskList(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnNMCustomdrawTreeTaskList(NMHDR *pNMHDR, LRESULT *pResult);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
void PreNetResponse(WPARAM wParam, LPARAM lParam);
// Implementation
// Generated message map functions
//{{AFX_MSG(CDial3DTaskTree)
virtual BOOL OnInitDialog();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
void SetChildCheck(HTREEITEM hCurItem, BOOL bCheck);
afx_msg void OnClickTreeTaskList(NMHDR* pNMHDR, LRESULT* pResult);
//afx_msg void OnSelchangedTreeTaskList(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
//获取任务列表
//BOOL OnGetTaskListResponse(WPARAM wParam, LPARAM lParam);
//追加任务列表
//BOOL OnAppendTaskListResponse(WPARAM wParam, LPARAM lParam);
//从服务器一批一批获取任务列表
BOOL OnAddNewItemToTaskList(WPARAM wParam, LPARAM lParam);
//清空列表
void OnClearTaskList();
CWnd* m_pParentWnd;
DWORD m_dwTaskID;
private:
time_t m_tQueryStartTime;
time_t m_tQueryEndTime;
//BOOL m_bAppendData;
time_t m_tSaveQueryStartTime;
time_t m_tSaveQueryEndTime;
UINT32 m_uSelTaskCount;
std::map<CString, STRemTaskTable> m_mapTaskList;
CTreeCtrl m_treeTask;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIAL2DTASKLIST_H__B3542692_5D75_45C0_8F14_4633C9E5A122__INCLUDED_)
+53
View File
@@ -0,0 +1,53 @@
#if !defined(AFX_DIALCESPTNEW3PVES_H__B290A732_A3B6_4D0F_93DE_0FBD5D534659__INCLUDED_)
#define AFX_DIALCESPTNEW3PVES_H__B290A732_A3B6_4D0F_93DE_0FBD5D534659__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialCesptNew3PVes.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialCesptNew3PVes dialog
class CFloatEdit;
class CDialCesptNew3PVes : public CDialog
{
// Construction
public:
CDialCesptNew3PVes(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDialCesptNew3PVes)
enum { IDD = IDD_OP_CESPT_NEW_3P_VES };
CFloatEdit m_edB;
CFloatEdit m_edA;
CString m_strStacking;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialCesptNew3PVes)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialCesptNew3PVes)
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
UINT m_unIterNum;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALCESPTNEW3PVES_H__B290A732_A3B6_4D0F_93DE_0FBD5D534659__INCLUDED_)
+54
View File
@@ -0,0 +1,54 @@
#if !defined(AFX_DIALCFGTASKPACKET_H__6711AD85_F0F0_4C8C_9A83_548D77FD1692__INCLUDED_)
#define AFX_DIALCFGTASKPACKET_H__6711AD85_F0F0_4C8C_9A83_548D77FD1692__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialCfgTaskPacket.h : header file
//
#include "TaskDataOper.h"
/////////////////////////////////////////////////////////////////////////////
// CDialCfgTaskPacket dialog
class CDialCfgTaskPacket : public CDialog
{
// Construction
public:
CDialCfgTaskPacket(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDialCfgTaskPacket)
enum { IDD = IDD_DIALOG_CFG_TASK_PACKET };
CListCtrl m_listTaskPacket;
CComboBox m_cmbTaskName;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialCfgTaskPacket)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialCfgTaskPacket)
afx_msg void OnButtonAdd();
afx_msg void OnButtonDel();
virtual BOOL OnInitDialog();
virtual void OnOK();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
void InitialTaskList();
bool IsRepeatTask(int iTaskID);
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALCFGTASKPACKET_H__6711AD85_F0F0_4C8C_9A83_548D77FD1692__INCLUDED_)
+72
View File
@@ -0,0 +1,72 @@
#if !defined(AFX_DIALCFGTERRAIN_H__45E3408B_EE93_422A_8CC5_E87DB16509F0__INCLUDED_)
#define AFX_DIALCFGTERRAIN_H__45E3408B_EE93_422A_8CC5_E87DB16509F0__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialCfgTerrain.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialCfgTerrain dialog
class CFloatEdit;
class CDialCfgTerrain : public CDialog
{
// Construction
public:
CDialCfgTerrain(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDialCfgTerrain)
enum { IDD = IDD_DIALOG_TERRAIN_CFG };
CEdit m_edit1stPtIndex;
// CFloatEdit m_fEditYData;
// CFloatEdit m_fEditXData;
CComboBox m_cmbTerrainDataFlag;
CListCtrl m_ctrlTerrainData;
CListCtrl m_ctrlRemarkHeader;
CListCtrl m_ctrlRemarkEnd;
CListCtrl m_ctrlRemarkDetail;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialCfgTerrain)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialCfgTerrain)
virtual BOOL OnInitDialog();
afx_msg void OnClickListTerrainData(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnButtonDelete();
afx_msg void OnButtonAdd();
afx_msg void OnButtonModify();
afx_msg void OnSelchangeComboTerrainDataFlag();
afx_msg void OnKillfocusEdit1stElectPtNumber();
afx_msg void OnButtonImpFile();
afx_msg void OnButtonSaveData();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
//methods
int GetDevArrayFromText(const CString& strInfo);
int GetWriteIndexFromEndTxt(CString strInfo, int &iEndZeroCnt);
void InitUIByLanguage(int iLanguage);
bool CheckValidBeforSave();
//attributes
int m_iExplainStartIndex;
CString m_strDatFilePath;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALCFGTERRAIN_H__45E3408B_EE93_422A_8CC5_E87DB16509F0__INCLUDED_)
+64
View File
@@ -0,0 +1,64 @@
#if !defined(AFX_DIALCOMBINE3DTASK_H__DF28FCA3_299A_4973_98A2_16C6A60B430B__INCLUDED_)
#define AFX_DIALCOMBINE3DTASK_H__DF28FCA3_299A_4973_98A2_16C6A60B430B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialCombine3DTask.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialCombine3DTask dialog
class CDialCombine3DTask : public CDialog
{
// Construction
public:
CDialCombine3DTask(_ConnectionPtr& pConnection, DWORD dwProID, CWnd* pParent = NULL); // standard constructor
DWORD m_dwTdID;
int m_iSptType;
int m_iTestType;
// Dialog Data
//{{AFX_DATA(CDialCombine3DTask)
enum { IDD = IDD_DIALOG_COMBINE_TASK };
CComboBox m_cmbCoordinate;
CListCtrl m_ctrlNeedSelList;
CListCtrl m_ctrlCombineList;
CString m_strTaskName;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialCombine3DTask)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialCombine3DTask)
virtual BOOL OnInitDialog();
afx_msg void OnButtonAdd();
afx_msg void OnButtonRemove();
virtual void OnOK();
afx_msg void OnClose();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
void InitalTaskInfo();
bool CheckValuekValid();
bool CombineTask();
bool CombineTaskTd(DWORD &dwTdChID);
protected:
_ConnectionPtr m_pConnection;
DWORD m_dwProID;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALCOMBINE3DTASK_H__DF28FCA3_299A_4973_98A2_16C6A60B430B__INCLUDED_)
+108
View File
@@ -0,0 +1,108 @@
#include "afxwin.h"
#if !defined(AFX_DIALCREATENEW3DSPT_H__662959A7_2DF4_4A06_A366_E0174EB1FFE9__INCLUDED_)
#define AFX_DIALCREATENEW3DSPT_H__662959A7_2DF4_4A06_A366_E0174EB1FFE9__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialCreateNew3DSpt.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialCreateNew3DSpt dialog
class CFloatEdit;
class CDialCreateNew3DSpt : public CDialog
{
// Construction
public:
CDialCreateNew3DSpt(CScript3D* pNewScript, CLinkList<CMedium*>* pMedLinkList, INT_PTR* pRet, CWnd* pParent= NULL); // standard constructor
BOOL Create(UINT nID, CWnd* pParentWnd);
int GetSplitSptNumber(){return m_iSplitSptNum;}
CString GetSptName(){return m_strSptName;}
CString GetSptOperator(){return m_strSptOperator;}
CString GetSptMark(){return m_strSptRemark;}
CString GetRect(){return m_strRect;}
CString GetPoleStart(){return m_strPoleStart;}
CString GetPoleDistance(){return m_strPoleDistance;}
CString GetPoleStep(){return m_strPoleStep;}
int GetLineDirection()
{
return m_comCableDirection.GetCurSel();
}
CTime m_CreateDate;
// Dialog Data
//{{AFX_DATA(CDialCreateNew3DSpt)
enum { IDD = IDD_DIALOG_NEW_3D_SPT };
CFloatEdit m_fEditMinAMSpace;
CFloatEdit m_fEditABSpace;
CDateTimeCtrl m_ctrlDateTime;
CComboBox m_cmbSptRunMethod;
CComboBox m_cmdSptArray;
CString m_strSptName;
CString m_strSptOperator;
CString m_strSptRemark;
CString m_strStacking;
CString m_strGridXSize;
CString m_strGridYSize;
CFloatEdit m_fEditXPoleSpace;
CFloatEdit m_fEditYPoleSpace;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialCreateNew3DSpt)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialCreateNew3DSpt)
//afx_msg void OnPaint();
virtual BOOL OnInitDialog();
afx_msg void OnSelchangeCombo3dSptMeasureMethod();
afx_msg void OnSelchangeCombo3dSptArray();
afx_msg void OnCbnSelchangeCombo3dSptCableDirection();
virtual void OnOK();
afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
bool CheckValueValid();
bool GetMeasureZone(int iRunMethod,DWORD dwArray,int &iEnableZoneCnt,int &iDisableZoneCnt);
protected:
int m_iSptArray;
int m_iSptRunMethod;
CLinkList<CMedium*>* m_pMedLinkList;
CHandleProcessor m_handleProcessor;
CScript3D* m_pNewScript;
UINT m_uiStepX;
UINT m_uiStepY;
int m_zone[8];
int m_DisZone[8];
int m_iSplitSptNum;
CString m_strRect;
CString m_strPoleStep;
CString m_strPoleStart;
CString m_strPoleDistance;
UINT m_uiXGridSize;
UINT m_uiYGridSize;
int m_uiIterationNumber;
float m_fXPoleDistance;
float m_fYPoleDistance;
float m_fABSpace;
float m_fAPosX;
float m_fAPosY;
CComboBox m_comCableDirection;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALCREATENEW3DSPT_H__662959A7_2DF4_4A06_A366_E0174EB1FFE9__INCLUDED_)
+80
View File
@@ -0,0 +1,80 @@
#if !defined(AFX_DIALCUSTOMSPTINPUT_H__AE5A30B1_6571_4F50_B6E5_5A3FAEE844FD__INCLUDED_)
#define AFX_DIALCUSTOMSPTINPUT_H__AE5A30B1_6571_4F50_B6E5_5A3FAEE844FD__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialCustomSptInput.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialCustomSptInput dialog
class CDialCustomSptInput : public CDialog
{
// Construction
public:
CDialCustomSptInput(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDialCustomSptInput)
enum { IDD = IDD_DIALOG_CUSTOMSPT_MANUAL_INPUT };
CListCtrl m_listCustomSpt;
CString m_strA;
CString m_strB;
CString m_strStacking;
CString m_strK;
CString m_strLayer;
CString m_strM;
CString m_strN;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialCustomSptInput)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
bool CalculateK();
void InitalListHeaderInfo();
bool CheckInputIsValid();
// Generated message map functions
//{{AFX_MSG(CDialCustomSptInput)
afx_msg void OnButtonAddList();
afx_msg void OnButtonDelList();
afx_msg void OnButtonModifyList();
virtual void OnOK();
virtual BOOL OnInitDialog();
afx_msg void OnClickListCustomSpt(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnRadioHandInput();
afx_msg void OnRadioAutoCalc();
afx_msg void OnButtonImport();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
int GetListCount(){return m_listCustomSpt.GetItemCount();}
CString GetListItemText(int iIndex, int iSubIndex);
//attributes
int m_iA;
int m_iB;
int m_iM;
int m_iN;
int m_iLayer;
int m_iIteration;
float m_fK;
protected:
int m_iTsn;
// _Application *pComApp;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALCUSTOMSPTINPUT_H__AE5A30B1_6571_4F50_B6E5_5A3FAEE844FD__INCLUDED_)
+40
View File
@@ -0,0 +1,40 @@
#ifndef AFX_DIALDELETETASKOPTION_H__E138DD09_A581_493B_B56E_E5875F3E4B59__INCLUDED_
#define AFX_DIALDELETETASKOPTION_H__E138DD09_A581_493B_B56E_E5875F3E4B59__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DailLogin.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialDeleteTaskOption dialog
class CDialDeleteTaskOption : public CDialog
{
// Construction
public:
CDialDeleteTaskOption(CWnd* pParent = NULL); // standard constructor
virtual BOOL OnInitDialog();
// Dialog Data
//{{AFX_DATA(CDialDeleteTaskOption)
enum { IDD = IDD_DIALOG_DELETE_TASK_OPTION };
BOOL m_DeleteCloud;
BOOL m_DeleteLocal;
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialDeleteTaskOption)
afx_msg void OnOptionCancel();
afx_msg void OnOptionOk();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DAILLOGIN_H__E138DD09_A581_493B_B56E_E5875F3E4B59__INCLUDED_)
@@ -0,0 +1,49 @@
#if !defined(AFX_DIALDEVSTATUSTIMERSHOW_H__802D7A8A_3FF1_4E3C_ABA2_C2F8AA0B510F__INCLUDED_)
#define AFX_DIALDEVSTATUSTIMERSHOW_H__802D7A8A_3FF1_4E3C_ABA2_C2F8AA0B510F__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialDevStatusTimerShow.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialDevStatusTimerShow dialog
class CDialDevStatusTimerShow : public CDialog
{
// Construction
public:
CDialDevStatusTimerShow(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDialDevStatusTimerShow)
enum { IDD = IDD_DIALOG_PLC_STATUS_TIMERSHOW };
CListCtrl m_listData;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialDevStatusTimerShow)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialDevStatusTimerShow)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
void ShowPlcStatusData();
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALDEVSTATUSTIMERSHOW_H__802D7A8A_3FF1_4E3C_ABA2_C2F8AA0B510F__INCLUDED_)
+51
View File
@@ -0,0 +1,51 @@
#if !defined(AFX_DIALEXPDIAGNOSIS_H__31029D39_9677_4DB4_9F5E_7B8EA021AF0F__INCLUDED_)
#define AFX_DIALEXPDIAGNOSIS_H__31029D39_9677_4DB4_9F5E_7B8EA021AF0F__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialExpDiagnosis.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialExpDiagnosis dialog
class CDialExpDiagnosis : public CDialog
{
// Construction
public:
CDialExpDiagnosis(CWnd* pParent = NULL); // standard constructor
void SetOrgFilePath(CString strFilePath){m_strFilePath = strFilePath;}
CString GetFilePath(){return m_strFilePath;}
// Dialog Data
//{{AFX_DATA(CDialExpDiagnosis)
enum { IDD = IDD_DIALOG_EXP_DIAGNOSIS };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialExpDiagnosis)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialExpDiagnosis)
virtual BOOL OnInitDialog();
afx_msg void OnButtonBrowse();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
CString m_strFilePath;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALEXPDIAGNOSIS_H__31029D39_9677_4DB4_9F5E_7B8EA021AF0F__INCLUDED_)
+51
View File
@@ -0,0 +1,51 @@
#if !defined(AFX_DIALFINDCOMSHOW_H__8CE9DB8F_929D_4EA0_8C25_A602DAD65EB7__INCLUDED_)
#define AFX_DIALFINDCOMSHOW_H__8CE9DB8F_929D_4EA0_8C25_A602DAD65EB7__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialFindComShow.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialFindComShow dialog
class CDialFindComShow : public CDialog
{
// Construction
public:
CDialFindComShow(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDialFindComShow)
enum { IDD = IDD_DIALOG_FIND_COMM };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialFindComShow)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialFindComShow)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
void SetShowText(CString strShow){m_strShowCom = strShow;}
private:
CString m_strShowCom;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALFINDCOMSHOW_H__8CE9DB8F_929D_4EA0_8C25_A602DAD65EB7__INCLUDED_)
@@ -0,0 +1,88 @@
#ifndef AFX_DIALLISTDETAILINFODATA_H__BDDACC80_9339_45DA_8409_090E70B98A1B__INCLUDED_
#define AFX_DIALLISTDETAILINFODATA_H__BDDACC80_9339_45DA_8409_090E70B98A1B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialListMeasuData.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialListDetailInfoData dialog
#include "TaskDataOper.h"
#include "cpp/socket/NetRequestDialog.h"
#define MAX_LIST_SHOW_NUM 300
#define MAX_LIST_SHOW_NUM_GR 300
#define DISPLAY_PER_PAGE_SIZE (23)//每页显示数据数量
#define WM_MSG_CLICK_BTN_PREVIOUS WM_USER+998
#define WM_MSG_CLICK_BTN_NEXT WM_USER+999
class CDialListDetailInfoData : public CNetRequestDialog
{
// Construction
public:
CDialListDetailInfoData(CWnd* pParent = NULL); // standard constructor
// void SetMeasureType(int iMeasuType){m_iMeasuType = iMeasuType;}
void SetSptType(int iSptType){m_iSptType = iSptType;}
void SetTaskID(int iTaskID){m_iTaskID = iTaskID;}
void SetCurrTaskArg(STRemTaskArg stTaskArg)
{
m_stTaskArg = stTaskArg;
m_uTotalPage = m_stTaskArg.uiTotalNum / DISPLAY_PER_PAGE_SIZE + 1;
}
//分页显示测试数据,每页50条数据
void ShowPage(UINT32 uPage);//显示当前页
void EnablePreviousOrNextBtn(bool bEnablePre, bool bEnableNext);
// Dialog Data
//{{AFX_DATA(CDialListDetailInfoData)
enum { IDD = IDD_DIALOG_LIST_DETAIL_INFO_DATA };
CListCtrl m_listData;
//}}AFX_DATA
afx_msg HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialListDetailInfoData)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
void PreNetResponse(WPARAM wParam, LPARAM lParam);
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialListDetailInfoData)
virtual BOOL OnInitDialog();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
afx_msg void OnBtnListPre();
afx_msg void OnBtnListNext();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
void ShowMeasuStatus(CString strStatus);
afx_msg void OnNMClickListMeasure(NMHDR *pNMHDR, LRESULT *pResult);
protected:
void OnShowTdData(const std::vector<STTaskDetailBasicData>& vtTdData);
protected:
int m_iSptType;
int m_iTaskID;
CString m_strMeasuStatus;
CTaskDataOper m_taskOper;
const bool* m_pMeasuStatus;
UINT32 m_uTotalPage; //总页数
UINT32 m_uCurDisplayPage; //当前显示页
UINT32 m_uCurPageTaskNum; //当前页任务数
STRemTaskArg m_stTaskArg;
BYTE m_ucAlram;
CStatic* m_pCtrlTestStatus;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALLISTMEASUDATA_H__BDDACC80_9339_45DA_8409_090E70B98A1B__INCLUDED_)
+55
View File
@@ -0,0 +1,55 @@
#ifndef AFX_DIALLISTDETAILINFO_H__00E783F1_A0A7_4A1E_91CC_4E8AE79322E5__INCLUDED_
#define AFX_DIALLISTDETAILINFO_H__00E783F1_A0A7_4A1E_91CC_4E8AE79322E5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialListMeasuGR.h : header file
//
#include "cpp/socket/NetRequestDialog.h"
#include "cpp/ctrl/CListTextColorCtrl.h"
/////////////////////////////////////////////////////////////////////////////
// CDialListDetailInfoGR dialog
class CDialListDetailInfoGR : public CNetRequestDialog
{
// Construction
public:
CDialListDetailInfoGR(CWnd* pParent = NULL); // standard constructor
void SetSptType(int iSptType){m_iSptType = iSptType;}
void InitiShowGR();
void GetGRRequest(STRemTaskArg stTaskArg);
// Dialog Data
//{{AFX_DATA(CDialListDetailInfoGR)
enum { IDD = IDD_DIALOG_LIST_DETAIL_INFO_GR };
//CListCtrl m_listData;
CListTextColorCtrl m_listData;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialListDetailInfoGR)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialListDetailInfoGR)
virtual BOOL OnInitDialog();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
void PreNetResponse(WPARAM wParam, LPARAM lParam);
protected:
int m_iSptType;
STRemTaskArg m_stTaskArg;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALLISTMEASUGR_H__00E783F1_A0A7_4A1E_91CC_4E8AE79322E5__INCLUDED_)
+68
View File
@@ -0,0 +1,68 @@
#if !defined(AFX_DIALLISTMEASUDATA_H__BDDACC80_9339_45DA_8409_090E70B98A1B__INCLUDED_)
#define AFX_DIALLISTMEASUDATA_H__BDDACC80_9339_45DA_8409_090E70B98A1B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialListMeasuData.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialListMeasuData dialog
#include "TaskDataOper.h"
#define MAX_LIST_SHOW_NUM 300
#define MAX_LIST_SHOW_NUM_GR 300
class CDialListMeasuData : public CDialog
{
// Construction
public:
CDialListMeasuData(CWnd* pParent = NULL); // standard constructor
// void SetMeasureType(int iMeasuType){m_iMeasuType = iMeasuType;}
void SetSptType(int iSptType){m_iSptType = iSptType;}
void SetTaskID(int iTaskID){m_iTaskID = iTaskID;}
void EnablePreviewBtn(bool bIsEnable);
void SetMeasuStatus(const bool* pStatus){m_pMeasuStatus = pStatus;}
// Dialog Data
//{{AFX_DATA(CDialListMeasuData)
enum { IDD = IDD_DIALOG_MEASURE_LIST_DATA };
CListCtrl m_listData;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialListMeasuData)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialListMeasuData)
virtual BOOL OnInitDialog();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
afx_msg void OnBtnListPre();
afx_msg void OnBtnListNext();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
void ShowMeasuStatus(CString strStatus);
protected:
void OnShowTdData(const std::vector<STTaskDetailBasicData>& vtTdData);
protected:
int m_iSptType;
int m_iTaskID;
CString m_strMeasuStatus;
CTaskDataOper m_taskOper;
const bool* m_pMeasuStatus;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALLISTMEASUDATA_H__BDDACC80_9339_45DA_8409_090E70B98A1B__INCLUDED_)
+51
View File
@@ -0,0 +1,51 @@
#if !defined(AFX_DIALLISTMEASUGR_H__00E783F1_A0A7_4A1E_91CC_4E8AE79322E5__INCLUDED_)
#define AFX_DIALLISTMEASUGR_H__00E783F1_A0A7_4A1E_91CC_4E8AE79322E5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialListMeasuGR.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialListMeasuGR dialog
class CDialListMeasuGR : public CDialog
{
// Construction
public:
CDialListMeasuGR(CWnd* pParent = NULL); // standard constructor
void SetSptType(int iSptType){m_iSptType = iSptType;}
void InitiShowGR();
// Dialog Data
//{{AFX_DATA(CDialListMeasuGR)
enum { IDD = IDD_DIALOG_MEASURE_LIST_GR };
CListCtrl m_listData;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialListMeasuGR)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialListMeasuGR)
virtual BOOL OnInitDialog();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
int m_iSptType;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALLISTMEASUGR_H__00E783F1_A0A7_4A1E_91CC_4E8AE79322E5__INCLUDED_)
@@ -0,0 +1,83 @@
#ifndef AFX_DIALLISTREALTIMEMEASUDATA_H__BDDACC80_9339_45DA_8409_090E70B98A1B__INCLUDED_
#define AFX_DIALLISTREALTIMEMEASUDATA_H__BDDACC80_9339_45DA_8409_090E70B98A1B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialListMeasuData.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialListRealTimeMeasureData dialog
#include "TaskDataOper.h"
#define MAX_LIST_SHOW_NUM 300
#define MAX_LIST_SHOW_NUM_GR 300
class CDialListRealTimeMeasureData : public CDialog
{
// Construction
public:
CDialListRealTimeMeasureData(CWnd* pParent = NULL); // standard constructor
// void SetMeasureType(int iMeasuType){m_iMeasuType = iMeasuType;}
void SetSptType(int iSptType){m_iSptType = iSptType;}
void SetTaskID(int iTaskID){m_iTaskID = iTaskID;}
//void EnablePreviewBtn(bool bIsEnable);
void SetMeasuStatus(const bool* pStatus){m_pMeasuStatus = pStatus;}
void SetRealTimeCurrentTaskArg(HWND hWnd,STRemTaskArg stCurTaskArg)
{
m_TaskManagerHwnd = hWnd;
memcpy(&m_stCurRealTimeTaskArg, &stCurTaskArg, sizeof(STRemTaskArg));
}
//传递当前的测试状态
// void SetTestingMethod(EN_TASK_TESTING_METHOD eTestingMethod)
// {
// m_eTestingMethod = eTestingMethod;
// }
// Dialog Data
//{{AFX_DATA(CDialListRealTimeMeasureData)
enum { IDD = IDD_DIALOG_REAL_TIME_MEASURE_LIST_DATA };
CListCtrl m_listData;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialListRealTimeMeasureData)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialListRealTimeMeasureData)
virtual BOOL OnInitDialog();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
//afx_msg void OnBtnListPre();
//afx_msg void OnBtnListNext();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
void ShowMeasuStatus(CString strStatus);
public:
void OnShowTdData(const std::vector<STTaskDetailBasicData>& vtTdData);
void OnShowTdDataAppend(const std::vector<STTaskDetailBasicData>& vtTdData);
//用于单点测量和从当前位置开始测量,不直接追加修改点
void OnShowTdDataUpdate(const std::vector<STTaskDetailBasicData>& vtTdData);
protected:
int m_iSptType;
int m_iTaskID;
CString m_strMeasuStatus;
CTaskDataOper m_taskOper;
const bool* m_pMeasuStatus;
STRemTaskArg m_stCurRealTimeTaskArg;
HWND m_TaskManagerHwnd;
//EN_TASK_TESTING_METHOD m_eTestingMethod;//保存正在测量的方式,单点测量、从当前位置开始测量、全部测量
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALLISTMEASUDATA_H__BDDACC80_9339_45DA_8409_090E70B98A1B__INCLUDED_)
@@ -0,0 +1,55 @@
#ifndef AFX_DIALLISTREALTIMEMEASUGR_H__00E783F1_A0A7_4A1E_91CC_4E8AE79322E5__INCLUDED_
#define AFX_DIALLISTREALTIMEMEASUGR_H__00E783F1_A0A7_4A1E_91CC_4E8AE79322E5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialListRealTimeMeasuGR.h : header file
//
#include "cpp/socket/NetRequestDialog.h"
#include "cpp/ctrl/CListTextColorCtrl.h"
/////////////////////////////////////////////////////////////////////////////
// CDialListRealTimeMeasuGR dialog
class CDialListRealTimeMeasuGR : public CNetRequestDialog
{
// Construction
public:
CDialListRealTimeMeasuGR(CWnd* pParent = NULL); // standard constructor
void SetSptType(int iSptType){m_iSptType = iSptType;}
void GetGRRequest(STRemTaskArg stTaskArg);
void InitiShowGR();
// Dialog Data
//{{AFX_DATA(CDialListRealTimeMeasuGR)
enum { IDD = IDD_DIALOG_REAL_TIME_MEASURE_LIST_GR };
//CListCtrl m_listData;
CListTextColorCtrl m_listData;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialListRealTimeMeasuGR)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialListRealTimeMeasuGR)
virtual BOOL OnInitDialog();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
void PreNetResponse(WPARAM wParam, LPARAM lParam);
protected:
int m_iSptType;
STRemTaskArg m_stTaskArg;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALLISTMEASUGR_H__00E783F1_A0A7_4A1E_91CC_4E8AE79322E5__INCLUDED_)
+31
View File
@@ -0,0 +1,31 @@
#pragma once
#include "afxcmn.h"
#include "afxwin.h"
#include "Afxtempl.h"
// DialLoopTaskCancel 对话框
class DialLoopTaskCancel : public CDialog
{
DECLARE_DYNAMIC(DialLoopTaskCancel)
public:
DialLoopTaskCancel(CWnd* pParent = NULL); // 标准构造函数
virtual ~DialLoopTaskCancel();
// 对话框数据
enum { IDD = IDD_DIALOG_LOOP_CACEL };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
DECLARE_MESSAGE_MAP()
public:
CListCtrl m_ClistLoopTask;
afx_msg void OnBnClickedCancelLoop();
afx_msg void OnBnClickedExit();
virtual BOOL OnInitDialog();
CStatic m_CStaticTaskNum;
CList<STLoopTaskTable, STLoopTaskTable> m_LoopTablelist;
};
+33
View File
@@ -0,0 +1,33 @@
#pragma once
#include "afxwin.h"
#include "afxcmn.h"
#include "Afxtempl.h"
// DialLoopTaskQuery 对话框
class DialLoopTaskQuery : public CDialog
{
DECLARE_DYNAMIC(DialLoopTaskQuery)
public:
DialLoopTaskQuery(CWnd* pParent = NULL); // 标准构造函数
virtual ~DialLoopTaskQuery();
// 对话框数据
enum { IDD = IDD_DIALOG_QUERY_LOOP };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
DECLARE_MESSAGE_MAP()
public:
CStatic m_StaticLoopNum;
CListCtrl m_ListLoopDisplay;
afx_msg void OnBnClickedQuerySubLoop();
afx_msg void OnBnClickedCancel();
CList<STLoopTaskTable, STLoopTaskTable> m_LoopTablelist;
virtual BOOL OnInitDialog();
CStringArray m_szArrayLoopTaskID;
};
+70
View File
@@ -0,0 +1,70 @@
#ifndef DIALMANAGELOOPTASK_H_201810310903
#define DIALMANAGELOOPTASK_H_201810310903
#include "afxcmn.h"
#include "cpp\socket\NetRequestDialog.h"
#pragma once
// DialManageLoopTask 对话框
#define NUMBER_DAYS_LOAD_LOOP_LIST 5
class CDialManageLoopTask : public CNetRequestDialog
{
DECLARE_DYNAMIC(CDialManageLoopTask)
public:
CDialManageLoopTask(CWnd* pParent = NULL); // 标准构造函数
virtual ~CDialManageLoopTask();
// 对话框数据
enum { IDD = IDD_DIALOG_MANAGE_TIMER_TASK };
void SetDeviceID(DWORD dwDeviceID)
{
m_dwDeviceSN = dwDeviceID;
}
void SetPLCID(DWORD dwPLCID)
{
m_dwPLCID = dwPLCID;
}
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
afx_msg void OnNMClickListLoopTaskList(NMHDR *pNMHDR, LRESULT *pResult);
void InitLoopTaskList();
DECLARE_MESSAGE_MAP()
virtual BOOL OnInitDialog();
afx_msg void OnBnClickedBtnDeleteLoopTask();
afx_msg void OnBnClickedOk();
//afx_msg LRESULT OnGetSubListMsg(WPARAM wParam, LPARAM lParam);
void PreNetResponse(WPARAM wParam, LPARAM lParam);
void GetSubLoopListResponse(WPARAM wParam, LPARAM lParam);
void GetLoopListResponse(WPARAM wParam, LPARAM lParam);
void ShowLoopList();
//private:
//static UINT GetSubTaskThread(LPVOID pParam);
private:
CListCtrl m_LoopTaskList;
CListCtrl m_subtaskList;
CEdit m_editLoopTaskName;
CEdit m_editPLCID;
CEdit m_editGDID;
CEdit m_editLoopType;
CEdit m_editLoopCount;
CEdit m_editTimerType;
CEdit m_editStartTime;
CEdit m_editEndTime;
CEdit m_editEverydayStartTime;
CEdit m_editTaskInterval;
STLoopTaskInfo m_stLoopTaskInfo;
CRITICAL_SECTION m_cs;
vector<CString> m_vtDelLoopTask;
CString m_strLoopTaskNumTips;
CString m_strSubloopTaskNumTips;
std::map<CString, STLoopTaskTable> m_mapSaveLoopList; //保存循环列表集合
time_t m_uiTotalStartTime; //总的开始时间
time_t m_uiTotalEndTime; //总的结束时间
DWORD m_dwDeviceSN; //DeviceSN/Device ID
DWORD m_dwPLCID; //PLC ID
};
#endif
+50
View File
@@ -0,0 +1,50 @@
#if !defined(AFX_DIALMEASULOOPTEST_H__BAE8FC5D_0E52_42D3_9CE7_C889B72A000D__INCLUDED_)
#define AFX_DIALMEASULOOPTEST_H__BAE8FC5D_0E52_42D3_9CE7_C889B72A000D__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialMeasuLoopTest.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialMeasuLoopTest dialog
class CDialMeasuLoopTest : public CDialog
{
// Construction
public:
CDialMeasuLoopTest(CWnd* pParent = NULL); // standard constructor
int GetLoopCnt(){return m_iLoopCnt;}
// Dialog Data
//{{AFX_DATA(CDialMeasuLoopTest)
enum { IDD = IDD_DIALOG_LOOP_TEST };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialMeasuLoopTest)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialMeasuLoopTest)
virtual void OnOK();
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
int m_iLoopCnt;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALMEASULOOPTEST_H__BAE8FC5D_0E52_42D3_9CE7_C889B72A000D__INCLUDED_)
+94
View File
@@ -0,0 +1,94 @@
#if !defined(AFX_DIALMEASUTASKPACKET_H__02C88A4B_A833_4D3B_BEC5_D2F5CA59162B__INCLUDED_)
#define AFX_DIALMEASUTASKPACKET_H__02C88A4B_A833_4D3B_BEC5_D2F5CA59162B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialMeasuTaskPacket.h : header file
//
#include "TaskDataOper.h"
/////////////////////////////////////////////////////////////////////////////
// CDialMeasuTaskPacket dialog
class CDialMeasuTaskPacket : public CDialog
{
// Construction
public:
CDialMeasuTaskPacket(CWnd* pParent = NULL); // standard constructor
static UINT StartMeasuData(LPVOID pInfo);
void StopMeasuDataInfo(bool bIsNormalExit = true);
bool StartMeasuSigTask(const STTdBrowseInfo* pSigTask);
bool GetCfgTaskData(DWORD dwTdID,char* pData, int& iLen, int iMaxLen);
void SetDevID(UINT32 uiDevID){m_uiDevID = uiDevID;}
static void NotifyResFunc(LPARAM lOperType, LPARAM lOperRes, LPVOID lpWnd);
int ProcRcvMeasuData();
bool OperPLC(BYTE ucCmd, CString strPlcID, bool bIsShowErrSyn);
bool QuitDial();
// Dialog Data
//{{AFX_DATA(CDialMeasuTaskPacket)
enum { IDD = IDD_DIALOG_MEASU_TASK_PACKET };
CListCtrl m_listMeasuData;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialMeasuTaskPacket)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialMeasuTaskPacket)
afx_msg void OnButtonCfg();
afx_msg void OnButtonMeasuAll();
afx_msg void OnButtonPause();
afx_msg void OnButtonContinue();
virtual BOOL OnInitDialog();
afx_msg void OnClose();
virtual void OnCancel();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
void SetBtnStatus(BYTE ucStatus);
int GetNeedMeasuData(char* pData,int &iLen, int iMaxLen);
void ThreadJoin();
void ClearRecvBuffer(){
memset(m_ucData, 0, sizeof(m_ucData));
m_iRecvDataLen = 0;
}
bool GetCfgTaskPacketAttr();
protected:
CTaskDataOper m_TaskdDBOper;
bool m_bIsRunning;
CWinThread* m_pThread;
bool m_bIsThreadFinshed;
bool m_bIsOpenTbData;
BYTE m_ucCmd;
BYTE m_ucData[MAX_RECV_MEASURE]; //接收数据缓冲区
int m_iRepeatSndCnt;
bool m_bIsSuspend;
bool m_bIsSigMeasuring;
int m_iRecvDataLen;
BYTE m_ucProcStep;
STQueryTaskBasicInfo m_stQueryTdInfo;
UINT32 m_uiDevID;
std::vector<STSigSndDataInfo> m_vtMeasureData;
int m_iLoopTimes;
int m_iInterval;
//UINT m_uiPlcID
CString m_strPlcID;
std::vector<STTdBrowseInfo> m_vtTaskPacket;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALMEASUTASKPACKET_H__02C88A4B_A833_4D3B_BEC5_D2F5CA59162B__INCLUDED_)
+152
View File
@@ -0,0 +1,152 @@
#if !defined(AFX_DIALMEASUREDATA_H__CA946FA9_52D2_4B68_92E2_30C065867518__INCLUDED_)
#define AFX_DIALMEASUREDATA_H__CA946FA9_52D2_4B68_92E2_30C065867518__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialMeasureData.h : header file
//
#include "DialListMeasuData.h"
#include "TaskDataOper.h"
//#include "RingBuffer.h"
#include "DialListMeasuGR.h"
#include "CtrlProtocolDef.h"
#include "cpp/socket/NetRequestDialog.h"
/////////////////////////////////////////////////////////////////////////////
// CDialMeasureData dialog
enum EN_TEST_TYPE
{
EN_CMD_MEASURE_NO =0, //未测试
EN_CMD_MEASURE_ALL=1, //全部测试
EN_CMD_MEASURE_FROM_CUR_POINT =2, //从当前开始测试
EN_CMD_MEASURE_ONE_POINT=3 //单点测试
};
// enum EN_DEVICE_TYPE
// {
// EN_DEV_GD10 = 0,
// EN_DEV_PLC
// };
class CDialMeasureData : public CNetRequestDialog
{
// Construction
public:
CDialMeasureData(CWnd* pParent = NULL); // standard constructor
~CDialMeasureData();
void SetTaskID(CString strTaskCN){ m_strTaskCN = strTaskCN; }
void SetTaksID(int iTaskID){m_iTaskID = iTaskID;}
void SetDeviceID(UINT uiDevID){m_uiDevID = uiDevID;}
virtual BOOL DestroyWindow();
// Dialog Data
//{{AFX_DATA(CDialMeasureData)
enum { IDD = IDD_DIALOG_MEAUSRE_DATA };
CTabCtrl m_tabChange;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialMeasureData)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialMeasureData)
virtual BOOL OnInitDialog();
afx_msg void OnMeasureAll();
afx_msg void OnMeasureCurPt();
//afx_msg void OnMeasureDownloadMeasuCfg();
BOOL OnMeasureDownloadMeasuCfg();
afx_msg void OnMeasureFromCur();
afx_msg void OnSelchangeTabChg(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnMeasureSuspendMeau();
afx_msg void OnClose();
virtual void OnCancel();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnSelchangingTabChg(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
//static void NotifyResFunc(LPARAM lOperType, LPARAM lOperRes, LPVOID lpWnd);
bool MeasureAllGR();
// void ClearMeasuGRInfo();
void ClearRecvBuffer();
bool RecvMeasureGRData();
bool ProcRcvGrData();
void StopMeasuDataInfo(bool bIsNormalExit = true);
int ProcRcvMeasuData();
// void RegisterBuffer(RingBuffer* pReadBuf, RingBuffer* pWriteBuf){m_pReadBuf = pReadBuf; m_pWriteBuf = pWriteBuf;}
// bool SendData(const BYTE* pData, int iLen);
void SetBtnStatus(BYTE ucBtnStatus);
int GetNeedMeasuData(char* pData,int &iLen, int iMaxLen);
int GetSigNeedMeasuData(char* pData,int &iLen, int iMaxLen);
int GetNeedMeasuGR(char* pData,int &iLen, int iMaxLen, int iAddtionalVal=0);
void ProcRcvData(const STCtrlProtoHeader& stCtrlInfo, const char* pData);
void ProcGD10Data(const STCtrlProtoHeader& stCtrlHeader, const char* pPayload);
void ProcPLCData(const STCtrlProtoHeader& stCtrlHeader, const char* pPayload);
static UINT StartMeasuData(LPVOID pInfo);
void ThreadJoin();
void PreNetResponse(WPARAM wParam, LPARAM lParam);
bool InitGrList(CListCtrl &tdGrList, CString strTaskCN);
protected:
CDialListMeasuData m_dialListMeasuTask;
CDialListMeasuGR m_dialListMeasuGR;
// int m_iStartElec;
// int m_iEndElec;
// bool m_bIsNetOper; //是否正在网络操作
bool m_bIsSigMeasuring; //是否正在进行数据测量
bool m_bIsSuspend; //是否进行暂停
int m_iRecvElecID; //已经接受了的电极ID
BYTE m_ucData[MAX_RECV_MEASURE]; //接收数据缓冲区
int m_iRecvDataLen;
int m_iMeasuType; //测量数据类型,1是指测量数据,2是指接地电阻
CString m_strTaskCN; //云端Task id
int m_iTaskID; //测试任务ID
bool m_bIsDownLoadTask; //是否已经下发了任务配置
BYTE m_ucCmd; //正在进行通信的命令字
EN_TEST_TYPE m_enTestTypeCmd; //单点测试、从当前测试、全部测试
STQueryTaskBasicInfo m_stQueryTdInfo;
CTaskDataOper m_TaskdDBOper;
bool m_bIsOpenTbData; //是否已经打开具体的数据表
// int m_iMeasuMethod; //测量方法:0:不测量 1:全部测量,2:只测量当前点 3:从当前点开始测量
int m_iMeasureDataID;
int m_iSigDataMeasuTimeout;
int m_iCurTsn; //当前点的TSN
// int m_iListDataID; //测量数据列表的ID
// bool m_bIsSuspend; //是否暂停测量
STTaskDetailBasicData m_stTaskBasicData;
BYTE m_ucMeasuBtnStatus[2]; //分别代表测量数据和接地电阻测量按钮此时所处的状态
// BOOL m_bIsSuspenMeasu[2];
bool m_bIsRunning;
// RingBuffer *m_pReadBuf;
// RingBuffer *m_pWriteBuf;
CWinThread* m_pThread;
CRITICAL_SECTION m_MutexSec;
BYTE m_ucPayLoad[MAX_SND_DATA];
// BYTE m_ucDevType;
UINT m_uiDevID;
int m_iRepeatSndCnt;
std::vector<STSigSndDataInfo> m_vtMeasureData;
bool m_bIsThreadFinshed;
int m_iSelMeasuIndex;
int m_iGRAttionalVal;//用于在测量当前位置的时候用
//////////////////////////////////////////////////////////////////////////
int m_iLoopCnt;
int m_iCurLoop;
BYTE m_ucLastBtnStatus;
CRITICAL_SECTION m_dbSec;
// BYTE m_ucDevType; //正在通信的设备类型 0代表GD10, 1代表PLC
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALMEASUREDATA_H__CA946FA9_52D2_4B68_92E2_30C065867518__INCLUDED_)
+61
View File
@@ -0,0 +1,61 @@
#ifndef AFX_DIALMEASUREDETAILINFO_H__CA946FA9_52D2_4B68_92E2_30C065867518__INCLUDED_
#define AFX_DIALMEASUREDETAILINFO_H__CA946FA9_52D2_4B68_92E2_30C065867518__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialMeasureData.h : header file
//
#include "DialListDetailInfoData.h"
#include "TaskDataOper.h"
//#include "RingBuffer.h"
#include "DialListDetailInfoGR.h"
#include "CtrlProtocolDef.h"
/////////////////////////////////////////////////////////////////////////////
// CDialMeasureDetailInfo dialog
// enum EN_DEVICE_TYPE
// {
// EN_DEV_GD10 = 0,
// EN_DEV_PLC
// };
//查看测试详细数据窗口
class CDialMeasureDetailInfo : public CDialog
{
// Construction
public:
CDialMeasureDetailInfo(STRemTaskArg stTaskArg,CWnd* pParent = NULL); // standard constructor
void SetSptType(int iSptType)
{
m_iSptType = iSptType;
}
// Dialog Data
//{{AFX_DATA(CDialMeasureDetailInfo)
enum { IDD = IDD_DIALOG_MEAUSRE_DETAIL_INFO };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
// Generated message map functions
//{{AFX_MSG(CDialMeasureDetailInfo)
virtual BOOL OnInitDialog();
afx_msg void OnSelchangeTabChg(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnClose();
bool InitGrList(CListCtrl &tdGrList, CString strTaskCN);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
CDialListDetailInfoData m_dialListMeasuTask;
CDialListDetailInfoGR m_dialListMeasuGR;
CTabCtrl m_tabChange;
STRemTaskArg m_stTaskArg; //当前实时窗口显示的任务,查看详细测试数据也是这个任务
int m_iSptType;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALMEASUREDATA_H__CA946FA9_52D2_4B68_92E2_30C065867518__INCLUDED_)
+72
View File
@@ -0,0 +1,72 @@
#if !defined(AFX_DIALNEW1DTASK_H__2D4771D2_A0C2_41A0_9F44_24051E209489__INCLUDED_)
#define AFX_DIALNEW1DTASK_H__2D4771D2_A0C2_41A0_9F44_24051E209489__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialNew1DTask.h : header file
//
#include "TaskDataOper.h"
/////////////////////////////////////////////////////////////////////////////
// CDialNew1DTask dialog
class CDialNew1DTask : public CDialog
{
// Construction
public:
CDialNew1DTask(CTaskDataOper* pTaskOper,CWnd* pParent = NULL); // standard constructor
virtual BOOL OnInitDialog();
// Dialog Data
//{{AFX_DATA(CDialNew1DTask)
enum { IDD = IDD_DIALOG_NEW_1D_TASK };
CComboBox m_cmbTestType;
CComboBox m_cmbTxPeriod;
CComboBox m_cmbSpt;
CComboBox m_cmbArray;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialNew1DTask)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialNew1DTask)
afx_msg void OnSelchangeCombo1dArray();
afx_msg void OnSelchangeCombo1dTestType();
virtual void OnOK();
afx_msg void OnSelchangeCombo1dScript();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
CString m_strTaskCN;//请求云端的task ID
CString m_strTaskName;
CString m_strTestPlace;
CString m_strSptName;
CString m_strArray;
CString m_strTestType;
int m_iTestType;
int m_iAR;
int m_iSptID;
int m_iStacking;
int m_iTxWave;
int m_iTxPeriod;
int m_iSAInterval;
int m_iNewTaskID;//本地数据的task ID
ST1DTaskParam m_stTaskParam;
protected:
CTaskDataOper* m_pTaskOper;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALNEW1DTASK_H__2D4771D2_A0C2_41A0_9F44_24051E209489__INCLUDED_)
+91
View File
@@ -0,0 +1,91 @@
#if !defined(AFX_DIALNEW2DTASK_H__7C702680_BC82_4C93_8F6E_8C6757042D2C__INCLUDED_)
#define AFX_DIALNEW2DTASK_H__7C702680_BC82_4C93_8F6E_8C6757042D2C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialNew2DTask.h : header file
//
#include "TaskDataOper.h"
#include "floatedit.h"
/////////////////////////////////////////////////////////////////////////////
// CDialNew2DTask dialog
class CDialNew2DTask : public CDialog
{
// Construction
public:
CDialNew2DTask(CTaskDataOper* m_pTaskOper,CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDialNew2DTask)
enum { IDD = IDD_DIALOG_NEW_2D_TASK };
CFloatEdit m_fEditESpace;
CFloatEdit m_fEditHoleSpace;
CComboBox m_cmbTxPeriod;
CComboBox m_cmbTestType;
CComboBox m_cmbSkipCable;
CComboBox m_cmbSpt;
CComboBox m_cmbRoll;
CComboBox m_cmbCLayout;
CComboBox m_cmbArray;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialNew2DTask)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialNew2DTask)
virtual BOOL OnInitDialog();
afx_msg void OnSelchangeCombo2dArray();
afx_msg void OnSelchangeCombo2dScript();
afx_msg void OnSelchangeCombo2dTestType();
virtual void OnOK();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
CString m_strTaskCN;
CString m_strTaskName;
CString m_strTestPlace;
CString m_strSptName;
CString m_strArray;
CString m_strTestType;
int m_iTestType;
int m_iAR;
int m_iSptID;
BYTE m_ucSptType; //脚本维度0:一维,1:二维,2:三维
int m_iStacking;
int m_iTxWave;
int m_iTxPeriod;
int m_iSAInterval;
int m_iStatrLayer;
int m_iEndLayer;
int m_iStartElec;
int m_iEndElec;
int m_iCableLayout;
int m_iSkipCable;
int m_iRollCnt;
int m_iTPmount;
float m_fEelcSpace;
float m_fHoleSpace;//孔间距
int m_iNewTaskID;
ST2DTaskParam m_stTaskParam;
protected:
CTaskDataOper* m_pTaskOper;
std::vector<STQueryCMInfo> m_vtCLayoutInfo;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALNEW2DTASK_H__7C702680_BC82_4C93_8F6E_8C6757042D2C__INCLUDED_)
+91
View File
@@ -0,0 +1,91 @@
#if !defined(AFX_DIALNEW3DTASK_H__90570DF9_0E06_472E_9392_FE6EE68ACEDC__INCLUDED_)
#define AFX_DIALNEW3DTASK_H__90570DF9_0E06_472E_9392_FE6EE68ACEDC__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialNew3DTask.h : header file
//
#include "TaskDataOper.h"
/////////////////////////////////////////////////////////////////////////////
// CDialNew3DTask dialog
class CDialNew3DTask : public CDialog
{
// Construction
public:
CDialNew3DTask(CTaskDataOper* pTaskOper,CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDialNew3DTask)
enum { IDD = IDD_DIALOG_NEW_3D_TASK };
CComboBox m_cmbCLayout;
CComboBox m_cmbTestType;
CComboBox m_cmbTxPeriod;
CComboBox m_cmbSpt;
CComboBox m_cmbArray;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialNew3DTask)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialNew3DTask)
virtual BOOL OnInitDialog();
afx_msg void OnSelchangeCombo3dArray();
afx_msg void OnSelchangeCombo3dTestType();
afx_msg void OnSelchangeCombo3dScript();
virtual void OnOK();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
CString m_strTaskCN;
CString m_strTaskName;
CString m_strTestPlace;
CString m_strSptName;
CString m_strArray;
CString m_strTestType;
CString m_strPoleStep;
int m_iTestType;
int m_iAR;
int m_iSptID;
BYTE m_ucSptType; //脚本维度0:一维,1:二维,2:三维
int m_iStacking;
int m_iTxWave;
int m_iTxPeriod;
int m_iSAInterval;
int m_iStatrLayer;
int m_iEndLayer;
int m_iStartElec;
int m_iEndElec;
int m_iTPmount;
int m_iCableLayout;
int m_iSkipCable;
int m_iNewTaskID;
float m_fXElecDistance;
float m_fYElecDistance;
float m_fXElecStep;
float m_fYElecStep;
RECT m_rcGridSize;
byte m_byLineDirection;
ST3DTaskParam m_stTaskParam;
protected:
CTaskDataOper* m_pTaskOper;
std::vector<STQueryCMInfo> m_vtCLayoutInfo;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALNEW3DTASK_H__90570DF9_0E06_472E_9392_FE6EE68ACEDC__INCLUDED_)
@@ -0,0 +1,152 @@
#if !defined(AFX_DIAL_OFFLINE_DEVICE_TASKMANAGER_H__99FCE339_720B_4418_B1D4_62CB2C1AE99E__INCLUDED_)
#define AFX_DIAL_OFFLINE_DEVICE_TASKMANAGER_H__99FCE339_720B_4418_B1D4_62CB2C1AE99E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// CDialOfflineDeviceTaskManager.h : header file
//
#include "DialTaskTree.h"
#include "TaskDataOper.h"
#include "TdManager.h"
#include "DialRealTimeMeasureData.h"
#include "DialNew1DTask.h"
#include "DialNew2DTask.h"
#include "DialNew3DTask.h"
#include "cpp\socket\NetRequestDialog.h"
/////////////////////////////////////////////////////////////////////////////
// CDialOfflineDeviceTaskManager dialog
class CDialOfflineDeviceTaskManager : public CNetRequestDialog
{
// Construction
public:
CDialOfflineDeviceTaskManager(CWnd* pParent = NULL); // standard constructor
~CDialOfflineDeviceTaskManager();
virtual BOOL DestroyWindow();
void SetDeviceID(DWORD dwDeviceID)
{
m_dwDeviceSN = dwDeviceID;
}
void SetPLCID(DWORD dwPLCID)
{
m_dwPLCID = dwPLCID;
}
afx_msg void OnButtonCreateTask();
afx_msg void OnButtonDelTask();
//void OnCmdTaskInfoSyn(); //任务信息同步
void OnCmdTaskCancelTest(); //取消测试
// Dialog Data
//{{AFX_DATA(CDialOfflineDeviceTaskManager)
enum { IDD = IDD_DIALOG_OFFLINE_DEVICE_TASK_MANAGER };
CListCtrl m_listTaskAttr;
CListCtrl m_listTaskData;
CTabCtrl m_tabTaskChg;
//}}AFX_DATA
bool m_bThreadIsRunning;
bool m_bThreadIsPause;
bool m_bThreadIsExit;
void SetPauseThread(bool bFlg) { m_bThreadIsPause = bFlg; };
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialOfflineDeviceTaskManager)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialOfflineDeviceTaskManager)
virtual BOOL OnInitDialog();
afx_msg LRESULT OnClickTaskTree(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnMsgNewTask(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnMsgDeleteTask(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnMsgTaskListTaskDataSyn(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnMsgTaskRefreshList(WPARAM wParam, LPARAM lParam); //刷新列表
afx_msg LRESULT OnMsgUpdateRealTimeWndBtnStatus(WPARAM wParam, LPARAM lParam);//更新实时窗口按钮状态
afx_msg LRESULT OnMsgSetCurrentSelectTask(WPARAM wParam, LPARAM lParam);
afx_msg void OnSelchangeTabTaskChg(NMHDR* pNMHDR, LRESULT* pResult);
// afx_msg void OnButtonExpTask();
afx_msg void OnButtonMeasureTask();
afx_msg void OnBtnDataDownload();
afx_msg void OnBtnCreateTimerTask();
afx_msg void OnBtnManageTimerTask();
afx_msg void OnBtnQueryTaskList();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
static UINT DealTaskDataSynThread(LPVOID pParam); //非测试中同步50个点线程
static UINT DealTaskTestingSynThread(LPVOID pParam);//测试中同步显示线程
void UpdateRealTimeTaskListData(STRemTaskArg* ptTaskArg, STTaskListItem* pTaskItem);//更新实时窗口测试任务数据
void InitialTaskListAttr();
//void InitialTaskListData(int iTestType);
void PreNetResponse(WPARAM wParam, LPARAM lParam);
//删除任务响应
BOOL OnDeleteTaskResponse(WPARAM wParam, LPARAM lParam);
//同步任务信息
BOOL OnSynCouldTaskInfoRequest(std::vector<STTaskListItem> vtSynTaskID);
BOOL OnSynCouldTaskInfoResponse(WPARAM wParam, LPARAM lParam);
//正在测试中,实时窗口数据显示
afx_msg LRESULT OnRecvRealTimeDataResponse(WPARAM wParam, LPARAM lParam);
UINT DeleteTask();
protected:
CDialTaskTree m_dialTaskTree;
int m_iSelTaskType;//任务的维度
int m_iTestType; //任务的测量类型
CTaskDataOper m_taskOper;
CString m_strTitle;
CDialRealTimeMeasureData m_dialRealTimeMeasuData;//实时刷新数据窗口
//用于标志是不是最后一个取消测试的任务
BOOL m_bLastCancelTask;
//用于删除数据库Task
std::vector<CString> m_vtNeedDelLocalTaskID;
//用于删除云端的Task
std::vector<CString> m_vtNeedDelClounTaskID;
//用于保存删除失败的Task
std::vector<CString> m_vtFailedDelTaskID; //保存删除失败 未知错误
std::vector<CString> m_vtDelNoCancelTest;//保存删除失败 循环任务未取消测试的taskID
//std::vector<CString> m_vtDelTaskRunning;//保存删除失败 此任务正在测试的taskID
//用于删除树形控件上的Task
//std::vector<HTREEITEM> m_vtNeedDelTreeItem;
std::vector<CString> m_CurDelTaskID;
HTREEITEM m_CurDelTreeItem;
//用于保存需要任务信息同步的taskID
std::vector<STTaskListItem> m_vtNeedSynTaskID;//目前只同步一个,如果需要同步多个,另加判断
//用于保存从云端获取到的任务参数
//std::vector<STRemTaskArg> m_vtSaveSynTaskArg;
//未测试状态任务获取的任务点数据
//std::vector<STTaskDetailBasicData> m_vtTdSynData;
//用户保存同步信息的任务信息,查看实时数据50个点,记录上一次任务以防任务变更
STRemTaskArg m_stRealTimeTaskArg;
//用于上传任务
STRemTaskArg m_TaskArg;
CDialNew1DTask m_dialNew1DTask;
CDialNew2DTask m_dialNew2DTask;
CDialNew3DTask m_dialNew3DTask;
CRITICAL_SECTION m_cs;
BOOL m_bCancelTestingTask;// 取消正在测试中的Task
//保存正在测试中的任务,用于实时窗口全部测量,如果不等于当前任务则不能,理论上同一时刻只有一个任务正在测试,
//CString m_strSaveTestingTaskID;
CString m_strDeleteTaskTips;//正在测试中的任务,删除任务失败提示
CString m_strTaskStatusTips;
CDateTimeCtrl m_StartTime;
CDateTimeCtrl m_EndTime;
DWORD m_dwDeviceSN; //DeviceSN/Device ID
DWORD m_dwPLCID; //PLC ID
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALTASKMANAGER_H__99FCE339_720B_4418_B1D4_62CB2C1AE99E__INCLUDED_)
+52
View File
@@ -0,0 +1,52 @@
#if !defined(AFX_DIALPLCSTATUSSETTING_H__B4907B9B_A08F_40B5_BAAF_D6B81391F8E5__INCLUDED_)
#define AFX_DIALPLCSTATUSSETTING_H__B4907B9B_A08F_40B5_BAAF_D6B81391F8E5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialPlcStatusSetting.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialPlcStatusSetting dialog
class CDialPlcStatusSetting : public CDialog
{
// Construction
public:
CDialPlcStatusSetting(CWnd* pParent = NULL); // standard constructor
int GetTimerInterval(){return m_iTimerInterval;}
void SetTimerInterval(int iTimerInterval){m_iTimerInterval = iTimerInterval;}
// Dialog Data
//{{AFX_DATA(CDialPlcStatusSetting)
enum { IDD = IDD_DIALOG_DEV_STATUS_QUERY };
CComboBox m_cmbRepMethid;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialPlcStatusSetting)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialPlcStatusSetting)
virtual BOOL OnInitDialog();
virtual void OnOK();
afx_msg void OnSelchangeComboRepMethod();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
int m_iTimerInterval;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALPLCSTATUSSETTING_H__B4907B9B_A08F_40B5_BAAF_D6B81391F8E5__INCLUDED_)
+51
View File
@@ -0,0 +1,51 @@
#if !defined(AFX_DIALPLCSTATUSSHOW_H__34E03700_2BBB_44B6_A64E_A43C9E674245__INCLUDED_)
#define AFX_DIALPLCSTATUSSHOW_H__34E03700_2BBB_44B6_A64E_A43C9E674245__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialPlcStatusShow.h : header file
//
#include "CtrlProtocolDef.h"
/////////////////////////////////////////////////////////////////////////////
// CDialPlcStatusShow dialog
class CDialPlcStatusShow : public CDialog
{
// Construction
public:
CDialPlcStatusShow(CWnd* pParent = NULL); // standard constructor
void SetRemPlcData(const STRemPlcDataInfo* pData){m_pRemPlcData = pData;}
// Dialog Data
//{{AFX_DATA(CDialPlcStatusShow)
enum { IDD = IDD_DIALOG_DEV_QUERY_RES };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialPlcStatusShow)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialPlcStatusShow)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
const STRemPlcDataInfo* m_pRemPlcData;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALPLCSTATUSSHOW_H__34E03700_2BBB_44B6_A64E_A43C9E674245__INCLUDED_)
+64
View File
@@ -0,0 +1,64 @@
#ifndef AFX_DIALQUERYPLCSTATUS_H__802D7A8A_3FF1_4E3C_ABA2_C2F8AA0B510F__INCLUDED_
#define AFX_DIALQUERYPLCSTATUS_H__802D7A8A_3FF1_4E3C_ABA2_C2F8AA0B510F__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialDevStatusTimerShow.h : header file
//
#include "cpp/socket/NetRequestDialog.h"
/////////////////////////////////////////////////////////////////////////////
// CDialDevStatusTimerShow dialog
#define LOAD_PLC_STATUS_BY_DATE_CELL 1 //加载数据单位,一天天的加载
class CDialQueryPLCStatus : public CNetRequestDialog
{
// Construction
public:
CDialQueryPLCStatus(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDialDevStatusTimerShow)
enum { IDD = IDD_DIALOG_PLC_STATUS };
//}}AFX_DATA
void SetPLCID(UINT32 uPLCID)
{
m_PLCID = uPLCID;
}
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialDevStatusTimerShow)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialDevStatusTimerShow)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
afx_msg void OnBnQueryPLCStatus();
virtual void PreNetResponse(WPARAM wParam, LPARAM lParam);
BOOL OnPLCStatusResponse(WPARAM wParam, LPARAM lParam);
BOOL OnAppendPLCStatusResponse(WPARAM wParam, LPARAM lParam);
private:
CListCtrl m_listData;
CDateTimeCtrl m_StartTime;
CDateTimeCtrl m_EndTime;
UINT32 m_PLCID;
time_t m_tQueryStartTime;
time_t m_tQueryEndTime;
BOOL m_bAppendData;
time_t m_tSaveQueryStartTime;
time_t m_tSaveQueryEndTime;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALDEVSTATUSTIMERSHOW_H__802D7A8A_3FF1_4E3C_ABA2_C2F8AA0B510F__INCLUDED_)
+155
View File
@@ -0,0 +1,155 @@
#ifndef AFX_DIALREALTIMEMEASUREDATA_H__CA946FA9_52D2_4B68_92E2_30C065867518__INCLUDED_
#define AFX_DIALREALTIMEMEASUREDATA_H__CA946FA9_52D2_4B68_92E2_30C065867518__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialMeasureData.h : header file
//
#include "DialListRealTimeMeasuData.h"
#include "TaskDataOper.h"
//#include "RingBuffer.h"
#include "DialListRealTimeMeasuGR.h"
#include "CtrlProtocolDef.h"
/////////////////////////////////////////////////////////////////////////////
// CDialRealTimeMeasureData dialog
#define MAX_REPEAT_SND_CNT 90000
// enum EN_DEVICE_TYPE
// {
// EN_DEV_GD10 = 0,
// EN_DEV_PLC
// };
#include "cpp\socket\NetRequestDialog.h"
class CDialRealTimeMeasureData : public CNetRequestDialog
{
// Construction
public:
CDialRealTimeMeasureData(CWnd* pParent = NULL); // standard constructor
void SetTaksID(CString strTaskCN){ m_strTaskCN = strTaskCN; }
void SetTaksID(int iTaskID){m_iTaskID = iTaskID;}
void SetSptType(int iSptType){ m_iSptType = iSptType; }
void SetDeviceID(UINT uiDevID){m_uiDevID = uiDevID;}
void SetTaskListSelectItem(STTaskListItem* pSelectTaskItem = NULL);
void SetTestingTaskID(CString strTestingTaskID){ m_strTestingTaskID = strTestingTaskID; }
void SetBtnStatus(BYTE ucBtnStatus);
int GetMeasureType(){ return m_iMeasuType; }
//获取正在测量的方式,单点测量、从当前位置开始测量、全部测量
// EN_TASK_TESTING_METHOD GetTestingMethod()
// {
// return m_eTestingMethod;
// }
bool InitGrList(CListCtrl &tdGrList, CString strTaskCN);
// Dialog Data
//{{AFX_DATA(CDialRealTimeMeasureData)
enum { IDD = IDD_DIALOG_REAL_TIME_MEASURE_DATA };
CTabCtrl m_tabChange;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialRealTimeMeasureData)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialRealTimeMeasureData)
virtual BOOL OnInitDialog();
afx_msg void OnMeasureAll();
afx_msg void OnMeasureCurPt();
//afx_msg void OnMeasureDownloadMeasuCfg();
afx_msg void OnMeasureFromCur();
afx_msg void OnShowDetailMeasureData();
afx_msg void OnSelchangeTabChg(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnMeasureSuspendMeau();
afx_msg void OnClose();
virtual void OnCancel();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnSelchangingTabChg(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
static void NotifyResFunc(LPARAM lOperType, LPARAM lOperRes, LPVOID lpWnd);
bool MeasureAllGR();
// void ClearMeasuGRInfo();
void ClearRecvBuffer();
bool RecvMeasureGRData();
bool ProcRcvGrData();
void StopMeasuDataInfo(bool bIsNormalExit = true);
int ProcRcvMeasuData();
// void RegisterBuffer(RingBuffer* pReadBuf, RingBuffer* pWriteBuf){m_pReadBuf = pReadBuf; m_pWriteBuf = pWriteBuf;}
// bool SendData(const BYTE* pData, int iLen);
int GetNeedMeasuData(char* pData,int &iLen, int iMaxLen);
int GetSigNeedMeasuData(char* pData,int &iLen, int iMaxLen);
int GetNeedMeasuGR(char* pData,int &iLen, int iMaxLen, int iAddtionalVal=0);
void ProcRcvData(const STCtrlProtoHeader& stCtrlInfo, const char* pData);
void ProcGD10Data(const STCtrlProtoHeader& stCtrlHeader, const char* pPayload);
void ProcPLCData(const STCtrlProtoHeader& stCtrlHeader, const char* pPayload);
//static UINT StartMeasuData(LPVOID pInfo);
void ThreadJoin();
void PreNetResponse(WPARAM wParam, LPARAM lParam);
public:
CDialListRealTimeMeasureData m_dialListMeasuTask;//改为公有访问
CDialListRealTimeMeasuGR m_dialListMeasuGR;
STTaskListItem m_stTaskItem;
STRemTaskArg m_stTaskArg;
UINT32 m_uiDevID;
UINT32 m_uiPlcID;
protected:
// int m_iStartElec;
// int m_iEndElec;
// bool m_bIsNetOper; //是否正在网络操作
bool m_bIsSigMeasuring; //是否正在进行数据测量
bool m_bIsSuspend; //是否进行暂停
int m_iRecvElecID; //已经接受了的电极ID
BYTE m_ucData[MAX_RECV_MEASURE]; //接收数据缓冲区
int m_iRecvDataLen;
int m_iMeasuType; //测量数据类型,1是指测量数据,2是指接地电阻
int m_iTaskID; //测试任务ID
bool m_bIsDownLoadTask; //是否已经下发了任务配置
BYTE m_ucCmd; //正在进行通信的命令字
STQueryTaskBasicInfo m_stQueryTdInfo;
CTaskDataOper m_TaskdDBOper;
bool m_bIsOpenTbData; //是否已经打开具体的数据表
// int m_iMeasuMethod; //测量方法:0:不测量 1:全部测量,2:只测量当前点 3:从当前点开始测量
int m_iMeasureDataID;
int m_iSigDataMeasuTimeout;
int m_iCurTsn; //当前点的TSN
// int m_iListDataID; //测量数据列表的ID
// bool m_bIsSuspend; //是否暂停测量
STTaskDetailBasicData m_stTaskBasicData;
BYTE m_ucMeasuBtnStatus[2]; //分别代表测量数据和接地电阻测量按钮此时所处的状态
// BOOL m_bIsSuspenMeasu[2];
bool m_bIsRunning;
// RingBuffer *m_pReadBuf;
// RingBuffer *m_pWriteBuf;
CWinThread* m_pThread;
CRITICAL_SECTION m_MutexSec;
BYTE m_ucPayLoad[MAX_SND_DATA];
// BYTE m_ucDevType;
int m_iRepeatSndCnt;
std::vector<STSigSndDataInfo> m_vtMeasureData;
bool m_bIsThreadFinshed;
int m_iSelMeasuIndex;
int m_iGRAttionalVal;//用于在测量当前位置的时候用
//////////////////////////////////////////////////////////////////////////
int m_iLoopCnt;
int m_iCurLoop;
BYTE m_ucLastBtnStatus;
// BYTE m_ucDevType; //正在通信的设备类型 0代表GD10, 1代表PLC
CString m_strTaskCN; //同云端taskID
CString m_strTestingTaskID; //保存当前正在测量的任务ID
int m_iSptType;
//EN_TASK_TESTING_METHOD m_eTestingMethod;//保存正在测量的方式,单点测量、从当前位置开始测量、全部测量
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALMEASUREDATA_H__CA946FA9_52D2_4B68_92E2_30C065867518__INCLUDED_)
+82
View File
@@ -0,0 +1,82 @@
#include "afxwin.h"
#if !defined(AFX_DIALROLLCALLCABLE_H__F20B0D29_493E_49FF_843E_3E79883A838C__INCLUDED_)
#define AFX_DIALROLLCALLCABLE_H__F20B0D29_493E_49FF_843E_3E79883A838C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialRollCallCable.h : header file
//
#include "cpp/socket/NetRequestDialog.h"
/////////////////////////////////////////////////////////////////////////////
// CDialRollCallCable dialog
#define MAX_ROLLCALL_LEN 4096
class CDialRollCallCable : public CNetRequestDialog
{
// Construction
public:
//CDialRollCallCable(CWnd* pParent = NULL)
CDialRollCallCable(CWnd* pParent = NULL) :CNetRequestDialog(CDialRollCallCable::IDD, pParent)
{
//{{AFX_DATA_INIT(CDialRollCallCable)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
memset(m_chData, 0, sizeof(m_chData));
m_iRecvLen = 0;
m_uiDevID = 0;
m_bRollCallFin = false;
m_bSearchFlg = false;
m_byCableType = 0;
} // standard constructor
void SetDstDevID(UINT32 uiDevID){m_uiDevID = uiDevID;}
void SetCableType(BYTE byCableType){ m_byCableType = byCableType; }
// Dialog Data
//{{AFX_DATA(CDialRollCallCable)
enum { IDD = IDD_DIALOG_ROLLCALL_CABLE };
CListCtrl m_listRollCall;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialRollCallCable)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialRollCallCable)
virtual BOOL OnInitDialog();
afx_msg void OnClose();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
void rollcallCable(); //点名请求
void searchSwitchRelay(); //搜索电缆头请求
static void NotifyFuc(LPARAM lMsgType, LPARAM lResStatus, LPVOID lpParam);
void ShowCableInfo();
void PreNetResponse(WPARAM wParam, LPARAM lParam);
LRESULT OnMsgCableRollCall(WPARAM wParam, LPARAM lParam);
protected:
char m_chData[MAX_ROLLCALL_LEN];
int m_iRecvLen;
UINT32 m_uiDevID;
bool m_bRollCallFin;
public:
afx_msg void OnBnClickedButtonServerCable();
afx_msg void OnBnClickedButtonCallLeader();
bool m_bSearchFlg;
CButton m_CButtonServer;
CButton m_CButtonCable;
BYTE m_byCableType;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALROLLCALLCABLE_H__F20B0D29_493E_49FF_843E_3E79883A838C__INCLUDED_)
+58
View File
@@ -0,0 +1,58 @@
#if !defined(AFX_DIALSHOWDEVPARAM_H__6A116B6C_963C_4DBF_8FAE_5FC644AB8211__INCLUDED_)
#define AFX_DIALSHOWDEVPARAM_H__6A116B6C_963C_4DBF_8FAE_5FC644AB8211__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialShowDevParam.h : header file
//
#include "CtrlProtocolDef.h"
#include "cpp/socket/NetRequestDialog.h"
/////////////////////////////////////////////////////////////////////////////
// CDialShowDevParam dialog
class CDialShowDevParam : public CNetRequestDialog
{
// Construction
public:
CDialShowDevParam(CWnd* pParent = NULL); // standard constructor
void SetDevParam(const STSynDevParam* pDevParam){memcpy(&m_stDevParam, pDevParam, sizeof(STSynDevParam));}
CString GetCableType(BYTE ucCableType);
// Dialog Data
//{{AFX_DATA(CDialShowDevParam)
enum { IDD = IDD_DIALOG_DEV_PARAM_SHOW };
CComboBox m_cmbAlarm;
CComboBox m_cmbCableType;
CComboBox m_cmbPowerTrefq;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialShowDevParam)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialShowDevParam)
virtual BOOL OnInitDialog();
afx_msg void OnButtonCfgDevParam();
afx_msg void OnBnClickedButtonServerDevinfo();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
void PreNetResponse(WPARAM wParam, LPARAM lParam);
public:
STSynDevParam m_stDevParam;
int m_iOperStatus;
int m_iCheckSevInfoStatus;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALSHOWDEVPARAM_H__6A116B6C_963C_4DBF_8FAE_5FC644AB8211__INCLUDED_)
+159
View File
@@ -0,0 +1,159 @@
#if !defined(AFX_DIALTASKMANAGER_H__99FCE339_720B_4418_B1D4_62CB2C1AE99E__INCLUDED_)
#define AFX_DIALTASKMANAGER_H__99FCE339_720B_4418_B1D4_62CB2C1AE99E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// CDialTaskManager.h : header file
//
//#include "Dial1DTaskTree.h"
#include "Dial2DTaskTree.h"
#include "Dial3DTaskTree.h"
#include "TaskDataOper.h"
#include "TdManager.h"
#include "DialRealTimeMeasureData.h"
#include "DialNew1DTask.h"
#include "DialNew2DTask.h"
#include "DialNew3DTask.h"
#include "cpp\socket\NetRequestDialog.h"
/////////////////////////////////////////////////////////////////////////////
// CDialTaskManager dialog
class CDialTaskManager : public CNetRequestDialog
{
// Construction
public:
CDialTaskManager(CWnd* pParent = NULL); // standard constructor
~CDialTaskManager();
virtual BOOL DestroyWindow();
void SetDeviceID(DWORD dwDeviceID)
{
m_dwDeviceSN = dwDeviceID;
}
void SetPLCID(DWORD dwPLCID)
{
m_dwPLCID = dwPLCID;
}
afx_msg void OnButtonCreateTask();
afx_msg void OnButtonDelTask();
//void OnCmdTaskInfoSyn(); //任务信息同步
void OnCmdTaskCancelTest(); //取消测试
// Dialog Data
//{{AFX_DATA(CDialTaskManager)
enum { IDD = IDD_DIALOG_TASK_MANAGER };
CListCtrl m_listTaskAttr;
CListCtrl m_listTaskData;
CTabCtrl m_tabTaskChg;
//}}AFX_DATA
bool m_bThreadIsRunning;
bool m_bThreadIsPause;
bool m_bThreadIsExit;
void SetPauseThread(bool bFlg) { m_bThreadIsPause = bFlg; };
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialTaskManager)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialTaskManager)
virtual BOOL OnInitDialog();
afx_msg LRESULT OnClickTaskTree(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnMsgDeleteTask(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnMsgTaskListTaskDataSyn(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT OnMsgTaskRefreshList(WPARAM wParam, LPARAM lParam); //刷新列表
afx_msg LRESULT OnMsgUpdateRealTimeWndBtnStatus(WPARAM wParam, LPARAM lParam);//更新实时窗口按钮状态
afx_msg LRESULT OnMsgSetCurrentSelectTask(WPARAM wParam, LPARAM lParam);
afx_msg void OnSelchangeTabTaskChg(NMHDR* pNMHDR, LRESULT* pResult);
// afx_msg void OnButtonExpTask();
afx_msg void OnButtonMeasureTask();
afx_msg void OnBtnDataDownload();
afx_msg void OnBtnCreateTimerTask();
afx_msg void OnBtnManageTimerTask();
afx_msg void OnBtnQueryTaskList();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
static UINT DealTaskDataSynThread(LPVOID pParam); //非测试中同步50个点线程
static UINT DealTaskTestingSynThread(LPVOID pParam);//测试中同步显示线程
void UpdateRealTimeTaskListData(STRemTaskArg* ptTaskArg, STTaskListItem* pTaskItem);//更新实时窗口测试任务数据
void InitialTaskListAttr();
//void InitialTaskListData(int iTestType);
void PreNetResponse(WPARAM wParam, LPARAM lParam);
//删除任务响应
BOOL OnDeleteTaskResponse(WPARAM wParam, LPARAM lParam);
//同步任务信息
BOOL OnSynCouldTaskInfoRequest(std::vector<STTaskListItem> vtSynTaskID);
BOOL OnSynCouldTaskInfoResponse(WPARAM wParam, LPARAM lParam);
//正在测试中,实时窗口数据显示
afx_msg LRESULT OnRecvRealTimeDataResponse(WPARAM wParam, LPARAM lParam);
UINT DeleteTask();
void InitTaskTree();
void SelectShowTaskTree(int iSelType);
protected:
//CDial1DTaskTree m_Dial1DTaskTree;
CDial2DTaskTree m_Dial2DTaskTree;
CDial3DTaskTree m_Dial3DTaskTree;
ITaskTree* m_iTaskTree;
int m_iSelTaskType;//任务的维度
int m_iTestType; //任务的测量类型
CTaskDataOper m_taskOper;
CString m_strTitle;
CDialRealTimeMeasureData m_dialRealTimeMeasuData;//实时刷新数据窗口
//用于标志是不是最后一个取消测试的任务
BOOL m_bLastCancelTask;
//用于删除数据库Task
std::vector<CString> m_vtNeedDelLocalTaskID;
//用于删除云端的Task
std::vector<CString> m_vtNeedDelClounTaskID;
//用于保存删除失败的Task
std::vector<CString> m_vtFailedDelTaskID; //保存删除失败 未知错误
std::vector<CString> m_vtDelNoCancelTest;//保存删除失败 循环任务未取消测试的taskID
//std::vector<CString> m_vtDelTaskRunning;//保存删除失败 此任务正在测试的taskID
//用于删除树形控件上的Task
//std::vector<HTREEITEM> m_vtNeedDelTreeItem;
std::vector<CString> m_CurDelTaskID;
HTREEITEM m_CurDelTreeItem;
//用于保存需要任务信息同步的taskID
std::vector<STTaskListItem> m_vtNeedSynTaskID;//目前只同步一个,如果需要同步多个,另加判断
//用于保存从云端获取到的任务参数
//std::vector<STRemTaskArg> m_vtSaveSynTaskArg;
//未测试状态任务获取的任务点数据
//std::vector<STTaskDetailBasicData> m_vtTdSynData;
//用户保存同步信息的任务信息,查看实时数据50个点,记录上一次任务以防任务变更
STRemTaskArg m_stRealTimeTaskArg;
//用于上传任务
STRemTaskArg m_TaskArg;
CDialNew1DTask m_dialNew1DTask;
CDialNew2DTask m_dialNew2DTask;
CDialNew3DTask m_dialNew3DTask;
CRITICAL_SECTION m_cs;
BOOL m_bCancelTestingTask;// 取消正在测试中的Task
//保存正在测试中的任务,用于实时窗口全部测量,如果不等于当前任务则不能,理论上同一时刻只有一个任务正在测试,
//CString m_strSaveTestingTaskID;
CString m_strDeleteTaskTips;//正在测试中的任务,删除任务失败提示
CString m_strTaskStatusTips;
CDateTimeCtrl m_StartTime;
CDateTimeCtrl m_EndTime;
DWORD m_dwDeviceSN; //DeviceSN/Device ID
DWORD m_dwPLCID; //PLC ID
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALTASKMANAGER_H__99FCE339_720B_4418_B1D4_62CB2C1AE99E__INCLUDED_)
@@ -0,0 +1,69 @@
#ifndef AFX_DIALTASKMANAGEROFFLINE_H__99FCE339_720B_4418_B1D4_62CB2C1AE99E__INCLUDED_
#define AFX_DIALTASKMANAGEROFFLINE_H__99FCE339_720B_4418_B1D4_62CB2C1AE99E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// CDialTaskManagerOffline.h : header file
//
#include "DialTaskTreeOffline.h"
#include "TaskDataOper.h"
#include "TdManager.h"
/////////////////////////////////////////////////////////////////////////////
// CDialTaskManagerOffline dialog
//用于一期非在线版本任务管理
class CDialTaskManagerOffline : public CDialog
{
// Construction
public:
CDialTaskManagerOffline(CWnd* pParent = NULL); // standard constructor
void SetDstDevID(UINT32 uiDstDevID){ m_uiDstDevID = uiDstDevID; }
// Dialog Data
//{{AFX_DATA(CDialTaskManagerOffline)
enum { IDD = IDD_DIALOG_TASK_MANAGER_OFFLINE };
CListCtrl m_listTaskAttr;
CListCtrl m_listTaskData;
CTabCtrl m_tabTaskChg;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialTaskManagerOffline)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialTaskManagerOffline)
afx_msg void OnButtonCreateTask();
afx_msg void OnButtonDelTask();
virtual BOOL OnInitDialog();
afx_msg LRESULT OnClickTaskTree(WPARAM wParam, LPARAM lParam);
afx_msg void OnSelchangeTabTaskChg(NMHDR* pNMHDR, LRESULT* pResult);
// afx_msg void OnButtonExpTask();
afx_msg void OnButtonMeasureTask();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
void InitialTaskListAttr();
void InitialTaskListData(int iTestType);
protected:
CDialTaskTreeOffline m_dialTaskTreeOffline;
int m_iSelTaskType;//任务的维度
int m_iTestType; //任务的测量类型
CTaskDataOper m_taskOper;
UINT32 m_uiDstDevID;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALTASKMANAGER_H__99FCE339_720B_4418_B1D4_62CB2C1AE99E__INCLUDED_)
+82
View File
@@ -0,0 +1,82 @@
#if !defined(AFX_DIAL2DTASKLIST_H__B3542692_5D75_45C0_8F14_4633C9E5A122__INCLUDED_)
#define AFX_DIAL2DTASKLIST_H__B3542692_5D75_45C0_8F14_4633C9E5A122__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Dial2DTaskList.h : header file
//
#define WM_CLICK_TASK_TREE WM_USER + 103
#define LOAD_DATA_BY_DATE_CELL 1 //加载数据单位,一天天的加载
/////////////////////////////////////////////////////////////////////////////
// CDialTaskTree dialog
#include "cpp\socket\NetRequestDialog.h"
class CDialTaskTree : public CNetRequestDialog
{
// Construction
public:
CDialTaskTree(CWnd* pParent = NULL); // standard constructor
void RegisterWnd(CWnd* pWnd){m_pParentWnd = pWnd;}
void SetSptType(int iSptType){m_iSptType = iSptType;}
void ShowTaskTree(int iSptType, time_t tStartTime = 0, time_t tEndTime = 0);
//void AppendTaskTree(int iSptType, time_t tStartTime=0, time_t tEndTime=0);
// Dialog Data
//{{AFX_DATA(CDialTaskTree)
enum { IDD = IDD_DIALOG_TASK_TREE };
CTreeCtrl m_treeTask;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialTaskTree)
afx_msg void OnNMRClickTreeTaskList(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnTaskmanagerCreateTask();
afx_msg void OnTaskmanagerDeleteTask();
//afx_msg void OnTaskmanagerTaskInfoSyn();
afx_msg void OnTaskmanagerCancelTest();
afx_msg void OnTaskmanagerRefreshList();
UINT32 m_uiGD10DevID;
afx_msg void OnDeleteItem(int nIDCtl, LPDELETEITEMSTRUCT lpDeleteItemStruct);
afx_msg void OnDeleteitemTreeTaskList(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnNMCustomdrawTreeTaskList(NMHDR *pNMHDR, LRESULT *pResult);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
void PreNetResponse(WPARAM wParam, LPARAM lParam);
// Implementation
// Generated message map functions
//{{AFX_MSG(CDialTaskTree)
virtual BOOL OnInitDialog();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
void SetChildCheck(HTREEITEM hCurItem, BOOL bCheck);
afx_msg void OnClickTreeTaskList(NMHDR* pNMHDR, LRESULT* pResult);
//afx_msg void OnSelchangedTreeTaskList(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
//获取任务列表
//BOOL OnGetTaskListResponse(WPARAM wParam, LPARAM lParam);
//追加任务列表
//BOOL OnAppendTaskListResponse(WPARAM wParam, LPARAM lParam);
//从服务器一批一批获取任务列表
BOOL OnAddNewItemToTaskList(WPARAM wParam, LPARAM lParam);
//清空列表
void OnClearTaskList();
int m_iSptType;
CWnd* m_pParentWnd;
DWORD m_dwTaskID;
private:
time_t m_tQueryStartTime;
time_t m_tQueryEndTime;
//BOOL m_bAppendData;
time_t m_tSaveQueryStartTime;
time_t m_tSaveQueryEndTime;
UINT32 m_uSelTaskCount;
std::map<CString, STRemTaskTable> m_mapTaskList;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIAL2DTASKLIST_H__B3542692_5D75_45C0_8F14_4633C9E5A122__INCLUDED_)
+56
View File
@@ -0,0 +1,56 @@
#ifndef AFX_DIAL2DTASKTREEOFFLINE_H__B3542692_5D75_45C0_8F14_4633C9E5A122__INCLUDED_
#define AFX_DIAL2DTASKTREEOFFLINE_H__B3542692_5D75_45C0_8F14_4633C9E5A122__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Dial2DTaskList.h : header file
//
#define WM_CLICK_TASK_TREE WM_USER + 103
/////////////////////////////////////////////////////////////////////////////
// CDialTaskTreeOffline dialog
class CDialTaskTreeOffline : public CDialog
{
// Construction
public:
CDialTaskTreeOffline(CWnd* pParent = NULL); // standard constructor
void RegisterWnd(CWnd* pWnd){ m_pParentWnd = pWnd; }
void SetSptType(int iSptType){ m_iSptType = iSptType; }
void ShowTaskTree(int iSptType);
// Dialog Data
//{{AFX_DATA(CDialTaskTreeOffline)
enum { IDD = IDD_DIALOG_TASK_TREE_OFFLINE };
CTreeCtrl m_treeTask;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialTaskTreeOffline)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialTaskTreeOffline)
virtual BOOL OnInitDialog();
afx_msg void OnShowWindow(BOOL bShow, UINT nStatus);
// afx_msg void OnClickTreeTaskList(NMHDR* pNMHDR, LRESULT* pResult);
afx_msg void OnSelchangedTreeTaskList(NMHDR* pNMHDR, LRESULT* pResult);
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
int m_iSptType;
CWnd* m_pParentWnd;
DWORD m_dwTaskID;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIAL2DTASKLIST_H__B3542692_5D75_45C0_8F14_4633C9E5A122__INCLUDED_)
+60
View File
@@ -0,0 +1,60 @@
#if !defined(AFX_DIALTIMERTASK_H__DF6893B1_4CD2_4D74_8D91_C577CB187025__INCLUDED_)
#define AFX_DIALTIMERTASK_H__DF6893B1_4CD2_4D74_8D91_C577CB187025__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialTimerTask.h : header file
//
#include "TaskDataOper.h"
/////////////////////////////////////////////////////////////////////////////
// CDialTimerTask dialog
class CDialTimerTask : public CDialog
{
// Construction
public:
CDialTimerTask(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDialTimerTask)
enum { IDD = IDD_DIALOG_TIMER_TASK };
CDateTimeCtrl m_ctrlTime;
CDateTimeCtrl m_ctrlDate;
CListCtrl m_listTimerTask;
CComboBox m_cmbTaskName;
//}}AFX_DATA
CTaskDataOper m_dataOper;
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialTimerTask)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialTimerTask)
afx_msg void OnButtonSave();
afx_msg void OnButtonAdd();
afx_msg void OnButtonDel();
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
bool IsAutoTaskByTimer(DWORD dwTaskID);
DWORD GetAutoTaskIDByTimer(DWORD dwID){ return dwID | 0x80000000;}
DWORD RestoreAutoTaskID(DWORD dwID){return dwID&0x7FFFFFFF;}
protected:
std::vector<int> m_vtDleTimerTask;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALTIMERTASK_H__DF6893B1_4CD2_4D74_8D91_C577CB187025__INCLUDED_)
+87
View File
@@ -0,0 +1,87 @@
#if !defined(AFX_DIALTIMERTASKMEASU_H__578D9795_E7FA_4503_A2C1_3C1D8050851C__INCLUDED_)
#define AFX_DIALTIMERTASKMEASU_H__578D9795_E7FA_4503_A2C1_3C1D8050851C__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialTimerTaskMeasu.h : header file
//
#include "TaskDataOper.h"
/////////////////////////////////////////////////////////////////////////////
// CDialTimerTaskMeasu dialog
class CDialTimerTaskMeasu : public CDialog
{
// Construction
public:
CDialTimerTaskMeasu(CWnd* pParent = NULL); // standard constructor
static void NotifyResFunc(LPARAM lOperType, LPARAM lOperRes, LPVOID lpWnd);
void SetDevID(UINT32 uiDevID){m_uiDevID = uiDevID;}
// Dialog Data
//{{AFX_DATA(CDialTimerTaskMeasu)
enum { IDD = IDD_DIALOG_TIMER_MEASU };
CListCtrl m_listMeasuData;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialTimerTaskMeasu)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialTimerTaskMeasu)
afx_msg void OnButtonTimerMeasu();
afx_msg void OnButtonMrasuSuspend();
virtual BOOL OnInitDialog();
virtual void OnCancel();
afx_msg void OnButtonTimerCfg();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
protected:
int GetNeedMeasuData(char* pData,int &iLen, int iMaxLen);
void ThreadJoin();
void StopMeasuDataInfo(bool bIsNormalExit=true);
void ClearRecvBuffer();
bool StartTimerTask(const STTimerTask* pTimerTask);
bool ProcRcvMeasuData();
bool GetCfgTaskData(DWORD dwTdID,char* pData, int& iLen, int iMaxLen);
bool GetRollCallData(char* pData, int& iLen, int iMaxLen);
bool OperPLC(BYTE ucCmd, CString strPlcID, bool bIsShowErrSyn=true);
void SetBtnStatus(BYTE ucStatus);
static UINT StartMeasuData(LPVOID pInfo);
int CompareTdTimer(const SYSTEMTIME &curTime, CString strTdTimer);
protected:
bool m_bIsSigMeasuring;
CTaskDataOper m_TaskdDBOper;
int m_iRepeatSndCnt;
std::vector<STSigSndDataInfo> m_vtMeasureData;
bool m_bIsRunning;
CWinThread* m_pThread;
bool m_bIsThreadFinshed;
bool m_bIsOpenTbData;
BYTE m_ucCmd;
BYTE m_ucProcStep;
BYTE m_ucData[MAX_RECV_MEASURE]; //接收数据缓冲区
int m_iRecvDataLen;
bool m_bIsSuspend;
UINT32 m_uiDevID;
STQueryTaskBasicInfo m_stQueryTdInfo;
// bool m_bIsThreadFinshed;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALTIMERTASKMEASU_H__578D9795_E7FA_4503_A2C1_3C1D8050851C__INCLUDED_)
+48
View File
@@ -0,0 +1,48 @@
#if !defined(AFX_DIALUPGDEVICEINFO_H__39B9C88A_B851_429A_8480_AA5B19452130__INCLUDED_)
#define AFX_DIALUPGDEVICEINFO_H__39B9C88A_B851_429A_8480_AA5B19452130__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DialUpgDeviceInfo.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CDialUpgDeviceInfo dialog
class CDialUpgDeviceInfo : public CDialog
{
// Construction
public:
CDialUpgDeviceInfo(CWnd* pParent = NULL); // standard constructor
void SetShowTxt(CString strTxt){GetDlgItem(IDC_STATIC_UPG_TXT)->SetWindowText(strTxt);}
// Dialog Data
//{{AFX_DATA(CDialUpgDeviceInfo)
enum { IDD = IDD_DIALOG_UPG_DEVICE };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDialUpgDeviceInfo)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
virtual void PostNcDestroy();
virtual void CalcWindowRect(LPRECT lpClientRect, UINT nAdjustType = adjustBorder);
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDialUpgDeviceInfo)
// NOTE: the ClassWizard will add member functions here
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DIALUPGDEVICEINFO_H__39B9C88A_B851_429A_8480_AA5B19452130__INCLUDED_)
+65
View File
@@ -0,0 +1,65 @@
#pragma once
#include "afxwin.h"
#include "afxcmn.h"
#include "afxdtctl.h"
#include "Afxtempl.h"
#include "cpp\socket\NetRequestDialog.h"
#include "cpp/ctrl/CDragListCtrl.h"
// DialUploadLoopTask 对话框
class DialUploadLoopTask : public CNetRequestDialog
{
DECLARE_DYNAMIC(DialUploadLoopTask)
public:
DialUploadLoopTask(CWnd* pParent = NULL); // 标准构造函数
//DialUploadLoopTask(CList<STRemTaskArg, STRemTaskArg&>stTaskArglist,CWnd* pParent = NULL);
virtual ~DialUploadLoopTask();
// 对话框数据
enum { IDD = IDD_DIALOG_UPLOAD_LOOP };
void SetDeviceID(DWORD dwDeviceID)
{
m_dwDeviceSN = dwDeviceID;
}
void SetPLCID(DWORD dwPLCID)
{
m_dwPLCID = dwPLCID;
}
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
void PreNetResponse(WPARAM wParam, LPARAM lParam);
DECLARE_MESSAGE_MAP()
public:
virtual BOOL OnInitDialog();
afx_msg void OnBnClickedUploadLoop();
afx_msg void OnBnClickedExitUpload();
afx_msg void OnCbnSelchangeTimerTypeCombo();
afx_msg LRESULT DragMoveItem(WPARAM wParam, LPARAM lParam);
//CList<STRemTaskArg, STRemTaskArg> m_stTaskArglist;
CList<STTaskListItem, STTaskListItem> m_TaskList;
UINT32 m_uiGD10ID;
UINT32 m_uiPLCID;
CString m_szLoopID;
UINT32 m_uiSubTaskNum;
CStatic m_CStaticLoopID;
CDragListCtrl m_CListCtrlTask;
CEdit m_CEditPlcID;
CEdit m_CEidtGD20_ID;
CComboBox m_CComBoxLoopType;
CEdit m_CEditLoopCount;
CComboBox m_CComBoxTimerType;
CDateTimeCtrl m_CDTCtrlStartTime;
CDateTimeCtrl m_CDTCtrlEndtime;
CDateTimeCtrl m_CDTCtrlDayStart;
CDateTimeCtrl m_CDTCtrlTaskSpace;
CStatic m_CStaticTaskNum;
CEdit m_CEditTaskName;
CDateTimeCtrl m_CDTTimeStart;
CDateTimeCtrl m_CDTTimeEnd;
DWORD m_dwDeviceSN; //DeviceSN/Device ID
DWORD m_dwPLCID; //PLC ID
};
+55
View File
@@ -0,0 +1,55 @@
#if !defined(AFX_DISP2DRSPGRAPDLG_H__70CC6064_5C38_44E9_A637_BCF2FBD0BCBA__INCLUDED_)
#define AFX_DISP2DRSPGRAPDLG_H__70CC6064_5C38_44E9_A637_BCF2FBD0BCBA__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// Disp2DRSPGrapDlg.h : header file
//
class CRsp2DTd;
class CDispGrap2DRSPTdView;
/////////////////////////////////////////////////////////////////////////////
// CDisp2DRSPGrapDlg dialog
class CDisp2DRSPGrapDlg : public CDialog
{
// Construction
public:
CDisp2DRSPGrapDlg(CRsp2DTd* const pRsp2DTd, CWnd* pParent = NULL);
CDisp2DRSPGrapDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CDisp2DRSPGrapDlg)
enum { IDD = IDD_DISP_2DRSP_TD_GRAP };
// NOTE: the ClassWizard will add data members here
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CDisp2DRSPGrapDlg)
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDisp2DRSPGrapDlg)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
CDispGrap2DRSPTdView* m_pDispGrap2DRSPTdView;
CRsp2DTd* m_pRsp2DTd;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_DISP2DRSPGRAPDLG_H__70CC6064_5C38_44E9_A637_BCF2FBD0BCBA__INCLUDED_)
@@ -0,0 +1,49 @@
// DownloadDataProgressDlg.h: interface for the CDownloadDataProgressDlg class.
//
//////////////////////////////////////////////////////////////////////
#ifndef AFX_DIALDOWNLOADDATEROGRESS_H__64908844_7B7F_4F0F_AA97_194C02629079__INCLUDED_
#define AFX_DIALDOWNLOADDATEROGRESS_H__64908844_7B7F_4F0F_AA97_194C02629079__INCLUDED_
#include "TaskDataOper.h"
#include <Windows.h>
/////////////////////////////////////////////////////////////////////////////
// CDownloadDataProgressDlg dialog
class CDownloadDataProgressDlg : public CDialog
{
// Construction
public:
//下载数据构造
CDownloadDataProgressDlg(std::vector<STTaskListItem> *pvtDownloadTaskItem, CTaskDataOper* pTaskOper, CWnd* pParent = NULL); // standard constructor
//上传数据构造
CDownloadDataProgressDlg(STRemTaskArg* stTaskArg, CTaskDataOper* pTaskOper, CWnd* pParent = NULL);
virtual ~CDownloadDataProgressDlg();
enum { IDD = IDD_DOWNLOAD_DATA_PROCESS };
void SetDeviceID(DWORD dwDeviceID)
{
m_dwDeviceSN = dwDeviceID;
}
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CDownloadDataProgressDlg)
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
static UINT DownloadThread(LPVOID pParam);
static UINT UploadThread(LPVOID pParam);
void ShowProcessPercent(int iCurPos, int iTotalSize);
BOOL m_bRecvOrSend; //这个标记是send(发送文件 1)还是receive(接收文件 0);
std::vector<STTaskListItem>* m_pvtDownloadTaskItem;
CTaskDataOper* m_pTaskOper;
STRemTaskArg* m_stTaskArg;
CWnd* m_pParent;
DWORD m_dwDeviceSN; //DeviceSN/Device ID
//CRITICAL_SECTION m_cs;
};
#endif // !defined(AFX_TASKPROGRESSDLG_H__64908844_7B7F_4F0F_AA97_194C02629079__INCLUDED_)
+96
View File
@@ -0,0 +1,96 @@
/*===================================================*\
| |
| EASY-SIZE Macros |
| |
| Copyright (c) 2001 - Marc Richarme |
| devix@devix.cjb.net |
| http://devix.cjb.net |
| |
| License: |
| |
| You may use this code in any commersial or non- |
| commersial application, and you may redistribute |
| this file (and even modify it if you wish) as |
| long as you keep this notice untouched in any |
| version you redistribute. |
| |
| Usage: |
| |
| - Insert 'DECLARE_EASYSIZE' somewhere in your |
| class declaration |
| - Insert an easysize map in the beginning of your |
| class implementation (see documentation) and |
| outside of any function. |
| - Insert 'INIT_EASYSIZE;' in your |
| OnInitDialog handler. |
| - Insert 'UPDATE_EASYSIZE' in your OnSize handler |
| - Optional: Insert 'EASYSIZE_MINSIZE(mx,my);' in |
| your OnSizing handler if you want to specify |
| a minimum size for your dialog |
| |
| Check http://devix.cjb.net for the |
| docs and new versions |
| |
\*===================================================*/
#ifndef __EASYSIZE_H_
#define __EASYSIZE_H_
#define ES_BORDER 0xffffffff
#define ES_KEEPSIZE 0xfffffffe
#define ES_HCENTER 0x00000001
#define ES_VCENTER 0x00000002
#define DECLARE_EASYSIZE \
void __ES__RepositionControls(BOOL bInit);\
void __ES__CalcBottomRight(CWnd *pThis, BOOL bBottom, int &bottomright, int &topleft, UINT id, UINT br, int es_br, CRect &rect, int clientbottomright);
#define INIT_EASYSIZE __ES__RepositionControls(TRUE); __ES__RepositionControls(FALSE)
#define UPDATE_EASYSIZE if(GetWindow(GW_CHILD)!=NULL) __ES__RepositionControls(FALSE)
#define EASYSIZE_MINSIZE(mx,my,s,r) if(r->right-r->left < mx) { if((s == WMSZ_BOTTOMLEFT)||(s == WMSZ_LEFT)||(s == WMSZ_TOPLEFT)) r->left = r->right-mx; else r->right = r->left+mx; } if(r->bottom-r->top < my) { if((s == WMSZ_TOP)||(s == WMSZ_TOPLEFT)||(s == WMSZ_TOPRIGHT)) r->top = r->bottom-my; else r->bottom = r->top+my; }
#define BEGIN_EASYSIZE_MAP(class) \
void class::__ES__CalcBottomRight(CWnd *pThis, BOOL bBottom, int &bottomright, int &topleft, UINT id, UINT br, int es_br, CRect &rect, int clientbottomright) {\
if(br==ES_BORDER) bottomright = clientbottomright-es_br;\
else if(br==ES_KEEPSIZE) bottomright = topleft+es_br;\
else { CRect rect2;\
pThis->GetDlgItem(br)->GetWindowRect(rect2); pThis->ScreenToClient(rect2);\
bottomright = (bBottom?rect2.top:rect2.left) - es_br;}}\
void class::__ES__RepositionControls(BOOL bInit) { CRect rect,rect2,client; GetClientRect(client);
#define END_EASYSIZE_MAP Invalidate(); UpdateWindow(); }
#define EASYSIZE(id,l,t,r,b,o) \
static int id##_es_l, id##_es_t, id##_es_r, id##_es_b;\
if(bInit) {\
GetDlgItem(id)->GetWindowRect(rect); ScreenToClient(rect);\
if(o & ES_HCENTER) id##_es_l = rect.Width()/2; else {\
if(l==ES_BORDER) id##_es_l = rect.left; else if(l==ES_KEEPSIZE) id##_es_l = rect.Width(); else {\
GetDlgItem(l)->GetWindowRect(rect2); ScreenToClient(rect2);\
id##_es_l = rect.left-rect2.right;}}\
if(o & ES_VCENTER) id##_es_t = rect.Height()/2; else {\
if(t==ES_BORDER) id##_es_t = rect.top; else if(t==ES_KEEPSIZE) id##_es_t = rect.Height(); else {\
GetDlgItem(t)->GetWindowRect(rect2); ScreenToClient(rect2);\
id##_es_t = rect.top-rect2.bottom;}}\
if(o & ES_HCENTER) id##_es_r = rect.Width(); else { if(r==ES_BORDER) id##_es_r = client.right-rect.right; else if(r==ES_KEEPSIZE) id##_es_r = rect.Width(); else {\
GetDlgItem(r)->GetWindowRect(rect2); ScreenToClient(rect2);\
id##_es_r = rect2.left-rect.right;}}\
if(o & ES_VCENTER) id##_es_b = rect.Height(); else { if(b==ES_BORDER) id##_es_b = client.bottom-rect.bottom; else if(b==ES_KEEPSIZE) id##_es_b = rect.Height(); else {\
GetDlgItem(b)->GetWindowRect(rect2); ScreenToClient(rect2);\
id##_es_b = rect2.top-rect.bottom;}}\
} else {\
int left,top,right,bottom; BOOL bR = FALSE,bB = FALSE;\
if(o & ES_HCENTER) { int _a,_b;\
if(l==ES_BORDER) _a = client.left; else { GetDlgItem(l)->GetWindowRect(rect2); ScreenToClient(rect2); _a = rect2.right; }\
if(r==ES_BORDER) _b = client.right; else { GetDlgItem(r)->GetWindowRect(rect2); ScreenToClient(rect2); _b = rect2.left; }\
left = _a+((_b-_a)/2-id##_es_l); right = left + id##_es_r;} else {\
if(l==ES_BORDER) left = id##_es_l;\
else if(l==ES_KEEPSIZE) { __ES__CalcBottomRight(this,FALSE,right,left,id,r,id##_es_r,rect,client.right); left = right-id##_es_l;\
} else { GetDlgItem(l)->GetWindowRect(rect2); ScreenToClient(rect2); left = rect2.right + id##_es_l; }\
if(l != ES_KEEPSIZE) __ES__CalcBottomRight(this,FALSE,right,left,id,r,id##_es_r,rect,client.right);}\
if(o & ES_VCENTER) { int _a,_b;\
if(t==ES_BORDER) _a = client.top; else { GetDlgItem(t)->GetWindowRect(rect2); ScreenToClient(rect2); _a = rect2.bottom; }\
if(b==ES_BORDER) _b = client.bottom; else { GetDlgItem(b)->GetWindowRect(rect2); ScreenToClient(rect2); _b = rect2.top; }\
top = _a+((_b-_a)/2-id##_es_t); bottom = top + id##_es_b;} else {\
if(t==ES_BORDER) top = id##_es_t;\
else if(t==ES_KEEPSIZE) { __ES__CalcBottomRight(this,TRUE,bottom,top,id,b,id##_es_b,rect,client.bottom); top = bottom-id##_es_t;\
} else { GetDlgItem(t)->GetWindowRect(rect2); ScreenToClient(rect2); top = rect2.bottom + id##_es_t; }\
if(t != ES_KEEPSIZE) __ES__CalcBottomRight(this,TRUE,bottom,top,id,b,id##_es_b,rect,client.bottom);}\
GetDlgItem(id)->MoveWindow(left,top,right-left,bottom-top,FALSE);\
}
#endif //__EASYSIZE_H_
+24
View File
@@ -0,0 +1,24 @@
// Electrode.h: interface for the CElectrode class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_ELECTRODE_H__28115359_0E95_4F54_A8E1_CD5693A9C2A6__INCLUDED_)
#define AFX_ELECTRODE_H__28115359_0E95_4F54_A8E1_CD5693A9C2A6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CElectrode
{
public:
CElectrode();
virtual ~CElectrode();
CString m_szECode;
BOOL m_bCState;
CString m_szMDate;
CString m_szMTime;
float m_fOMValue;
};
#endif // !defined(AFX_ELECTRODE_H__28115359_0E95_4F54_A8E1_CD5693A9C2A6__INCLUDED_)
+41
View File
@@ -0,0 +1,41 @@
// ExecManager.h: interface for the CExecManager class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_EXECMANAGER_H__FD076BBB_2062_46CA_95F0_7BC58CA733C3__INCLUDED_)
#define AFX_EXECMANAGER_H__FD076BBB_2062_46CA_95F0_7BC58CA733C3__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class COpExec2DRSPTestSetDlg;
class CRsp2DTd;
class CRspCETd;
class CMedium;
class CHandleProcessor;
template <class DataType> class CLinkList;
class CExecManager
{
public:
BOOL InitialMeasure(CDevice* pDev, CString szPrCN, CString szTzCN, CString szTdCN, int iEAmount); //初始化测试(pDev---in:设备,szPrCN---in:工程编号,szTzCN---in:测区编号,szTdCN---in:数据编号,iEAmount---in::电极总数)
BOOL Exec2DRSPTest(COpExec2DRSPTestSetDlg* pOpExec2DRSPTestSetDlg, CLinkList<CMedium*>& m_medLinkList); //执行2D接地电阻测试(pOpExec2DRSPTestSetDlg---in:执行2D电阻率测试设置对话框,m_medLinkList---in:装置列表)
BOOL ExecCERSPTest(COpExec2DRSPTestSetDlg* pOpExec2DRSPTestSetDlg, CLinkList<CMedium*>& m_medLinkList); //执行1D接地电阻测试(pOpExec2DRSPTestSetDlg---in:执行2D电阻率测试设置对话框,m_medLinkList---in:装置列表)
// void InitialMedLinkList();
CExecManager(_ConnectionPtr& pConnection);
virtual ~CExecManager();
private:
CHandleProcessor m_handleProcessor;
// CPtrList m_medLinkList;
_ConnectionPtr m_pConnection;
};
#endif // !defined(AFX_EXECMANAGER_H__FD076BBB_2062_46CA_95F0_7BC58CA733C3__INCLUDED_)
+36
View File
@@ -0,0 +1,36 @@
// ExecOperator.h: interface for the CExecOperator class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_EXECOPERATOR_H__AABE01CF_A9ED_456B_B38A_5A36618F70A9__INCLUDED_)
#define AFX_EXECOPERATOR_H__AABE01CF_A9ED_456B_B38A_5A36618F70A9__INCLUDED_
#include "opexec2drsptestdlg.h"
#include "HandleProcessor.h" // Added by ClassView
#include "StateProcessor.h" // Added by ClassView
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class COpExec2DRSPTestSetDlg;
class CExecOperator
{
public:
void InitialExec2DRSPTestSetDlg(COpExec2DRSPTestSetDlg* pOpExec2DRSPTestSetDlg); //初始化执行2D电阻率测试设置对话框(pOpExec2DRSPTestSetDlg---in:执行2D电阻率测试设置对话框)
CExecOperator(_ConnectionPtr& pConnection);
virtual ~CExecOperator();
void ExecRSPTest();
private:
_ConnectionPtr m_pConnection;
CStateProcessor m_stateProcessor;
CHandleProcessor m_handleProcessor;
};
#endif // !defined(AFX_EXECOPERATOR_H__AABE01CF_A9ED_456B_B38A_5A36618F70A9__INCLUDED_)
+41
View File
@@ -0,0 +1,41 @@
// FileOperTools.h: interface for the CFileOperTools class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FILEOPERTOOLS_H__BD76520C_2349_4A9E_8A18_6FCF91A97ED2__INCLUDED_)
#define AFX_FILEOPERTOOLS_H__BD76520C_2349_4A9E_8A18_6FCF91A97ED2__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//该类为文件操作类,封装了一些常用的文件操作
class CFileOperTools
{
public:
CFileOperTools();
virtual ~CFileOperTools();
static CFileOperTools* GetInstance();
bool CopyFolder(CString strSrcPath, CString strDstPath);
//指定文件是否存在,存在返回true,否则为false
bool IsFileExist(CString strFileInfo);
bool WriteComLog(const CString& strInfo);
bool WriteComLog(unsigned char *pszData,int iDateLen);
bool DeleteDirectory(CString strDirPath);
bool DeleteFileDirect(CString strFilePath);
CString GetDstFilePathFolder();
bool GeneralLogName();
bool DealGeneralLogFunc();
protected:
void CloseComLog();
static UINT DealGeneralLogThread(LPVOID lParam);
protected:
static CFileOperTools* m_pFileOper;
FILE* m_pComLog;
CRITICAL_SECTION *m_pWriteLogSection;
CString m_strGeneralLogName;
};
#endif // !defined(AFX_FILEOPERTOOLS_H__BD76520C_2349_4A9E_8A18_6FCF91A97ED2__INCLUDED_)
+48
View File
@@ -0,0 +1,48 @@
// FileTransfer.h: interface for the FileTransfer class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_FILETRANSFER_H__139571F4_4244_45CC_9F37_D701D4AB72D6__INCLUDED_)
#define AFX_FILETRANSFER_H__139571F4_4244_45CC_9F37_D701D4AB72D6__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "SComPort.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include "crc16.h"
#include "crc32.h"
//#include "ascii.h"
//#include "zmodem.h"
#include "_zmodem.h"
#define BUFFSIZE 16384
class FileTransfer
{
protected :
virtual void error( char *fmt, ... );
virtual void status( char *fmt, ... );
CSComPort *port;
FILE *file;
long file_length;
long byte_count;
int file_count;
char file_name[ 128 ];
char buffer[BUFFSIZE];
public :
virtual BOOL Send( char *files[] ) = 0;
virtual BOOL Receive( CString Path ) = 0;
// public:
// FileTransfer();
// virtual ~FileTransfer();
};
#endif // !defined(AFX_FILETRANSFER_H__139571F4_4244_45CC_9F37_D701D4AB72D6__INCLUDED_)
+110
View File
@@ -0,0 +1,110 @@
// DownloadFile.h: interface for the CFileTransfer_crul class.
//
//////////////////////////////////////////////////////////////////////
//导入libcurl库----------------------------------------------------------
#define CURL_STATICLIB
#ifdef _DEBUG
#pragma comment(lib,"libcurl_a_debug.lib")
#else
#pragma comment(lib,"libcurl_a.lib")
#endif
#pragma comment ( lib, "ws2_32.lib" )
#pragma comment ( lib, "winmm.lib" )
#pragma comment ( lib, "wldap32.lib" )
#pragma comment ( lib, "Advapi32.lib")
#include "./curl/curl.h"
#if !defined(AFX_DOWNLOADFILE_H__9E1240AF_55EA_4F75_8220_B9D763C0CDAB__INCLUDED_)
#define AFX_DOWNLOADFILE_H__9E1240AF_55EA_4F75_8220_B9D763C0CDAB__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
typedef enum
{
OPT_URL_ADDRESS = 0,
OPT_DOWNLOAD_PATH,
OPT_DOWNLOAD_NAME,
OPT_NEED_PROGRESS,
OPT_NEED_ERRORINFO,
OPT_TIMEOUT,
OPT_HTTPS_ACCESS,
OPT_SSL_CERTIFY
}EnOptFlag;
typedef struct ST_CALLBACK_WRITE_INFO
{
FILE* pFile;
void* pFileTrans;
ST_CALLBACK_WRITE_INFO()
{
pFile = NULL;
pFileTrans = NULL;
}
}STWriteInfo;
//目前的传输方法只限制于单线程
class CFileTransfer_crul
{
public:
// BOOL GetFileList(char *f_buff);
DOUBLE GetFileSize();
static inline DOUBLE GetRecvSize() { return m_RecvFileSize; };
bool DownloadFile();
void SetOption(EnOptFlag enFlag, CString strInfo, bool bFlag = false);
bool Inital(); //对crul的信息进行初始化以及进行版本检查
void UnInital();//
void PrintLog(CString strLog);
//获取下载文件的文件总大小
inline curl_off_t GetFileTotalSize(){return m_lTotalRecvFileSize;}
//获取下载文件的已经下载的大小
inline curl_off_t GetCurDownloadSize(){return m_lCurRecvSize;}
//获取下载的文件的文件名
inline void GetFileName(CString &strFileName){strFileName = m_strSaveName;}
//初始化日志信息
void InitalLogInfo();
//对目标Url的返回值进行有效性判断
bool GetUrlResConValild();
CFileTransfer_crul();
virtual ~CFileTransfer_crul();
protected:
CURL *m_pCrEasyHandl;
CURL *m_pCrPuteasyHandl;
// FILE* m_pDownLoadFile;
FILE* m_pLog;
CString m_strUrl; //设置目标文件的下载地址
CString m_strSavePath; //设置文件的保存路径
CString m_strSaveName; //设置目标文件的保存名字
bool m_bIsNeedProgress; //是否需要显示进度
bool m_bIsNeedErrInfo; //是否需要显示错误信息
int m_nTimeOut; //下载的超时时间
bool m_bIsGobalInitial;
bool m_bIsHttpsFlag; //是否是https访问
bool m_bIsSSLCertify; //是否进行SSL验证
private:
static VOID SetRecvSize(size_t f_size);
static size_t WriteToFile( void *ptr, size_t size, size_t nmemb, void *userp);
//显示进度信息的回调函数,其中dltotal:期望下载的文件的大小,dlnow:已经下载的文件大小
//ultotal:希望上传的文件的大小 ulnow:目前已经上传的大小
static int xferinfo(void *p, curl_off_t dltotal, curl_off_t dlnow, curl_off_t ultotal, curl_off_t ulnow);
static DOUBLE m_RecvFileSize; //获取当前文件下载的大小
curl_off_t m_lTotalRecvFileSize; //下载文件的总大小
curl_off_t m_lCurRecvSize; //当前已经接收的文件大小
static size_t WriteToBuff( void *ptr, size_t size, size_t nmemb, void *userp);
//用做URL测试的回调些函数,该函数什么都不操作直接返回,用于代替在URL测试时,直接使用默认的回调函数输出到标准输出时,
//有时候回写入失败的问题
static size_t WriteFuncForUrlTest(void *ptr, size_t size, size_t nmemb, void *userp);
static int m_nWriteFileSize; //获取目标文件的大小
};
#endif // !defined(AFX_DOWNLOADFILE_H__9E1240AF_55EA_4F75_8220_B9D763C0CDAB__INCLUDED_)
+54
View File
@@ -0,0 +1,54 @@
// GD10OperCmd.h: interface for the CGD10OperCmd class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_GD10OPERCMD_H__BEA751E5_7B04_4171_85DC_D4A46EC6AAA3__INCLUDED_)
#define AFX_GD10OPERCMD_H__BEA751E5_7B04_4171_85DC_D4A46EC6AAA3__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
//该类为上微机模拟GD10的操作命令的实现,来代替在USB环境下,下微机无法操作USB内的文件
class CGD10OperCmd
{
public:
CGD10OperCmd();
virtual ~CGD10OperCmd();
static CGD10OperCmd* GetInstance();
//增加工程
int project_add(const char *mac,const char *projectcn);
//删除工程
bool project_delete(const char *mac,const char *projectcn);
//增加测区
int testzone_add(const char *projectcn,const char *testzonecn,const char *type);
//删除测区
int testzone_delete(const char *projectcn,const char *testzonecn);
//增加脚本
int script_add(const char *scriptcn,const char *scriptname,const char *mudiumid);
//删除脚本
bool script_delete(const char *scriptcn);
//删除测试任务
bool meas_delete(const char *projectcn, const char *testzonecn, const char *measuringcn);
//设置测试参数
bool set_param(const CString& strParam);
//去注册
bool unregister_user(CString strMacAddr);
//从GD设备读取设备市场数据,并清除以获取的数据
bool loadDeviceMarkDataFromGD();
static UINT LoadDevMarkDataFormGDThread(LPVOID lParam);
protected:
//method
bool AddProjectInLocalHost(const char *pProjectCN);
bool AddProjectInMacXml(const char* pMac,const char *pProjectCN);
bool DelProjectInMacXml(const char* pMac,const char *pProjectCN);
bool DelProjectInLocalHost(const char *pProjectCN);
bool DeleteTaskInTz(const CString &strTzPath, const char*pMeasuringcn);
bool DeleteTaskFile(const CString &strTzFolderPath, const char*pMeasuringcn);
//attributes
static CGD10OperCmd* m_pGD10Oper;
};
#endif // !defined(AFX_GD10OPERCMD_H__BEA751E5_7B04_4171_85DC_D4A46EC6AAA3__INCLUDED_)
+36
View File
@@ -0,0 +1,36 @@
// GUCodeCreator.h: interface for the CGUCodeCreator class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_GUCODECREATOR_H__99500CB3_470C_4708_8CFD_D80E4B46F145__INCLUDED_)
#define AFX_GUCODECREATOR_H__99500CB3_470C_4708_8CFD_D80E4B46F145__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "iphlpapi.h"
#pragma comment(lib, "IPHlpApi.Lib")
class CGUCodeCreator
{
public:
void GetMacList(CStringArray *f_macArray);
CString GenerateGUCode(void); //生成GU编码
CString GenerateGUIDCode(void); //生成GUID编码
CString GenerateMacAddress(void); //生成MAC地址
CGUCodeCreator();
virtual ~CGUCodeCreator();
private:
bool ChangeTotalSecToCode(char *pCode);
bool ChangeMacAddressToCode(char* pCode);
DWORD m_dwCurTotalSec;
BYTE m_aMacAddress[6];
bool GetMacAddress(BYTE *pMacAddress);
DWORD GetTotalSecond();
char m_aMappingTable[32];
};
#endif // !defined(AFX_GUCODECREATOR_H__99500CB3_470C_4708_8CFD_D80E4B46F145__INCLUDED_)
+190
View File
@@ -0,0 +1,190 @@
// GeoMative.h : main header file for the GEOMATIVE application
//
#include <stdafx.h>
#if !defined(AFX_GEOMATIVE_H__7FEDD270_6145_4BD6_8B3A_CB6FBCE2333F__INCLUDED_)
#define AFX_GEOMATIVE_H__7FEDD270_6145_4BD6_8B3A_CB6FBCE2333F__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#ifndef __AFXWIN_H__
#error include 'stdafx.h' before including this file for PCH
#endif
#include "resource.h" // main symbols
/////////////////////////////////////////////////////////////////////////////
// CGeoMativeApp:
// See GeoMative.cpp for the implementation of this class
//
#pragma warning(disable:4068)
#pragma warning(disable:4786)
#include "ProManager.h" // Added by ClassView
#include "TdManager.h" // Added by ClassView
#include "DevManager.h" // Added by ClassView
#include "ExecManager.h"
#include "SptManager.h"
#include "ioManager.h"
#include "DevLinkRecord.h"
#include "NetWorkOper.h"
#include <map>
class CDevManager;
class CTdManager;
class CPromanager;
class CExecManager;
class CSptManager;
class CIOManager;
typedef struct ST_DB_PASSWORD_INFO
{
int nTableID;
CString strPassword;
ST_DB_PASSWORD_INFO()
{
nTableID = 0;
strPassword = _T("");
}
}STDBPasswordInfo;
typedef struct ST_DB_OPERATE_PASSWORD_INFO
{
int nTableID;
int nDevType;
CString strPassword;
CString strDevName;
ST_DB_OPERATE_PASSWORD_INFO()
{
nDevType = 0;
nTableID = 0;
strPassword = _T("");
strDevName = _T("");
}
}STOperDBPassword;
static const GUID GUID_DEVINTERFACE_LIST[] =
{
// GUID_DEVINTERFACE_USB_DEVICE
{ 0xA5DCBF10, 0x6530, 0x11D2, { 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED } },
// GUID_DEVINTERFACE_DISK
{ 0x53f56307, 0xb6bf, 0x11d0, { 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b } },
// GUID_DEVINTERFACE_HID,
{ 0x4D1E55B2, 0xF16F, 0x11CF, { 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 } }
};
enum EN_TRANSFER_FILE_METHOD
{
EN_TRANSFER_FILE_BY_COM = 1,
EN_TRANSFER_FILE_BY_USB,
EN_TRANSFER_FILE_BY_CLOUND,
EN_TRANSFER_FILE_BY_WIFI
};
enum EN_VERSION_INFO
{
EN_ON_LIEN_VERSION_1 = 1,
EN_ON_LIEN_VERSION_2,
};
typedef struct ST_CROSS_HOLE_CFG_INFO
{
float fFirstPoleDep;
float fHoleSpace;
ST_CROSS_HOLE_CFG_INFO()
{
fFirstPoleDep = fHoleSpace = 0;
}
}STCorssHoleCfgInfo;
enum EN_CHANNEL_INFO
{
EN_SINGLE_CHANNEL = 0, //0:单通道,装置生成脚本测点不排序
EN_MULTI_CHANNEL = 1 //1:多通道,除单通道的装置wen(a),wenB),wenY),schumberger外,其他的装置都排序,AB相同的为一组
};
class CGeoMativeApp : public CWinApp
{
public:
CGeoMativeApp();
virtual ~CGeoMativeApp();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CGeoMativeApp)
public:
virtual BOOL InitInstance();
virtual int ExitInstance();
//}}AFX_VIRTUAL
// Implementation
void GetDBPasswordInfo();
void GetPasswordPtr(std::map<CString,STDBPasswordInfo> &mapPasswordInfo){mapPasswordInfo.clear();mapPasswordInfo=m_mapPasswordInfo;}
void GetDevPassword(CString strDevName, STDBPasswordInfo &strDBPassInfo);
void OnCfgTerrain();
bool GetCfgUrl();
int Get2dDataExpStyle(){return m_i2dDataExpStyle;}
protected:
HMENU m_hMDIMenu;
HACCEL m_hMDIAccel;
std::map<CString,STDBPasswordInfo> m_mapPasswordInfo;
// void GetGeoPassword(CString& strPassword);
public:
virtual BOOL PreTranslateMessage(MSG* pMsg);
CDevManager* m_pDevManager;
CTdManager* m_pTdManager;
CProManager* m_pProManager;
CExecManager* m_pExecManager;
CSptManager* m_pSptManager;
CIOManager* m_pIOManager;
_ConnectionPtr m_pConnection;
DWORD m_dwScanThreadID;
HANDLE m_hScanThread;
DWORD m_dwSysTimeThreadID;
HANDLE m_hSysTimeThread;
CStringArray m_strRemAnalyFolder;
CString m_strUpgUrl;
CString m_strHomePage;
int m_i2dDataExpStyle;
BYTE m_ucMaxChannel;
int m_iCableType;
CNetWorkOper m_NetWorkOper;
UINT32 m_uiUserID;
EN_CHANNEL_INFO m_ucIsMultiChannel;
std::map<CString, STCorssHoleCfgInfo> m_mapCrossHole;
ADOX::_CatalogPtr m_pCatalog;
//{{AFX_MSG(CGeoMativeApp)
afx_msg void OnFileExit();
afx_msg void OnHelpAbout();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
private:
void InitalDiagnosisInfo();
void SetDBAttributeUpdateInfo();
void ProcConPtrCloseExpect();
bool ParserSigCrossHole(int iIndex);
bool GeCrossHoleCfg();
};
/////////////////////////////////////////////////////////////////////////////
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_GEOMATIVE_H__7FEDD270_6145_4BD6_8B3A_CB6FBCE2333F__INCLUDED_)
+49
View File
@@ -0,0 +1,49 @@
// GetProcessInfo.h: interface for the CGetProcessInfo class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_GETPROCESSINFO_H__7FA81773_F785_4A4D_8A97_1FA04FD3B458__INCLUDED_)
#define AFX_GETPROCESSINFO_H__7FA81773_F785_4A4D_8A97_1FA04FD3B458__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
typedef struct
{
DWORD ExitStatus;
DWORD PebBaseAddress;
DWORD AffinityMask;
DWORD BasePriority;
ULONG UniqueProcessId;
ULONG InheritedFromUniqueProcessId;
}PROCESS_BASIC_INFORMATION;
typedef LONG (WINAPI *PROCNTQSIP)(HANDLE,UINT,PVOID,ULONG,PULONG);
class CGetProcessInfo
{
public:
CGetProcessInfo();
virtual ~CGetProcessInfo();
//通过进程名称获取进程ID,同时也可通过传个引用参数获取到父进程ID,同下面GetParentProcessId获取的结果一致
DWORD GetProcessIdFromName(CString strProcessName, DWORD &dwParentProcessId);
//通过子进程ID获取其父进程ID
DWORD GetParentProcessId(DWORD dwChildProcessId);
//通过进程ID获取进程名称
CString GetProcessNameFromId(DWORD dwProcessId);
//通过进程名来获取指定的子进程(通过指定父进程进行约束)
DWORD GetSpcialProcessIdFromName(CString strProcessName, DWORD dwParentProcessId);
static CGetProcessInfo* CreateInstance();
protected:
static CGetProcessInfo* m_pGetProcessInfo;
};
#endif // !defined(AFX_GETPROCESSINFO_H__7FA81773_F785_4A4D_8A97_1FA04FD3B458__INCLUDED_)
+28
View File
@@ -0,0 +1,28 @@
// HandleProcessor.h: interface for the CHandleProcessor class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_HANDLEPROCESSOR_H__ED6713FF_814F_4CFD_9C92_DF1DF6CE7BC1__INCLUDED_)
#define AFX_HANDLEPROCESSOR_H__ED6713FF_814F_4CFD_9C92_DF1DF6CE7BC1__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CHandleProcessor
{
public:
CHandleProcessor();
virtual ~CHandleProcessor();
UINT GetStyleFromHandle(DWORD dwHandle); //从句柄中取类型(dwHandle---in:句柄)
DWORD GetIDFromHandle(DWORD dwHandle); //从句柄中取ID(dwHandle---in:句柄)
void AnalyseHandle(DWORD dwHandle, DWORD& dwID, UINT& uStyle); //分析句柄(dwHandle---in:句柄,dwID---in:ID,uStyle---in:类型)
//句柄中,1-27位为ID28-32为style
DWORD GenerateHandle(DWORD dwID, UINT uStyle); //生成句柄(dwID---in:ID,uStyle---in:类型)
DWORD GenerateNewHandle(DWORD dwID, UINT uStyle);
};
#endif // !defined(AFX_HANDLEPROCESSOR_H__ED6713FF_814F_4CFD_9C92_DF1DF6CE7BC1__INCLUDED_)
+154
View File
@@ -0,0 +1,154 @@
//Download by http://www.NewXing.com
// HttpDownload.h: interface for the HttpDownload class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_HTTPDOWNLOAD_H__F5CAC8FE_99D6_482E_966B_487D4E515329__INCLUDED_)
#define AFX_HTTPDOWNLOAD_H__F5CAC8FE_99D6_482E_966B_487D4E515329__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include <Afxsock.h>
/////////////////////////////////////////////////////
//////////////////////////////////////////////////////
///MY CODES STARTS HERE///////////////////////////////
//////////////////////////////////////////////////////
//#include <afxtempl.h>
//#include <afxmt.h>
#ifndef MultiThreadDataClassH
#define MultiThreadDataClassH
#endif
typedef struct FromToImpl{
DWORD from;
DWORD to;
}m_fromTo;
typedef struct InforImpl{
CString server;
CString object;
CString savePath; //文件保存路径
DWORD fileSize; //文件大小
int threadCnt; //线程数
DWORD downloadSize;//已经下载文件大小
FromToImpl *fromToImpl;
}m_inforImpl;
typedef struct NewTask{
CString server;
CString object;
UINT port;
UINT threadCnt;
CString savepath;
}NewTask;
UINT threadFun(LPVOID lparam);//函数声明
#define DEFAULT_HTTP_PORT 80
#define PER_GETLEN 1024
// HTTP STATUS CODE分类
// const UINT HTTP_OK = 0;
// const UINT HTTP_ERROR = 1;
// const UINT HTTP_REDIRECT = 2;
// const UINT HTTP_FAIL = 3;
// 发送请求
const UINT SENDREQUEST_SUCCESS = 0; // 成功
const UINT SENDREQUEST_ERROR = 1; // 一般网络错误,可以重试
const UINT SENDREQUEST_STOP = 2; // 中途停止(用户中断) (不用重试)
const UINT SENDREQUEST_FAIL = 3; // 失败 (不用重试)
class HttpDownload
{
public:
//bool realDownload(DWORD pos ,DWORD len,int index,CSocket sock);
HttpDownload();
virtual ~HttpDownload();
void Initial(int n);
void FreeMemory(); //释放内存
void SetStop(bool m_bstop);//通过参数stop确定是否停止
void CreateThread();
BOOL StartHttpTask(NewTask task);
UINT SendRequest(BOOL bHead = false);
bool Download(int index);
CTime GetTime(LPCTSTR lpszTime);
UINT GetInfo(LPCTSTR lpszHeader, DWORD &dwContentLength, DWORD &dwStatusCode, CTime &TimeLastModified);
CString GetLine(char* lpData, int& ndx);
int GetHeadLength(char* lpData);
BOOL ParseURL(CString str);
bool GetInfofromTemp(CString filename);
void GetInfofromDevision();
void CreateInforImpl(CString str);
bool CreateNewFile(CString fileName, DWORD size);
bool WriteInfoToFile();
bool WriteToFile(CString filePath,DWORD pos ,char *buffer , int len);
//CTypedPtrList<CPtrList, CAsyncSocket*> m_lsTask;
//DOWNLOADSTATE m_state;
//BOOL m_bTerminate[4];
CSocket m_pSocket;//套结字
CString m_strServer;//服务器地址
CString m_strObject;//远端路径
CString m_strSavePath;//文件本地保存地址
CString m_strTempSavePath;//临时文件保存地址
CString m_strHead;//。。。
CString m_strReferer; //产生请求的初始资源
CString m_strDownloadUrl;//重定向后的下载路径!!!!!
CTime m_TimeLastModified;//上次修改时间
BOOL m_bSupportResume; //是否支持断点续传
BOOL m_bResume; //是否曾经下过
BOOL m_bFileLocked; //临时文件是否被占用
BOOL m_bIsUseFile;
BOOL m_bStop;
BOOL m_bAddSize;
UINT m_nPort;//端口号
FILE *globalFile;
//CCriticalSection m_cs;
DWORD m_dwDownloadSize;//已经下载文件的大小
DWORD m_dwFileSize;//要下载的文件的大小
int m_dwThreadCnt;//线程数
LONG m_index;
int runningThreadCnt;//正在运行的线程数
FromToImpl *fromToImpl;
InforImpl inforImpl;
//waston
int nComplete;
NewTask TaskInfo;
//waston
/////////////////////////////////////////////////////
//MY CODES ENDS HERE/////////////////////////////////
/////////////////////////////////////////////////////
};
#endif // !defined(AFX_HTTPDOWNLOAD_H__F5CAC8FE_99D6_482E_966B_487D4E515329__INCLUDED_)
+51
View File
@@ -0,0 +1,51 @@
// IOManager.h: interface for the CIOManager class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_IOMANAGER_H__9C7FC04B_AD79_48E3_AF1E_8E4981D2E099__INCLUDED_)
#define AFX_IOMANAGER_H__9C7FC04B_AD79_48E3_AF1E_8E4981D2E099__INCLUDED_
#include "HandleProcessor.h"
#include "StateProcessor.h"
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
class CIOManager
{
public:
UINT Import(void);
UINT Export(void);
CIOManager(_ConnectionPtr& pConnection, ADOX::_CatalogPtr pCatalog);
virtual ~CIOManager();
CHandleProcessor m_handleProcessor;
CStateProcessor m_stateProcessor;
private:
void ExportSptToAccdbFile(_ConnectionPtr pExpConnection, CListCtrl& sptList);
void ExportIpspTdToAccdbFile(_ConnectionPtr pExpConnection, DWORD dwTdID);
void ExportRspTdToAccdbFile(_ConnectionPtr pExpConnection, DWORD dwTdID);
void ExportTzToAccdbFile(_ConnectionPtr pExpConnection, DWORD dwTzID);
void ExportProjectToAccdbFile(_ConnectionPtr pExpConnection, DWORD dwProID);
void ExportTdHeadInfoToAccdbFile(_ConnectionPtr pExpConnection, DWORD dwTdID, CString& szTdName, CString& szDeSn);
void ImportSptToDB(_ConnectionPtr pImpConnection);
void ImportIpspTdToDB(_ConnectionPtr pImpConnection);
void ImportRspTdToDB(_ConnectionPtr pImpConnection);
void ImportTzToDB(_ConnectionPtr pImpConnection);
void ImportProjectToDB(_ConnectionPtr pImpConnection);
void InitialExpDmsTree(CTreeCtrl &dmsTree);
void InitialExpSptList(CListCtrl& sptList);
_ConnectionPtr CreateExpDatabase(CString szFileName);
void ExportDataToAccdbFile(_ConnectionPtr pExpConnection, CTreeCtrl& dmsTree);
_ConnectionPtr m_pConnection;
ADOX::_CatalogPtr m_pCatalog;
};
#endif // !defined(AFX_IOMANAGER_H__9C7FC04B_AD79_48E3_AF1E_8E4981D2E099__INCLUDED_)
+48
View File
@@ -0,0 +1,48 @@
#if !defined(AFX_INPUTELECTRODENUMDLG_H__05AFEA3A_4A74_47F5_BB49_A4B453F04B00__INCLUDED_)
#define AFX_INPUTELECTRODENUMDLG_H__05AFEA3A_4A74_47F5_BB49_A4B453F04B00__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// InputElectrodeNumDlg.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CInputElectrodeNumDlg dialog
class CInputElectrodeNumDlg : public CDialog
{
// Construction
public:
CInputElectrodeNumDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CInputElectrodeNumDlg)
enum { IDD = IDD_INPUT_ELECTRODE };
int m_x;
int m_y;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CInputElectrodeNumDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CInputElectrodeNumDlg)
virtual void OnOK();
virtual BOOL OnInitDialog();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_INPUTELECTRODENUMDLG_H__05AFEA3A_4A74_47F5_BB49_A4B453F04B00__INCLUDED_)
+56
View File
@@ -0,0 +1,56 @@
#if !defined(AFX_INPUTPASSWORDDIAL_H__5A423149_9C06_4E5B_98BC_572BC1A0FF4B__INCLUDED_)
#define AFX_INPUTPASSWORDDIAL_H__5A423149_9C06_4E5B_98BC_572BC1A0FF4B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// InputPasswordDial.h : header file
//
/////////////////////////////////////////////////////////////////////////////
// CInputPasswordDial dialog
class CInputPasswordDial : public CDialog
{
// Construction
public:
CInputPasswordDial(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CInputPasswordDial)
enum { IDD = IDD_DIALOG_INPUT_PASSWORD };
CString m_edPassword;
//}}AFX_DATA
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CInputPasswordDial)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
// Generated message map functions
//{{AFX_MSG(CInputPasswordDial)
virtual void OnOK();
virtual BOOL OnInitDialog();
virtual void OnCancel();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
public:
void SetGeoPassword(CString strPassword){m_strGeoPassword = strPassword;m_bIsDirectVerify = true;}
void SetGD10VerifyModel(){m_bIsDirectVerify = false;}
CString GetInputPassword(){return m_edPassword;}
protected:
bool m_bIsDirectVerify;
CString m_strGeoPassword;
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_INPUTPASSWORDDIAL_H__5A423149_9C06_4E5B_98BC_572BC1A0FF4B__INCLUDED_)
+88
View File
@@ -0,0 +1,88 @@
// Ipsp2DTd.h: interface for the CIpsp2DTd class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_IPSPTD_H__076B9A1C_C9D6_4C17_A37F_231BE85A5E11__INCLUDED_)
#define AFX_IPSPTD_H__076B9A1C_C9D6_4C17_A37F_231BE85A5E11__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "TestingData.h"
#include "SaveInIP.h"
class COpExec2DRSPTestSetDlg;
class _Worksheet;
typedef struct ST_IP2DTD_PREFIX
{
CString strTitle; //标题
CString strUnitEscape; //单元电极间距
int nArrayType; //排列类型
int nTPMount; //测量点数目
int nArrayCenterPos; //排列中心位置
int nLocalIp; //现场IP
CString strIpType; //IP数据类型
CString strIpUint; //IP单位
CString strTimeInfo; //延时和积分时间
ST_IP2DTD_PREFIX()
{
strTitle = _T("");
strUnitEscape = _T("");
nArrayType = 0;
nTPMount = 0;
nArrayCenterPos = 0;
nLocalIp = 1;
strIpType = _T("");
strIpUint = _T("");
strTimeInfo = _T("");
}
}STTP2DTdPrefix;
class CTdChannel;
class CIpsp2DTd : public CTestingData
{
public:
BOOL SaveTdConToExcelFile(_Worksheet *const pComSheet);
BOOL SaveTdHeadToExcelFile(_Worksheet* const pComSheet);
BOOL SaveTdGRToExcelFile(_Worksheet* const pComSheet);
BOOL SaveTdConToCsvFile(FILE* pFile);
BOOL SaveTdHeadToCsvFile(FILE* pFile);
BOOL SaveTdGRToCsvFile(FILE* pFile);
CIpsp2DTd(DWORD dwID, _ConnectionPtr& pConnection);
virtual ~CIpsp2DTd();
BOOL SaveData(); //保存数据
BOOL LoadData(CLinkList<CMedium*>& m_medLinkList); //加载数据(m_medLinkList---in:装置列表)
BOOL ShowTimeWindow(CListCtrl &tdConList, int iTsn);
bool ShowGrList(CListCtrl &tdGrList); //显示接地电阻列表(tdGrList---in:接地电阻列表)
bool ShowConList(CListCtrl &tdConList); //显示数据内容列表(tdConList---in:数据内容列表)
bool ShowDetailInfo(CListCtrl &tdDetailList); //显示数据详情列表(tdDetailList---in:数据详情列表)
BOOL SaveTdToExcelFile(CString f_szFileName); //保存测试数据到Excel文件
BOOL SaveTdToCsvFile(CString f_szFileName); //保存测试数据到Csv文件
BOOL DisplayGraph(); //显示图像
BOOL DisplayTPSplinesGraph(int iTSN); //显示测点曲线图(iTSN---in:测点编号)
bool ExportIP2DDataToDat(CString strFile);
int GetFitEquationInfo(int nTSN, double nPeriod);
BOOL ExportIPDataToTxt(CString strFileName);
BOOL Export2dDataToTxtBySort(CString strFileName, int iSortMethod);
BOOL SaveTdConToExcelFileBySort(_Worksheet *const pComSheet, int iSortMethod);
BOOL SaveTdConToCsvFileBySort(FILE* pFile, int iSortMethod);
CPtrArray m_tdGrArray;
// BOOL ExportIP2DDataToDat(CString strFile);
// // BOOL WriteTDHeadToDatFile();;
protected:
CString m_strTitle;
DWORD m_dwChID;
CSaveInIP m_opSaveInIP;
private:
};
#endif // !defined(AFX_IPSPTD_H__076B9A1C_C9D6_4C17_A37F_231BE85A5E11__INCLUDED_)
+37
View File
@@ -0,0 +1,37 @@
// Ipsp2DTdRecord.h: interface for the CIpsp2DTdRecord class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_IPSP2DTDRECORD_H__BC778DA9_4211_49C9_9000_99153589BC11__INCLUDED_)
#define AFX_IPSP2DTDRECORD_H__BC778DA9_4211_49C9_9000_99153589BC11__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "TdRecord.h"
class CIpsp2DTdRecord : public CTdRecord
{
public:
BOOL SaveData(DWORD dwChID); //保存数据(dwChID---in:通道编号)
BOOL LoadOrgData(); //加载原始数据
void ClearAll(); //清空所有
CIpsp2DTdRecord(DWORD dwChID, _ConnectionPtr& pConnection);
virtual ~CIpsp2DTdRecord();
int m_iC1;
int m_iC2;
int m_iP1;
int m_iP2;
int m_iLevel;
int m_iPosInLevel;
COLORREF m_colorREF;
CRect m_recPtArea;
};
#endif // !defined(AFX_IPSP2DTDRECORD_H__BC778DA9_4211_49C9_9000_99153589BC11__INCLUDED_)

Some files were not shown because too many files have changed in this diff Show More