📄 calinit.cpp
字号:
// CalInit.cpp : implementation file
//
#include "stdafx.h"
#include "CALIBRATE.h"
#include "CalInit.h"
#include "InstrumentInit.h"
#include "Afxdlgs.h"
#include "OpenSer.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
extern BOOL flag ;
/////////////////////////////////////////////////////////////////////////////
// CCalInit dialog
CString m_pSerPath; //服务表路径
CString m_pSerName; //服务表名
TableOperation m_pTableOperation; //全局变量声明
CCalInit * m_pCalInit; // 全局变量声明
CCalInit::CCalInit(CWnd* pParent /*=NULL*/)
: CDialog(CCalInit::IDD, pParent)
{
//{{AFX_DATA_INIT(CCalInit)
m_pInsNo = 0;
m_pSerPath = _T("");
m_pInsName = _T("");
//}}AFX_DATA_INIT
}
void CCalInit::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CCalInit)
DDX_Control(pDX, IDOK, m_pOk);
DDX_Control(pDX, IDC_SPIN1, m_pNo);
DDX_Control(pDX, IDC_SEL_INS, m_pSelIns);
DDX_Text(pDX, IDC_INS_NO, m_pInsNo);
DDX_CBString(pDX, IDC_SEL_INS, m_pInsName);
DDX_Text(pDX, IDC_SER_PATH, m_pSerPath);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CCalInit, CDialog)
//{{AFX_MSG_MAP(CCalInit)
ON_BN_CLICKED(IDC_SEL_SER, OnSelSer)
ON_BN_CLICKED(IDC_INS_INIT, OnInsInit)
ON_BN_CLICKED(IDC_CANCEL, OnCancel)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CCalInit message handlers
BOOL CCalInit::OnInitDialog()
{
CDialog::OnInitDialog();
// UpdateDialogControls( IDC_INS_INIT, false );
//m_pOk.Enable(false);
m_pNo.SetRange(0, 9999);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CCalInit::OnSelSer() //选择服务表
{
// CFileDialog dlg( TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, NULL, NULL );
//创建CFileDialog对象
UpdateData(true); //很关键:保存编辑好的变量
// AfxMessageBox(m_pInsName);
CFileDialog ReadFileDlg(1,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"测井服务表(*.*)|*.*|");
if ( ReadFileDlg.DoModal() == IDOK)
{
m_pSerPath = ReadFileDlg.GetPathName(); //选择文件的路径
m_pSerName = ReadFileDlg.GetFileName(); //获取服务表文件名
}
UpdateData(false);
//SetDefID( IDC_INS_INIT );
}
void CCalInit::OnOK()
{
CDialog::OnOK();
flag = TRUE ;
}
void CCalInit::OnInsInit()
{
if((m_pSelIns.GetCurSel()==CB_ERR)||(m_pSerPath==""))
MessageBox("请选择要刻度的仪器和当前刻度所需的服务表", NULL, MB_ICONEXCLAMATION );
else
{
m_pTableOperation.OnTableRead(m_pSerPath); //打开服务表
int flag = 0; //标志服务表中是否有所选定的仪器
for(int i = 0;i<10;i++)
{
char *InsName = m_pTableOperation.TNAME[i].toolname;
//用法很新颖(字符数组给字符指针赋值)
//查看服务表中包含的仪器
if (InsName == m_pInsName)
{
flag = 1;
break;
}
}
if(flag!=1)
{
MessageBox("当前选择的服务表不包含所要刻度的仪器", NULL, MB_ICONEXCLAMATION );
return;
}
// Enable()
// m_pOk.SetState( true );
// m_pOk.SetCheck( 1 );
m_pOk.EnableWindow(true);
// flag = true;
CInstrumentInit dlg;
dlg.DoModal();
}
}
void CCalInit::OnCancel()
{
CDialog::OnCancel();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -