100 lines
2.3 KiB
C++
100 lines
2.3 KiB
C++
// ReserviorCalcDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "ReserviorCalcDlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CReserviorCalcDlg dialog
|
|
|
|
void ReserviorCalc()
|
|
{
|
|
CTemporaryResourceOverride vTemp;
|
|
CReserviorCalcDlg dlg;
|
|
dlg.DoModal();
|
|
}
|
|
|
|
CReserviorCalcDlg::CReserviorCalcDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CReserviorCalcDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CReserviorCalcDlg)
|
|
m_csAllRet = _T("");
|
|
m_nFireIn = 40;
|
|
m_nFireOut = 30;
|
|
m_nInsufflation = 30;
|
|
m_csRetQ = _T("");
|
|
m_nQb = 0.0;
|
|
m_nQg = 42.41;
|
|
m_nTb = 0.0;
|
|
m_nTt = 0.0;
|
|
m_nTx = 3;
|
|
m_csRetVf = _T("");
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
|
|
void CReserviorCalcDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CReserviorCalcDlg)
|
|
DDX_Text(pDX, IDC_EDIT_ALLRET, m_csAllRet);
|
|
DDX_Text(pDX, IDC_EDIT_FIRE_IN, m_nFireIn);
|
|
DDX_Text(pDX, IDC_EDIT_FIRE_OUT, m_nFireOut);
|
|
DDX_Text(pDX, IDC_EDIT_INSUFFLATION, m_nInsufflation);
|
|
DDX_Text(pDX, IDC_EDIT_Q1, m_csRetQ);
|
|
DDX_Text(pDX, IDC_EDIT_QB, m_nQb);
|
|
DDX_Text(pDX, IDC_EDIT_QG, m_nQg);
|
|
DDX_Text(pDX, IDC_EDIT_TB, m_nTb);
|
|
DDX_Text(pDX, IDC_EDIT_TT, m_nTt);
|
|
DDX_Text(pDX, IDC_EDIT_TX, m_nTx);
|
|
DDX_Text(pDX, IDC_EDIT_VF, m_csRetVf);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CReserviorCalcDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CReserviorCalcDlg)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CReserviorCalcDlg message handlers
|
|
|
|
BOOL CReserviorCalcDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
void CReserviorCalcDlg::OnOK()
|
|
{
|
|
UpdateData();
|
|
//注意:喷淋用一小时
|
|
double nRetFire(0), nRetQ1(0);
|
|
nRetFire = ((m_nFireIn + m_nFireOut)*m_nTx + m_nInsufflation)*3.6 - m_nQg*m_nTx;
|
|
m_csRetVf.Format(_T("%.2f"), nRetFire);
|
|
|
|
nRetQ1 = (m_nQb - m_nQg)*m_nTb;
|
|
m_csRetQ.Format(_T("%.2f"), nRetQ1);
|
|
|
|
if(m_nQg * m_nTt < nRetQ1 || nRetQ1 < 0){
|
|
MessageBox(_T("进水管太小!"));
|
|
UpdateData(FALSE);
|
|
return;
|
|
}
|
|
nRetQ1 += nRetFire;
|
|
m_csAllRet.Format(_T("%.2f"), nRetQ1);
|
|
|
|
|
|
UpdateData(FALSE);
|
|
}
|