📄 instrumentinit.cpp
字号:
// InstrumentInit.cpp : implementation file
//
#include "stdafx.h"
#include "CALIBRATE.h"
#include "InstrumentInit.h"
#include "Dll.h"
#include "CalInit.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CInstrumentInit dialog
extern CString m_pSerPath; //服务表的路径
extern CString m_pSerName; //服务表名
extern CCalInit * m_pCalInit;
extern CString YqName ;
extern int YqNo;
extern TableOperation m_pTableOperation; //服务表对象
int m_pSample; //采样率
float EnginHigh[4];
float EnginLow[4]; //存放工程值的数组
CInstrumentInit::CInstrumentInit(CWnd* pParent /*=NULL*/)
: CDialog(CInstrumentInit::IDD, pParent)
{
//{{AFX_DATA_INIT(CInstrumentInit)
m_pOper = _T("");
m_pSample = 0;
m_pTeam = _T("");
m_pMName = _T("");
m_pMMin = _T("");
m_pMMax = _T("");
m_pMU = _T("");
m_EHigh = _T("");
m_ELow = _T("");
m_EName = _T("");
m_EU = _T("");
//}}AFX_DATA_INIT
}
void CInstrumentInit::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CInstrumentInit)
DDX_Control(pDX, IDC_ENG_U, m_EngU);
DDX_Control(pDX, IDC_ENG_NAME, m_EngName);
DDX_Control(pDX, IDC_ENG_LOW, m_EngLow);
DDX_Control(pDX, IDC_ENG_HIGH, m_EngHigh);
DDX_Control(pDX, IDC_YQ_NO, m_pYqNo);
DDX_Control(pDX, IDC_SER, m_pSer);
DDX_Control(pDX, IDC_MEA_MAX, m_pMeaMax);
DDX_Control(pDX, IDC_MEA_U, m_pMeaU);
DDX_Control(pDX, IDC_MEA_NAME, m_pMeaName);
DDX_Control(pDX, IDC_MEA_MIN, m_pMeaMin);
DDX_Control(pDX, IDC_YQ_NAME, m_pYqName);
DDX_Text(pDX, IDC_OPER, m_pOper);
DDX_Text(pDX, IDC_SAMPLE, m_pSample);
DDX_Text(pDX, IDC_TEAM, m_pTeam);
DDX_Text(pDX, IDC_MEA_NAME, m_pMName);
DDX_Text(pDX, IDC_MEA_MIN, m_pMMin);
DDX_Text(pDX, IDC_MEA_MAX, m_pMMax);
DDX_Text(pDX, IDC_MEA_U, m_pMU);
DDX_Text(pDX, IDC_ENG_HIGH, m_EHigh);
DDX_Text(pDX, IDC_ENG_LOW, m_ELow);
DDX_Text(pDX, IDC_ENG_NAME, m_EName);
DDX_Text(pDX, IDC_ENG_U, m_EU);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CInstrumentInit, CDialog)
//{{AFX_MSG_MAP(CInstrumentInit)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CInstrumentInit message handlers
BOOL CInstrumentInit::OnInitDialog()
{
CDialog::OnInitDialog();
CString str ;
m_pYqName.SetWindowText(m_pCalInit->m_pInsName); //显示仪器名
str.Format("%d",m_pCalInit->m_pInsNo);
m_pYqNo.SetWindowText(str); //显示仪器号
m_pSer.SetWindowText(m_pSerName); //显示服务表名
// m_pTableOperation定义为全局变量
if( m_pTableOperation.samrate==54)
m_pSample = 10;
else if( m_pTableOperation.samrate==52)
m_pSample = 40;
else if ( m_pTableOperation.samrate==49)
m_pSample = 320;
// m_pSample = m_pTableOperation.samrate; //采样率初始化
InitDisplay(); //显示服务表中定义的仪器的相关信息
return TRUE;
}
BOOL CInstrumentInit::InitDisplay()
{
CString str ,str1,str2,str3,str4,str5,str6,str7,str8;
YqName = m_pCalInit->m_pInsName;
YqNo = m_pCalInit->m_pInsNo;;
if (m_pCalInit->m_pInsName=="DLL3")
{
CDll dll;
str1="";
str2="";
str3="";
str4="";
str5="";
str6="";
str7="";
str8="";
for(int i=0;i<4;i++) //四条曲线:ES IS ED ID
{
int flag = 0;
str1+=dll.Measure[i].curve;
str4+=dll.Measure[i].Unit;
for(int j=0;j<32;j++) //在服务表中寻找相应的曲线信息
{
str="";
for(int k=0;k<5;k++) //对服务表中的曲线名进行分析
{
if (m_pTableOperation.MCTBL[j].crvnam[k]!=32)
str+=m_pTableOperation.MCTBL[j].crvnam[k];
}
//char *CurveName = str;
if(dll.Measure[i].curve==str)
{
str.Format("%2f",m_pTableOperation.MCTBL[j].LOW);
str2+=str;
str.Format("%2f",m_pTableOperation.MCTBL[j].HIGH);
str3+=str;
// str4+=m_pTableOperation.MCTBL[j].CRTMIN;
flag = 1;
break;
}
else continue;
}
if(flag!=1)
{
MessageBox("服务表出错", NULL, MB_ICONEXCLAMATION );
return FALSE;
}
str1+="\r\n";
str2+="\r\n";
str3+="\r\n";
str4+="\r\n";
}
for(i =0;i<2;i++) //2条曲线:RS RD
{
int flg = 0;
str5+=dll.Engineer[i].engineer;
str8+=dll.Engineer[i].Unit;
for(int j=0;j<32;j++) //在服务表中寻找相应的曲线信息
{
str="";
for(int k=0;k<5;k++) //对服务表中的曲线名进行分析
{
if (m_pTableOperation.MCTBL[j].crvnam[k]!=32)
str+=m_pTableOperation.MCTBL[j].crvnam[k];
}
//char *CurveName = str;
if(dll.Engineer[i].engineer==str)
{
str.Format("%2f",m_pTableOperation.MCTBL[j].LOW);
str6+=str;
str.Format("%2f",m_pTableOperation.MCTBL[j].HIGH);
str7+=str;
flg = 1;
break;
}
else continue;
}
str5+="\r\n";
str6+="\r\n";
str7+="\r\n";
str8+="\r\n";
}
m_pMName = str1;
m_pMMin = str2;
m_pMMax= str3;
m_pMU= str4;
m_EName = str5;
m_ELow = str6;
m_EHigh = str7;
m_EU = str8;
}
UpdateData(false);
return TRUE;
}
void CInstrumentInit::OnOK() //保存信息
{
UpdateData(true);
for(int i=0;i<4;i++) //保存工程值的设定
{
m_EngLow.GetLine( i, low[i] ) ;
EnginLow[i] = atof(low[i]); //字符串数组转换成浮点数
m_EngHigh.GetLine( i, hi[i] );
EnginHigh[i]=atof (hi[i]);
}
CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -