⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calinit.cpp

📁 测井软件刻度的框价程序,对测井软件的开发有价值.
💻 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 + -