daiv.cpp

来自「基于UG平台」· C++ 代码 · 共 253 行

CPP
253
字号
// daiv.cpp : implementation file
//

#include "stdafx.h"
#include "Code.h"
#include "daiv.h"
#include "dai3.h"
#include "dai2.h"
#include "xuanxing1.h"
#include "atlconv.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// Cdaiv dialog


Cdaiv::Cdaiv(CWnd* pParent /*=NULL*/)
	: CDialog(Cdaiv::IDD, pParent)
{
	//{{AFX_DATA_INIT(Cdaiv)
	m_jisuangonglu = 0.0;
	m_vdaixing = _T("");
	m_chuandongbi = 0.0;
	m_xzhuansu = 0.0;
	m_dzhijing = 0.0;
	m_minzhongxin = 0.0;
	m_zhongxin = 0.0;
	m_daijizhun = 0.0;
	m_maxzhongxin = 0.0;
	//}}AFX_DATA_INIT
}


void Cdaiv::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(Cdaiv)
	DDX_Control(pDX, IDC_LIST1, m_listctrl);
	DDX_Control(pDX, IDC_COMBO2, m_xdaizhijing);
	DDX_Control(pDX, IDC_COMBO1, m_daijizhunzhijing);
	DDX_Text(pDX, IDC_EDIT1, m_jisuangonglu);
	DDX_Text(pDX, IDC_EDIT10, m_vdaixing);
	DDX_Text(pDX, IDC_EDIT11, m_chuandongbi);
	DDX_Text(pDX, IDC_EDIT2, m_xzhuansu);
	DDX_Text(pDX, IDC_EDIT5, m_dzhijing);
	DDX_Text(pDX, IDC_EDIT6, m_minzhongxin);
	DDX_Text(pDX, IDC_EDIT7, m_zhongxin);
	DDX_Text(pDX, IDC_EDIT9, m_daijizhun);
	DDX_Text(pDX, IDC_EDIT8, m_maxzhongxin);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(Cdaiv, CDialog)
	//{{AFX_MSG_MAP(Cdaiv)
	ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
	ON_BN_CLICKED(IDC_BUTTON5, OnPreBtn)
	ON_BN_CLICKED(IDC_BUTTON4, OnOnHelpBtn)
	ON_BN_CLICKED(IDOK, OnNextbtn)
	ON_BN_CLICKED(IDC_BUTTON1, Onxuanxing)
	ON_BN_CLICKED(IDC_BUTTON2, Onqueding)
	ON_BN_CLICKED(IDC_BUTTON3, Onjisuandaichangdu)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// Cdaiv message handlers

BOOL Cdaiv::OnInitDialog() 
{
	CDialog::OnInitDialog();	

    m_listctrl.InsertColumn(0,_T("型号"),LVCFMT_LEFT,50);  
	m_listctrl.InsertItem(0,_T("SPZ"));
	m_listctrl.InsertItem(1,_T("SPA"));
	m_listctrl.InsertItem(2,_T("SPB"));
	m_listctrl.InsertItem(3,_T("SPC"));

	CString  jizhunchangdu;
	double chuandonggonglv,gongkuangxishu,gongkuangzhi;
	m_preDlg->UpdateData(TRUE);
    chuandonggonglv=m_preDlg->m_gonglu;
	gongkuangxishu=m_preDlg->m_gongkuangxishu;
	m_xzhuansu=m_preDlg->m_xzhuansu;
	gongkuangzhi=m_preDlg->m_gongkuangxishuzhi;
	m_chuandongbi=m_preDlg->m_chuandongbi;
    m_jisuangonglu=chuandonggonglv*gongkuangxishu*gongkuangzhi;

    UpdateData(false);	
	
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

void Cdaiv::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) 
{
	CString xinghao1,Dd1,D,xinghao2,jizhunchangdu;
	for(int i=0;i<m_listctrl.GetItemCount();i++)
	{
		if(m_listctrl.GetItemState(i,LVIS_SELECTED)==LVIS_SELECTED)
		{
            D=m_listctrl.GetItemText(i,0);	
		}
	}


		try{	
		m_ADODatabase.SetConnectionString(_T("Provider=SQLOLEDB.1;Password=00;User ID=david;Initial Catalog=chuandong;Data Source=acer"));
		m_ADODatabase.Open();
		BOOL b = m_ADODatabase.IsOpen(); 


   	    this->m_ADORecordset.Open(this->m_ADODatabase.GetActiveConnection(), _T("select * from Vdailun"));

		while(!this->m_ADORecordset.IsEof())
		{
			this->m_ADORecordset.GetFieldValue("xinghao", xinghao1);
			if(D ==  xinghao1)
			{
		    	this->m_ADORecordset.GetFieldValue("Dd", Dd1);
                m_xdaizhijing.AddString(Dd1);
				m_xdaizhijing.SetCurSel(0);
			}
			this->m_ADORecordset.MoveNext();
		} 
			m_ADORecordset.Close();

			this->m_ADORecordset.Open(this->m_ADODatabase.GetActiveConnection(), _T("select * from Vdai"));
		while(!this->m_ADORecordset.IsEof())
		{
			this->m_ADORecordset.GetFieldValue("xinghao", xinghao2);
			if(D ==  xinghao2)
			{
		    	this->m_ADORecordset.GetFieldValue("jizhunchangdu", jizhunchangdu);
                m_daijizhunzhijing.AddString(jizhunchangdu);
				m_daijizhunzhijing.SetCurSel(0);
			}
			this->m_ADORecordset.MoveNext();
		} 

			m_ADORecordset.Close();


			}
		catch (_com_error e)
		{
		AfxMessageBox(CString(e.ErrorMessage()));
		}
	for(int m=0;m<m_listctrl.GetItemCount();m++)
	{
       if(m_listctrl.GetItemState(m,LVIS_SELECTED)==LVIS_SELECTED)
	   {
	      m_vdaixing=m_listctrl.GetItemText(m,0);
          
	   }
	}
	UpdateData(false);

	*pResult = 0;
}


void Cdaiv::OnPreBtn() 
{
	CDialog::OnCancel();
	m_preDlg->ShowWindow(SW_SHOW);	
	
}

void Cdaiv::OnOnHelpBtn() 
{
	AfxMessageBox(_T("请与合肥数字化设计中心联系!"));
	
}

void Cdaiv::OnCancel() 
{
	if (m_preDlg) m_preDlg->Quit();	
	
	CDialog::OnCancel();
}

void Cdaiv::Quit() 
{
	CDialog::OnOK();
	if (m_preDlg) m_preDlg->Quit();
}


void Cdaiv::OnNextbtn() 
{
	this->ShowWindow(SW_HIDE);
    m_nextDlg.m_preDlg = this;
    UpdateData(true); 	
    m_nextDlg.DoModal(); 
	
}

void Cdaiv::Onxuanxing() 
{
	Cxuanxing1 dlg;
	dlg.DoModal();
	return;	
}


void Cdaiv::Onqueding() 
{

	CString xdaizhijing;
	double xdaizhijing1,chuandongbi,ddaizhijing;
   	m_preDlg->UpdateData(TRUE);
    chuandongbi=m_preDlg->m_chuandongbi;
	this->m_xdaizhijing.GetWindowText(xdaizhijing);
	xdaizhijing1=strtodouble(xdaizhijing);
    ddaizhijing=xdaizhijing1*chuandongbi;
    m_dzhijing=ddaizhijing;
	m_minzhongxin=0.7*(xdaizhijing1+m_dzhijing);
    m_maxzhongxin=2*(xdaizhijing1+m_dzhijing);
    UpdateData(false);
	
}

double Cdaiv::strtodouble(CString pp1)
{
		double xpp;
		char   *pszTemp=pp1.GetBuffer(0);
		int   nLength   =   strlen(pszTemp);  
		char   *xp   =   new   char[nLength   +   1]; 
		strcpy(xp,   pszTemp);  
		xp[nLength]   =   '\0';
		xpp=atof(xp);
		return xpp;
}

void Cdaiv::Onjisuandaichangdu() 
{
	UpdateData(true);
	CString xdaizhijing;
	double xdaizhijing1;
	this->m_xdaizhijing.GetWindowText(xdaizhijing);
	xdaizhijing1=strtodouble(xdaizhijing);
    m_daijizhun=2*m_zhongxin+3.14159265359*(xdaizhijing1+m_dzhijing)/2+(m_dzhijing-xdaizhijing1)*(m_dzhijing-xdaizhijing1)/(4.0*m_zhongxin);
	UpdateData(false);
		
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?