94 lines
2.2 KiB
C++
94 lines
2.2 KiB
C++
// PressurePotCalcDlg.cpp : implementation file
|
|
//
|
|
|
|
#include "stdafx.h"
|
|
#include "PressurePotCalcDlg.h"
|
|
|
|
#ifdef _DEBUG
|
|
#define new DEBUG_NEW
|
|
#undef THIS_FILE
|
|
static char THIS_FILE[] = __FILE__;
|
|
#endif
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CPressurePotCalcDlg dialog
|
|
void PressurePotCalc()
|
|
{
|
|
CTemporaryResourceOverride vTemp;
|
|
CPressurePotCalcDlg dlg;
|
|
dlg.DoModal();
|
|
}
|
|
|
|
|
|
CPressurePotCalcDlg::CPressurePotCalcDlg(CWnd* pParent /*=NULL*/)
|
|
: CDialog(CPressurePotCalcDlg::IDD, pParent)
|
|
{
|
|
//{{AFX_DATA_INIT(CPressurePotCalcDlg)
|
|
m_nAb = 0.65;
|
|
m_nB = 1.25;
|
|
m_nC = 1.0;
|
|
m_nH1 = 0.0;
|
|
m_nH2 = 0.0;
|
|
m_nH4 = 0.0;
|
|
m_iN = 6;
|
|
m_csPresureLow = _T("");
|
|
m_csPresureUp = _T("");
|
|
m_nQb = 0.0;
|
|
m_csRetV = _T("");
|
|
m_csRetVx2 = _T("");
|
|
//}}AFX_DATA_INIT
|
|
}
|
|
|
|
|
|
void CPressurePotCalcDlg::DoDataExchange(CDataExchange* pDX)
|
|
{
|
|
CDialog::DoDataExchange(pDX);
|
|
//{{AFX_DATA_MAP(CPressurePotCalcDlg)
|
|
DDX_Text(pDX, IDC_EDIT_AB, m_nAb);
|
|
DDX_Text(pDX, IDC_EDIT_B, m_nB);
|
|
DDX_Text(pDX, IDC_EDIT_C, m_nC);
|
|
DDX_Text(pDX, IDC_EDIT_H1, m_nH1);
|
|
DDX_Text(pDX, IDC_EDIT_H2, m_nH2);
|
|
DDX_Text(pDX, IDC_EDIT_H4, m_nH4);
|
|
DDX_Text(pDX, IDC_EDIT_N, m_iN);
|
|
DDX_Text(pDX, IDC_EDIT_PRESURE1, m_csPresureLow);
|
|
DDX_Text(pDX, IDC_EDIT_PRESURE2, m_csPresureUp);
|
|
DDX_Text(pDX, IDC_EDIT_QB, m_nQb);
|
|
DDX_Text(pDX, IDC_EDIT_V, m_csRetV);
|
|
DDX_Text(pDX, IDC_EDIT_VX2, m_csRetVx2);
|
|
//}}AFX_DATA_MAP
|
|
}
|
|
|
|
|
|
BEGIN_MESSAGE_MAP(CPressurePotCalcDlg, CDialog)
|
|
//{{AFX_MSG_MAP(CPressurePotCalcDlg)
|
|
//}}AFX_MSG_MAP
|
|
END_MESSAGE_MAP()
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CPressurePotCalcDlg message handlers
|
|
|
|
BOOL CPressurePotCalcDlg::OnInitDialog()
|
|
{
|
|
CDialog::OnInitDialog();
|
|
|
|
|
|
return TRUE; // return TRUE unless you set the focus to a control
|
|
// EXCEPTION: OCX Property Pages should return FALSE
|
|
}
|
|
|
|
void CPressurePotCalcDlg::OnOK()
|
|
{
|
|
UpdateData();
|
|
double nRetPresure(0), nV;
|
|
nRetPresure = (m_nH1 + m_nH2 + m_nH4)/102;
|
|
m_csPresureLow.Format(_T("%.2f"), nRetPresure);
|
|
nRetPresure = (nRetPresure + 0.098)/m_nAb - 0.098;
|
|
m_csPresureUp.Format(_T("%.2f"), nRetPresure);
|
|
nV = m_nC*m_nQb/4/m_iN;
|
|
m_csRetVx2.Format(_T("%.2f"), nV);
|
|
nV = m_nB*nV/(1-m_nAb);
|
|
m_csRetV.Format(_T("%.2f"), nV);
|
|
UpdateData(FALSE);
|
|
}
|