📄 jiechupil.cpp
字号:
// jiechupil.cpp : implementation file
//
#include "stdafx.h"
#include "Code.h"
#include "jiechupil.h"
#include "wanqupilao.h"
#include "chilun2.h"
#include "atlconv.h"
#include <math.h>
#include <afxwin.h>
#include "Main.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// jiechupil dialog
jiechupil::jiechupil(CWnd* pParent /*=NULL*/)
: CDialog(jiechupil::IDD, pParent)
{
//{{AFX_DATA_INIT(jiechupil)
m_chuandongbi = 0.0;
m_chishu = 0;
m_xiaochilun = _T("");
m_dachilun = _T("");
m_anquanxishu = 1.0;
m_fenduyuan = 0.0;
m_moshu = 0.0;
m_gonglu = 0.0;
m_zhuansu = 0.0;
m_zhuanju = 0.0;
m_xqiangdu = 0.0;
m_dqiangdu = 0.0;
m_xN = 0.0;
m_dN = 0.0;
m_xshoumingxishu = 0.0;
m_dshoumingxishu = 0.0;
m_sudu = 0.0;
m_dongzai = 0.0;
m_bh = 0.0;
m_zaihexi = 0.0;
m_shiyong = 0.0;
//}}AFX_DATA_INIT
}
void jiechupil::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(jiechupil)
DDX_Control(pDX, IDC_BUTTON5, m_yinglixunhuan);
DDX_Control(pDX, IDC_BUTTON3, m_xjiechupilao);
DDX_Control(pDX, IDC_BUTTON2, m_jisuanzhuansu);
DDX_Control(pDX, IDC_COMBO2, m_chikuanxishu);
DDX_Control(pDX, IDC_COMBO1, m_zaihexishu);
DDX_Text(pDX, IDC_EDIT1, m_chuandongbi);
DDX_Text(pDX, IDC_EDIT2, m_chishu);
DDX_Text(pDX, IDC_EDIT3, m_xiaochilun);
DDX_Text(pDX, IDC_EDIT14, m_dachilun);
DDX_Text(pDX, IDC_EDIT4, m_anquanxishu);
DDX_Text(pDX, IDC_EDIT5, m_fenduyuan);
DDX_Text(pDX, IDC_EDIT6, m_moshu);
DDX_Text(pDX, IDC_EDIT15, m_gonglu);
DDX_Text(pDX, IDC_EDIT7, m_zhuansu);
DDX_Text(pDX, IDC_EDIT8, m_zhuanju);
DDX_Text(pDX, IDC_EDIT9, m_xqiangdu);
DDX_Text(pDX, IDC_EDIT10, m_dqiangdu);
DDX_Text(pDX, IDC_EDIT17, m_xN);
DDX_Text(pDX, IDC_EDIT18, m_dN);
DDX_Text(pDX, IDC_EDIT16, m_xshoumingxishu);
DDX_Text(pDX, IDC_EDIT19, m_dshoumingxishu);
DDX_Text(pDX, IDC_EDIT20, m_sudu);
DDX_Text(pDX, IDC_EDIT21, m_dongzai);
DDX_Text(pDX, IDC_EDIT22, m_bh);
DDX_Text(pDX, IDC_EDIT23, m_zaihexi);
DDX_Text(pDX, IDC_EDIT24, m_shiyong);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(jiechupil, CDialog)
//{{AFX_MSG_MAP(jiechupil)
ON_BN_CLICKED(IDC_BUTTON9, Onwanqupilao)
ON_BN_CLICKED(IDC_BUTTON6, OnPreBtn)
ON_BN_CLICKED(IDC_BUTTON2, Onxjiechupilao)
ON_BN_CLICKED(IDC_BUTTON1, Onjisuanzhuanju)
ON_BN_CLICKED(IDC_BUTTON4, Onxyinglixunhuan)
ON_BN_CLICKED(IDC_BUTTON5, Ondyinglixunhuan)
ON_BN_CLICKED(IDC_BUTTON3, Ondjiechupilao)
ON_BN_CLICKED(IDC_BUTTON7, Onxshouming)
ON_BN_CLICKED(IDC_BUTTON13, Ondshoumingxishu)
ON_BN_CLICKED(IDC_BUTTON15, Ondongzaixishu)
ON_BN_CLICKED(IDC_BUTTON14, Onyuanzousudu)
ON_BN_CLICKED(IDC_BUTTON16, Onjisuanbh)
ON_BN_CLICKED(IDC_BUTTON17, Onjisuanzaihe)
ON_BN_CLICKED(IDC_BUTTON10, OnCancel)
ON_BN_CLICKED(IDC_BUTTON19, Onhelp)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// jiechupil message handlers
void jiechupil::OnCancel()
{
if (m_preDlg) m_preDlg->Quit();
CDialog::OnCancel();
}
BOOL jiechupil::OnInitDialog()
{
CDialog::OnInitDialog();
UpdateData(true);
m_preDlg->UpdateData(TRUE);
m_xiaochilun=m_preDlg->m_xcailiao;
m_dachilun=m_preDlg->m_dcailiao;
m_chishu=m_preDlg->m_xchishu;
m_gonglu=m_preDlg->m_shurugonglu;
m_zhuansu=m_preDlg->m_xzhuansu;
m_chuandongbi=m_preDlg->m_chishubi;
CDialog::OnInitDialog();
m_zaihexishu.AddString(_T("1.2"));
m_zaihexishu.AddString(_T("1.3"));
m_zaihexishu.AddString(_T("1.4"));
m_zaihexishu.SetCurSel(0);
CString ckx;
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();
m_ADORecordset.Open(m_ADODatabase.GetActiveConnection(), _T("select * from chikuanxishu"));
while(!m_ADORecordset.IsEof())
{
m_ADORecordset.GetFieldValue("xishu", ckx);
m_chikuanxishu.AddString(ckx);
m_ADORecordset.MoveNext();
}
}
catch (_com_error e)
{
AfxMessageBox(CString(e.ErrorMessage()));
}
m_ADORecordset.Close();
m_chikuanxishu.SetCurSel(0);
UpdateData(false);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void jiechupil::OnPreBtn()
{
CDialog::OnCancel();
m_preDlg->ShowWindow(SW_SHOW);
}
void jiechupil::Quit()
{
CDialog::OnOK();
if (m_preDlg) m_preDlg->Quit();
}
void jiechupil::Onxjiechupilao()
{
UpdateData(true);
CString xcailiao;
m_preDlg->UpdateData(TRUE);
xcailiao=m_preDlg->m_xcailiao;
if(xcailiao=="灰铸铁")
{
xianshiweitu("res\\7.bmp");
}
else if(xcailiao=="球墨铸铁")
{
xianshiweitu("res\\6.bmp");
}
else
{
xianshiweitu("res\\9.bmp");
}
}
void jiechupil::Onjisuanzhuanju()
{
UpdateData(true);
double shurugonglv,xzhuansu;
m_preDlg->UpdateData(TRUE);
xzhuansu=m_preDlg->m_xzhuansu;
shurugonglv=m_preDlg->m_shurugonglu;
m_zhuanju=95.5*pow(10,5)*shurugonglv/xzhuansu;
UpdateData(false);
}
void jiechupil::Onxyinglixunhuan()
{
UpdateData(true);
double xzhuansu,shouming;
m_preDlg->UpdateData(TRUE);
xzhuansu=m_preDlg->m_xzhuansu;
shouming=m_preDlg->m_shouming;
m_xN=60*(xzhuansu)*shouming;
UpdateData(false);
}
void jiechupil::Ondyinglixunhuan()
{
UpdateData(true);
double xzhuansu,shouming,chishubi;
m_preDlg->UpdateData(TRUE);
xzhuansu=m_preDlg->m_xzhuansu;
shouming=m_preDlg->m_shouming;
chishubi=m_preDlg->m_chishubi;
m_dN=60*(xzhuansu)*shouming/chishubi;
UpdateData(false);
}
void jiechupil::Onwanqupilao()
{
this->ShowWindow(SW_HIDE);
m_nextDlg.m_preDlg1 = this;
UpdateData(true);
m_nextDlg.DoModal();
}
void jiechupil::xianshiweitu(CString pp)
{
CString m_sBitmap;
CBitmap m_bmpBitmap;
m_sBitmap=pp;
UpdateData(FALSE);
HBITMAP hBitmap=(HBITMAP)::LoadImage(AfxGetInstanceHandle(),m_sBitmap,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
if(hBitmap)
{
if (m_bmpBitmap.DeleteObject())
m_bmpBitmap.Detach();
m_bmpBitmap.Attach(hBitmap);
}
BITMAP bm;
m_bmpBitmap.GetBitmap(&bm);
CDC *dc,dcMem1;
dc = GetDlgItem(IDC_BMP)->GetDC();
dcMem1.CreateCompatibleDC(dc);
CBitmap* pOldBitmap=(CBitmap*)dcMem1.SelectObject(m_bmpBitmap);
CRect lRect;
GetDlgItem(IDC_BMP)->GetClientRect(lRect);
dc->StretchBlt(10,10,(lRect.Width()-20),(lRect.Height()-30),&dcMem1,0,0,bm.bmWidth,bm.bmHeight,SRCCOPY); //进行绘图!
}
void jiechupil::Ondjiechupilao()
{
UpdateData(true);
CString dcailiao;
m_preDlg->UpdateData(TRUE);
dcailiao=m_preDlg->m_dcailiao;
if(dcailiao=="灰铸铁")
{
xianshiweitu("res\\7.bmp");
}
else if(dcailiao=="球墨铸铁")
{
xianshiweitu("res\\6.bmp");
}
else
{
xianshiweitu("res\\9.bmp");
}
}
void jiechupil::Onxshouming()
{
xianshiweitu("res\\15.bmp");
}
void jiechupil::Ondshoumingxishu()
{
UpdateData(true);
xianshiweitu("res\\15.bmp");
}
void jiechupil::Ondongzaixishu()
{
xianshiweitu("res\\12.bmp");
}
void jiechupil::Onyuanzousudu()
{
UpdateData(true);
m_sudu=(3.1415926*jisuanfenduyuan()*(m_zhuansu))/(60*1000);
if(m_sudu==0.0)
{
AfxMessageBox(_T("圆周速度为零,请检查齿轮的材料选择是否合适!"));
}
else
{
UpdateData(false);
}
}
double jiechupil::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 jiechupil::Onjisuanbh()
{
UpdateData(true);
CString ckx;
double xchishu,ckx1,b,Mt,h;
m_preDlg->UpdateData(TRUE);
xchishu=m_preDlg->m_xchishu;
m_chikuanxishu.GetWindowText(ckx);
ckx1=strtodouble(ckx);
b=ckx1*jisuanfenduyuan();
Mt=jisuanfenduyuan()/(xchishu);
h=2.25*Mt;
m_bh=b/h;
UpdateData(false);
}
double jiechupil::jisuanfenduyuan()
{
UpdateData(true);
double shurugonglv,xzhuansu,xyingdu,dyingdu,shouming,chishubi,xchishu;
CString xcailiao,dcailiao,jindu;
m_preDlg->UpdateData(TRUE);
xzhuansu=m_preDlg->m_xzhuansu;
shurugonglv=m_preDlg->m_shurugonglu;
xcailiao=m_preDlg->m_xcailiao;
dcailiao=m_preDlg->m_dcailiao;
xyingdu=m_preDlg->m_xyingdu;
dyingdu=m_preDlg->m_dyingdu;
shouming=m_preDlg->m_shouming;
chishubi=m_preDlg->m_chishubi;
xchishu=m_preDlg->m_xchishu;
m_preDlg->m_jindu.GetWindowText(jindu);
CString cailiao,zaihexishu,ckx,zaihezhuangtai,zaihezhuangtai1,yuandongji;
double tanxingzhi,xjichuxu,djichuxu,fenduyuan,zaihexishu1;
double ckx1;
m_ADORecordset.Open(m_ADODatabase.GetActiveConnection(), _T("select * from tanxingyingxiangxishu"));
while(!m_ADORecordset.IsEof())
{
m_ADORecordset.GetFieldValue("chiluncailiao", cailiao);
if(xcailiao==cailiao)
{
if(dcailiao=="灰铸铁")
{
m_ADORecordset.GetFieldValue("huizhutie", tanxingzhi);
}
else if(dcailiao=="球墨铸铁")
{
m_ADORecordset.GetFieldValue("qiumozhutie", tanxingzhi);
}
else if(dcailiao=="铸钢")
{
m_ADORecordset.GetFieldValue("zhugang", tanxingzhi);
}
else
{
m_ADORecordset.GetFieldValue("duangang", tanxingzhi);
}
}
m_ADORecordset.MoveNext();
}
m_ADORecordset.Close();
xjichuxu=m_xshoumingxishu*m_xqiangdu/m_anquanxishu;
djichuxu=m_dshoumingxishu*m_dqiangdu/m_anquanxishu;
m_chikuanxishu.GetWindowText(ckx);
ckx1=strtodouble(ckx);
m_zaihexishu.GetWindowText(zaihexishu);
zaihexishu1=strtodouble(zaihexishu);
if(xjichuxu>djichuxu)
{
fenduyuan=2.32*pow(((zaihexishu1*m_zhuanju/ckx1)*((chishubi+1)/(chishubi))*pow((tanxingzhi)/djichuxu,2)),(0.33333333));
}
else
{
fenduyuan=2.32*pow(((zaihexishu1*m_zhuanju/ckx1)*((chishubi+1)/(chishubi))*pow((tanxingzhi)/xjichuxu,2)),(0.33333333));
}
return fenduyuan;
}
void jiechupil::Onjisuanzaihe()
{
UpdateData(true);
CString ckx,zaihexishu,zaihezhuangtai,zaihezhuangtai1,yuandongji,jindu,jindu1;
double ckx1,zaihexishu1,xchishu,b,Ka,Khb,zaihe;
m_preDlg->UpdateData(TRUE);
m_chikuanxishu.GetWindowText(ckx);
ckx1=strtodouble(ckx);
m_zaihexishu.GetWindowText(zaihexishu);
zaihexishu1=strtodouble(zaihexishu);
xchishu=m_preDlg->m_xchishu;
b=ckx1*jisuanfenduyuan();
m_ADORecordset.Open(m_ADODatabase.GetActiveConnection(), _T("select * from shiyongxishu"));
while( !m_ADORecordset.IsEof())
{
m_ADORecordset.GetFieldValue("zaihezhuangtai", zaihezhuangtai);
m_preDlg->m_zhuantai.GetWindowText(zaihezhuangtai1);
if(zaihezhuangtai1==zaihezhuangtai)
{
m_preDlg->m_yuandongji.GetWindowText(yuandongji);
if(yuandongji==_T("电动机"))
m_ADORecordset.GetFieldValue("diandongji", Ka);
else if(yuandongji==_T("多缸柴油机"))
m_ADORecordset.GetFieldValue("duogang", Ka);
else
m_ADORecordset.GetFieldValue("dangang", Ka);
}
m_ADORecordset.MoveNext();
}
m_ADORecordset.Close();
m_shiyong=Ka;
m_preDlg->m_jindu.GetWindowText(jindu);
if(jindu=="6")
{
Khb=1.11+0.18*(1+0.6*pow(ckx1,2))*pow(ckx1,2)+0.15*pow(10,(-3))*b;
}
else if(jindu=="7")
{
Khb=1.12+0.18*(1+0.6*pow(ckx1,2))*pow(ckx1,2)+0.23*pow(10,(-3))*b;
}
else
{
Khb=1.15+0.18*(1+0.6*pow(ckx1,2))*pow(ckx1,2)+0.31*pow(10,(-3))*b;
}
zaihe=Ka*(m_dongzai)*(1.2)*Khb;
m_zaihexi=zaihe;
UpdateData(false);
UpdateData(true);
m_fenduyuan=jisuanfenduyuan()*pow((m_zaihexi/zaihexishu1),(0.33333333));
m_moshu=m_fenduyuan/(xchishu);
UpdateData(false);
}
void jiechupil::Onhelp()
{
AfxMessageBox(_T("请与合肥数字化设计中心联系!"));
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -