?? glovar.h
字號:
#ifndef GLOVAR_ZDP
#define GLOVAR_ZDP
#include "stdafx.h"
// ListCtrl 常量
#define COLUMN_NUMBER 4 // 列總數
#define COLUMN_CDNAME 0 // 列 "測點名稱" 索引
#define COLUMN_CSNAME 1 // 列 "參數名稱" 索引
#define COLUMN_DATA 2 // 列 "數據值" 索引
#define COLUMN_DWMC 3 // 列 "單位" 索引
#define COLUMN_WARN 4 // 列 "警告" 索引
#define READ_NO 1 // 消息未讀
#define READ_YES 2 // 消息已讀
extern CString SYS_PATH;
extern int GlastLine;
#define DMPcomERR(e) dmpCOMerr(e,__LINE__,__FILE__);
extern void dmpCOMerr( _com_error &e, int line, char *file, bool traceOnly=false );
inline void TESTHR(HRESULT x) {if FAILED(x) _com_issue_error(x);};
#define TRYTESTHR(x) try{TESTHR(x);}catch(_com_error &e){DMPcomERR(e);}
#define TRYCOME(x) try{x;}catch(_com_error &e){DMPcomERR(e);}
#define rsstr(R,X) (R->EoF?CString(""):(R->Fields->Item[_variant_t(X)]->Value.vt == VT_NULL ? CString(""):CString((char *)(_bstr_t)(R->Fields->Item[_variant_t(X)]->Value))))
#define rsi2(R,X) (R->EoF?0:(R->Fields->Item[_variant_t(X)]->Value.vt == VT_NULL ? 0:(short)(R->Fields->Item[_variant_t(X)]->Value)))
#define rsi4(R,X) (R->EoF?0:(R->Fields->Item[_variant_t(X)]->Value.vt == VT_NULL ? 0:(long)(R->Fields->Item[_variant_t(X)]->Value)))
#define rsif(R,X) (R->EoF?0:(R->Fields->Item[_variant_t(X)]->Value.vt == VT_NULL ? 0:(float)(R->Fields->Item[_variant_t(X)]->Value)))
#define rstime(R,X) (R->EoF?0:(R->Fields->Item[_variant_t(X)]->Value.vt == VT_NULL ? 0:(DATE)(R->Fields->Item[_variant_t(X)]->Value)))
#define TRIM(X) {X.TrimLeft();X.TrimRight();}
extern const TCHAR gcszWindowName[];
extern const TCHAR gcszWindowClass[];
extern BOOL m_bShutDown; // 本次退出是否因為系統 ShutDown
extern COLORREF grgbArray[16];
extern LPTSTR grgbtextArray[16];
//CStringArray split(CString str,CString delimiter)
//str:source,delimiter:切分符
CStringArray * split(CString str,CString delimiter);
CStringArray * GetLineFromFile(CString filename);
typedef struct
{
int ybid; //int 儀表ID
long ybbaud; //CString Com波特率
CString ybname; //CString 儀表名稱
CString ybtype; //CString 儀表類型
CString comport; //CString 連接COM口
CString ybaddr; //CString 儀表地址
CString AnZDD; //CString 安裝地點
}YB,NEAR * NPYB; //現場儀表分布情況
extern CTypedPtrArray < CPtrArray, NPYB > arrYB;
typedef struct
{
int cdid; //int 測點ID
CString cdname; //CString 測點名稱
int ybid; //int 儀表ID
int chanal; //int 通道號
}CD,NEAR * NPCD; //現場測點分布情況
extern CTypedPtrArray < CPtrArray, NPCD > arrCD;
typedef struct
{
int csid; //參數ID
CString ybtype; //CString 儀表類型
CString csname; //CString 參數名稱
CString csdz; //CString 參數地址
CString cstype; //CString 參數數據類型
}CS,NEAR * NPCS; //各種儀表參數名稱、地址對照表
extern CTypedPtrArray < CPtrArray, NPCS > arrCS;
typedef struct
{
int rtid; //int 信號ID
int cdid; //int 測點ID
int csid; //int 參數ID
CString dw; //CString 信號單位
bool eanble; //bool 是否啟用
bool warn_enble; //bool 是否啟用報警
double warn_low; //double 報警下限
double warn_hi; //double 報警上限
double range_low; //double 量程下限
double range_hi; //double 量程上限
bool warn;
int saving_cycle; //int 保存周期 0:不保存 1:一分鐘 2:五分鐘 3:十五分鐘 4:一小時 5:六小時 6:十二小時 7:二十四小時
float hisory[200]; //過去200秒數據
long hendp; //當前數據頭
bool view; //是否顯示曲線
}RT,NEAR *NPRT; //數據實時采集配置表
extern CTypedPtrArray < CPtrArray, NPRT > arrRT;
void deleteyb();
void deletecd();
void deletecs();
void deletert();
void readyb();
void readcd();
void readcs();
void readrt();
void writeyb();
void writecd();
void writecs();
void writert();
typedef struct
{
long rtid; //信號ID
long comport; //COM口號
long ybaddr; //儀表地址
long ybtype; //儀表類型 0:XLF
long csaddr; //參數地址
long cstype; //參數類型 0:long 1:short 2:fval
char cdmc[50]; //測點名稱
long lval; //長整數值
long sval; //短整數值
double dval; //浮點值
long valuestate; //數據有效性;0:無效 1:有效 -1:超時 /數據寫入是否成功 0:還沒寫 -1:不成功 1:成功
long trytimes; //重試次數
long readwrite; //讀寫 0:讀,1:寫
long baud;
}XLFDATA;
extern XLFDATA xlfdata[100];
extern HRESULT PASCAL L_InitPara(long xx);
extern HRESULT PASCAL Init_Active(XLFDATA * xlfdata,long number);
extern HRESULT PASCAL Close_Active(long xx);
extern HRESULT PASCAL ReadWrite_Para(long readnum,long writenum);
extern long RTCount;
bool BeginRT();
bool EndRT();
extern bool canread;
#define WM_SHOWVALUE ( WM_USER + 1001 )
#define WM_INITITEM ( WM_USER + 1002 )
extern int m_autoRun;
#pragma pack(1)
typedef struct
{
char flag[2];
long tail;
long head;
COleDateTime begindate;
COleDateTime enddate;
}HISTORY_FILEHEAD;
typedef struct
{
char state;
float value;
}HISTORY_DATA,NEAR * NPHISTORY_DATA;
#pragma pack()
void WriteDataToFile(int rtid,double value,int state);
HISTORY_DATA * ReadDataFromFile(int rtid,COleDateTime &dt1,COleDateTime &dt2,int &count);
#endif
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -