Files
envi-code/SourceCode/Code2026/tg_shs/shs_TwtCalc/ReserviorCalcDlg.cpp
T
2026-09-28 15:28:50 +08:00

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);
}