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

📄 jiechupil.cpp

📁 基于UG平台
💻 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 + -