📄 tcp2serialdlg.h
字号:
// Tcp2SerialDlg.h : header file
//
#if !defined(AFX_TCP2SERIALDLG_H__7C5B1753_08E0_4839_B309_C427DD57CE92__INCLUDED_)
#define AFX_TCP2SERIALDLG_H__7C5B1753_08E0_4839_B309_C427DD57CE92__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CTcp2SerialDlg dialog
#define DT1_REAL_VALUE 0x00000001
#define DT1_TODAY_DATA_1 0x00000002
#define DT1_TODAY_DATA_2 0x00000004
#define DT1_TOMONTH_DATA_1 0x00000008
#define DT1_TOMONTH_DATA_2 0x00000010
#define DT1_TOSEASON_DATA_1 0x00000020
#define DT1_TOSEASON_DATA_2 0x00000040
#define DT1_LASTDAY_DATA_1 0x00000002
#define DT1_LASTDAY_DATA_2 0x00000004
#define DT1_LASTMONTH_DATA_1 0x00000008
#define DT1_LASTMONTH_DATA_2 0x00000010
#define DT1_LASTSEASON_DATA_1 0x00000020
#define DT1_LASTSEASON_DATA_2 0x00000040
#pragma pack(1)
typedef struct
{
int tcpport;
int comport;
DWORD baudrate;
BYTE bytesize;
BYTE stopbit;
BYTE parity;
BOOL isClient;
BOOL isLogin;
CString serverIp;
CString logFilename;
} struInfo;
typedef struct
{
BYTE buffer[512];
DWORD len;
} struCOMData;
typedef struct
{
DWORD cmd;
DWORD needlen;
} struDT1Info;
typedef struct
{
BYTE year;
BYTE month;
BYTE day;
BYTE hour;
BYTE minute;
BYTE second;
} struDT1Time;
typedef struct
{
float average;
float max;
float min;
DWORD time;
struDT1Time maxtime;
struDT1Time mintime;
float passvalue;
float upvalue;
float downvalue;
DWORD passtime;
DWORD uptime;
DWORD downtime;
} struDT1Data;
typedef struct
{
BYTE head[2];
BYTE cmd;
BYTE len;
struDT1Data dt1data;
BYTE sumcheck;
BYTE enddata;
} struNetWorkData;
typedef struct
{
BYTE head[2];
BYTE cmd;
BYTE len;
float realvalue;
BYTE sum;
BYTE end;
} strtemp;
#pragma pack()
#include "TCPSocket.h"
class CTcp2SerialDlg : public CDialog
{
// Construction
public:
CTcp2SerialDlg(CWnd* pParent = NULL); // standard constructor
void OnAccecp();
void OnClose();
void OnReceive();
void OnSend(){};
void OnConnect();
// Dialog Data
//{{AFX_DATA(CTcp2SerialDlg)
enum { IDD = IDD_TCP2SERIAL_DIALOG };
CRichEditEx m_msg;
CListCtrl m_list;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CTcp2SerialDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
void OnStart( BOOL isServer = TRUE );
BOOL OnProcessSerialComData( BYTE* pBuf, int len );
BOOL OnProcessNetWorkComData( BYTE* pBuf, int len );
void OnWriteToNetWork();
void OnWriteToSerial();
struDT1Time BCD2Hex( BYTE* buffer, int count = 0 )
{
struDT1Time time;
time.second = (buffer[0]>>4)*10+(buffer[0]&0x0f);
time.minute = (buffer[1]>>4)*10+(buffer[1]&0x0f);
time.hour = (buffer[2]>>4)*10+(buffer[2]&0x0f);
time.day = (buffer[3]>>4)*10+(buffer[3]&0x0f);
time.month = (buffer[4]>>4)*10+(buffer[4]&0x0f);
time.year = (buffer[5]>>4)*10+(buffer[5]&0x0f);
return time;
}
BYTE GetSumCheck8( BYTE* buffer, int len )
{
BYTE result = 0;
for ( int i = 0; i < len; i++ )
{
result += buffer[i];
}
return result;
}
HICON m_hIcon;
DWORD m_nCount;
struDT1Info m_dt1info;
struDT1Data m_dt1data;
float m_realValue;
struInfo info;
struCOMData m_SerialData;
struCOMData m_NetWorkData;
struNetWorkData m_SendNetData;
CSerialCom m_com;
CTCPSocket m_tcp;
CTCPSocket m_tcpClient;
DWORD m_sendflag;
DWORD m_sendNetWorkLen;
DWORD m_sendNetWorkCmd;
// Generated message map functions
//{{AFX_MSG(CTcp2SerialDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnTimer(UINT nIDEvent);
//}}AFX_MSG
afx_msg void OnCommNotify( WPARAM wParam, LPARAM lParam );
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_TCP2SERIALDLG_H__7C5B1753_08E0_4839_B309_C427DD57CE92__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -