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 + -
显示快捷键?