QuakeGod
2024-12-24 61deef5cdf96cbfdd6ad45be49e80d597c00ca65
提交 | 用户 | age
0ed438 1 
418cb3 2 // MultiTerminal2.h: MultiTerminal2 应用程序的主头文件
0ed438 3 //
Q 4 #pragma once
5
6 #ifndef __AFXWIN_H__
7     #error "include 'pch.h' before including this file for PCH"
8 #endif
9
10 #include "resource.h"       // 主符号
11
12 #include "../mylib/LOGGER/Logger.hpp"
13 #include "../MyLib/MHashINI/MHash.hpp"
418cb3 14
61deef 15 #include "KDefine.h"
Q 16 //#include "KLink.h"
17 #include "KMachine.h"
18
19 #include "../KLink1/KLink.h"
20 #pragma comment(lib,"KLink1.lib")
21
0ed438 22 void Trans_Tunc(unsigned int, EXCEPTION_POINTERS*);
Q 23 #define CHECKE(func) try {func;} catch(SE_Exception &e) {DisplayException(_T(__FILE__),__LINE__,_T(__FUNCTION__),_T(#func),e);} catch (CException * e) {DisplayException(_T(__FILE__),__LINE__,_T(__FUNCTION__),_T(#func),e);} catch (...){DisplayException(_T(__FILE__),__LINE__,_T(__FUNCTION__),_T(#func));}
24 class SE_Exception
25 {
26 private:
27     SE_Exception() {}
28     unsigned int nSE;
29     PVOID Addr;
30     CString InfoStr;
31 public:
32     SE_Exception(SE_Exception& e) : nSE(e.nSE) {}
33     SE_Exception(unsigned int n) :nSE(n) {}
34     SE_Exception(unsigned int n, PVOID a) :nSE(n), Addr(a) {}
35     SE_Exception(unsigned int n, PVOID a, CString &str1) :nSE(n), Addr(a), InfoStr(str1) {}
36
37     ~SE_Exception() {}
38     unsigned int getSeNumber() { return nSE; }
39     PVOID getAddress() { return Addr; }
40     CString & getInfoStr() { return InfoStr; }
41 };
42 int DisplayException(CString File, int Line, CString Func, CString Sentence, SE_Exception &e);
43 int DisplayException(CString File, int Line, CString Func, CString Sentence, CException *e);
44 int DisplayException(CString File, int Line, CString Func, CString Sentence);
45
46 int SaveMyConfig();
47 int LoadMyConfig();
48
418cb3 49 int SysLog(CString s, int channel = 0); 
Q 50 int DbgLog(CString s, int channel = 0);
51
0ed438 52 int PopupMessage(CString s, int channel = 0);
Q 53 void DoEvents();
54
55 extern MHash MyCfg1;
418cb3 56 extern Logger myLogger1;
Q 57
0ed438 58
Q 59 // CMTerm1App:
418cb3 60 // 有关此类的实现,请参阅 MultiTerminal2.cpp
0ed438 61 //
Q 62
63 class CMTerm1App : public CWinAppEx
64 {
65 public:
66     CMTerm1App() noexcept;
418cb3 67     CMultiDocTemplate* pDocTemplate;
Q 68
69     CMultiDocTemplate * m_pLdsViewTemplate;
70     CMultiDocTemplate * m_pBldViewTemplate;
71     CMultiDocTemplate * m_pBnlViewTemplate;
72     CMultiDocTemplate * m_pCtrlViewTemplate;
73     CMultiDocTemplate * m_pProgViewTemplate;
74
75     CMultiDocTemplate * m_pCoilViewTemplate;
76     CMultiDocTemplate * m_pDataViewTemplate;
77
78     CMultiDocTemplate * m_pCommDevViewTemplate;
79
80     
81     CMultiDocTemplate * m_pNewDocTemplate;
0ed438 82
Q 83
84 // 重写
85 public:
86     virtual BOOL InitInstance();
87     virtual int ExitInstance();
88
89 // 实现
418cb3 90     bool m_bHiColorIcons;
0ed438 91
61deef 92     KMachine myKMachine1;
Q 93     KLink1 MyKLink1;
94
95     union {
96         unsigned char KBDD[2048];
97         unsigned short KBDT[1024];
98         unsigned char KBDB[2048];
99     };
100
101     union {
102         unsigned char KWLD[2048];
103         unsigned short KWLT[1024];
104         unsigned char KWLB[2048];
105     };
106
107
108     bool m_bCommParamSet = false;
109     int nComPort;
110     int nBaud;
111     CStringA ComSettings;
112     bool m_bOnline = false;
113     bool m_bSimulate = false;
114     bool m_bPlcRunning = false;
115
116
117
118
0ed438 119     afx_msg void OnAppAbout();
Q 120     DECLARE_MESSAGE_MAP()
418cb3 121     afx_msg void OnFileNew();
Q 122     afx_msg void OnComunicationSet();
123     afx_msg void OnEnvSet();
0ed438 124 };
Q 125
126 extern CMTerm1App theApp;
127
418cb3 128 //class CAnsiParser;
Q 129 //class CDataParser1;
130 //class KLink;
131 //class CSerialCom;
132 //class HvSerialPort;
0ed438 133
418cb3 134 //extern CAnsiParser MyAnsiParser1;
Q 135 //extern CDataParser1 MyDataParser1;
136 //extern KLink MyKLink1;
0ed438 137 // extern CSerialCom MySerialCom1;
418cb3 138 //extern HvSerialPort myHvSerialPort1;
0ed438 139
Q 140
6ff05a 141 CString  intToString(int num,int digit=0);
Q 142 CString fixToString(int num, int digit = 0, int fracdigit = 0);
0ed438 143 CString & intToBinString(int num, int digits = 8);
Q 144
145 int get_com_name(CString comx, CString &namebuf);
418cb3 146
61deef 147 CString DeviceTypeToStr(int DeviceTypeVer);
Q 148