📄 serialtestdlg.h
字号:
// SerialTestDlg.h : 头文件
//
#pragma once
#include "serialport.h"
#include "socketcomm.h"
/*
#include <afxcoll.h>
#include <afxsock.h>
#include <afxwin.h>
#include <afxcmn.h>
#include <afxext.h>
#include <afxtempl.h>
#include "afxwin.h"
*/
extern CMDFApp theApp;
//##ModelId=4652869D0292
typedef struct {
double iStartCarrent;
double iEndCarrent;
double iStartSampe;
double iEndSampe;
int iRate;
double dPer;
} CSample ;
//##ModelId=4652869D02AF
typedef struct {
double maxCarrent;
double srCarrent;
double srRate;
double srVoltage;
double iCarrent;
double iRate;
double iVoltage;
int iLevel;
CTime tmStartTime;
CTime tmEndTime;
double dwSeconds;
double dwVolSeconds;
int iOne;
double dBaseTime;
} CCircleStatus;
// CSerialTestDlg 对话框
class CSerialTestDlg : public CDialog
{
// 构造
public:
CSerialTestDlg(CWnd* pParent = NULL); // 标准构造函数
// 对话框数据
enum { IDD = IDD_SERIALTEST_DIALOG };
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持
// 实现
protected:
BOOL blStop;
HICON m_hIcon;
CFile fileLog;
// 生成的消息映射函数
virtual BOOL OnInitDialog();
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
DECLARE_MESSAGE_MAP()
public:
CSerialPort m_Port;
CSocketComm* sockServer;
afx_msg void OnBnClickedBtnopen();
afx_msg void OnChar(UINT nChar, UINT nRepCnt, UINT nFlags);
protected:
//{{AFX_MSG_MAP(CSerialTestDlg)
afx_msg LRESULT onCOMM_RXCHAR(WPARAM wParam, LPARAM lParam);
afx_msg LRESULT onSockReadString(WPARAM wParam, LPARAM lParam);
//}}AFX_MSG_MAP
CByteArray m_btArray;
//int iBuf;
//char lbBuf[6];
int arIni[6]; //初始电流
int iCount;
int arrCarrent[4];
public:
afx_msg void OnBnClickedBtnclose();
afx_msg void OnBnClickedBtnsend();
afx_msg void OnBnClickedBtnsock();
afx_msg void OnBnClickedBtntest();
CSocket m_socket;
BOOL blTimerOpen;
// Socket接收消息
int Writelog(CString strSource);
afx_msg void OnBnClickedOk();
afx_msg void OnClose();
afx_msg void OnDestroy();
afx_msg void OnTimer(UINT nIDEvent);
CString m_IP; //当前要发送的IP地址
int m_PortNum; //端口
afx_msg void OnBnClickedChkshow();
afx_msg void OnBnClickedCancel();
afx_msg void OnLbnSelchangeLstinfo();
afx_msg void OnLbnDblclkLstinfo();
CListBox m_listInfo;
afx_msg void OnEnChangeEdtportserver();
afx_msg void OnBnClickedBtnclear();
//afx_msg void OnBnClickedCheck1();
// 电流校验对照表
CListCtrl m_listCarrent;
int WriteData(void);
afx_msg void OnBnClickedChkauto();
afx_msg void OnEnChangeEdtrate();
CString m_rate;
CButton m_chkAutoSend;
// 询问电流电压数据
int AskData();
_ConnectionPtr m_ConPtr ;
BOOL ExecuteSQL(CString strSQL);
BOOL GetFieldValue(const CString strField, _RecordsetPtr& pRsPtr, int & iValue);
BOOL GetFieldValue(const CString strField, _RecordsetPtr& pRsPtr, double & iValue);
BOOL GetFieldValue(const CString strField, _RecordsetPtr& pRsPtr, CString & iValue);
int ReadDB(CString strSQL , _RecordsetPtr& pRsPtr,CString strTip);
BOOL IniDB(void);
int LoadItem(void);
int IniControl(void);
CTabCtrl m_tabAlarm;
CEdit m_SendInfo;
afx_msg void OnTcnSelchangeTabalarm(NMHDR *pNMHDR, LRESULT *pResult);
CListCtrl m_listAlarm;
// 装载告警记录
int LoadAlarmItem(void);
CComboBox m_listCom;
int IniSampleTable(void);
CArray< CSample ,CSample > m_arraySample ;
int DataAnalyse(char * lpBuf, int iLen);
CString ToHexString(char * cBuf, int iLen);
static UINT Asking(LPVOID lpWnd);
CWinThread *m_pThread;
BOOL blOpen;
BOOL blMonitor;
private:
// 当前模式
int m_curModel;
CCircleStatus *m_CirStatus;
int m_inCount,m_outCount;
int iInterval ;
BOOL bAsking ;
CImageList m_imgList;
CImageList m_imgList32;
CTime tmAlarm;
BOOL blOneLevel;
public:
afx_msg void OnBnClickedChkconfig();
// 当前标定电流
CEdit m_ConfigNum;
CButton m_Config;
// 存储标定记录值
BOOL WriteConfig(int iCarrent, int iSample, int iRate);
// 分析计算级别及时间
int Analyse(CCircleStatus * rscStatus);
int WriteAlarm(CCircleStatus * m_curStatus);
afx_msg void OnNMDblclkListtable(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnBnClickedBtnset();
afx_msg void OnNMRclickListtable(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnNMDblclkListalarm(NMHDR *pNMHDR, LRESULT *pResult);
CButton m_hex;
int GetRange(double iValue);
CButton m_source;
CString GetAlarmName(int iLevel);
afx_msg void OnEnChangeEdtport();
afx_msg void OnEnChangeEdtip();
// 滤除杂波
char FilterNum(char cSample);
int SetIniSample(int iValue);
// 获得曲线特征
int GetFlag(void);
// 取得警的最低间
double GetBaseAlarm(double iValue);
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -