1002 lines
33 KiB
C++
1002 lines
33 KiB
C++
// MostuseHeatWaterCalcDlg.cpp : implementation file
|
||
//
|
||
|
||
#include "stdafx.h"
|
||
#include "MostuseHeatWaterCalcDlg.h"
|
||
#include <MSWORD8.h>
|
||
#include "TWordFormulasTemplet.h"
|
||
#include "TwtDef.h"
|
||
#include "TelDef.h"
|
||
|
||
#ifdef _DEBUG
|
||
#define new DEBUG_NEW
|
||
#undef THIS_FILE
|
||
static char THIS_FILE[] = __FILE__;
|
||
#endif
|
||
|
||
|
||
void MostUseHeatWaterCalc()
|
||
{
|
||
CTemporaryResourceOverride vTemp;
|
||
CMostuseHeatWaterCalcDlg dlg;
|
||
dlg.DoModal();
|
||
}
|
||
|
||
|
||
CMostuseHeatWaterGird::CMostuseHeatWaterGird()
|
||
{
|
||
m_pLstUnit = NULL;
|
||
}
|
||
|
||
CMostuseHeatWaterGird::~CMostuseHeatWaterGird()
|
||
{
|
||
|
||
}
|
||
|
||
bool CMostuseHeatWaterGird::OnModified(WDGridCell&cell,CString &text)
|
||
{
|
||
long nCol = GetCurRowIndex();
|
||
if (m_nType == 0) // 全日供应
|
||
{
|
||
if (cell.GetCol().GetIndex() == 3)
|
||
{
|
||
int nNum = _ttoi(text);
|
||
if (nCol != -1 && nCol < m_pLstUnit->Length())
|
||
{
|
||
(*m_pLstUnit)[nCol]->m_iNum = nNum;
|
||
}
|
||
}
|
||
}
|
||
else // 定时供应
|
||
{
|
||
if (cell.GetCol().GetIndex() == 3)
|
||
{
|
||
int nNum = _ttoi(text);
|
||
if (nCol != -1 && nCol < m_pLstUnit->Length())
|
||
{
|
||
(*m_pLstUnit)[nCol]->m_iNum = nNum;
|
||
}
|
||
}
|
||
else if (cell.GetCol().GetIndex() == 4)
|
||
{
|
||
double dVal = _tstof(text);
|
||
if (nCol != -1 && nCol < m_pLstUnit->Length())
|
||
{
|
||
(*m_pLstUnit)[nCol]->m_nFactor = dVal;
|
||
}
|
||
}
|
||
}
|
||
return true;
|
||
}
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// CMostuseHeatWaterCalcDlg dialog
|
||
|
||
|
||
CMostuseHeatWaterCalcDlg::CMostuseHeatWaterCalcDlg(CWnd* pParent /*=NULL*/)
|
||
: CDialog(CMostuseHeatWaterCalcDlg::IDD, pParent)
|
||
{
|
||
//{{AFX_DATA_INIT(CMostuseHeatWaterCalcDlg)
|
||
m_nHeatT = 60;
|
||
m_nColdT = 10;
|
||
m_csRet = _T("");
|
||
m_iType = 0;
|
||
m_csRetW = _T("");
|
||
//}}AFX_DATA_INIT
|
||
}
|
||
|
||
|
||
void CMostuseHeatWaterCalcDlg::DoDataExchange(CDataExchange* pDX)
|
||
{
|
||
CDialog::DoDataExchange(pDX);
|
||
//{{AFX_DATA_MAP(CMostuseHeatWaterCalcDlg)
|
||
DDX_Control(pDX, IDC_LIST_ALL, m_listCtrl);
|
||
DDX_Text(pDX, IDC_EDIT_HEAT, m_nHeatT);
|
||
DDX_Text(pDX, IDC_EDIT_COLD, m_nColdT);
|
||
DDX_Text(pDX, IDC_EDIT_RESULT, m_csRet);
|
||
DDX_Radio(pDX, IDC_RADIO_TYPE1, m_iType);
|
||
DDX_Text(pDX, IDC_EDIT_RESULTW, m_csRetW);
|
||
//}}AFX_DATA_MAP
|
||
}
|
||
|
||
|
||
BEGIN_MESSAGE_MAP(CMostuseHeatWaterCalcDlg, CDialog)
|
||
//{{AFX_MSG_MAP(CMostuseHeatWaterCalcDlg)
|
||
ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd)
|
||
// ON_MESSAGE(WM_LISTEDIT_INPUTOK, OnEditInputOk) // cet 2010.7.7 del 更换控件
|
||
ON_BN_CLICKED(IDC_BUTTON_DEL, OnButtonDel)
|
||
ON_BN_CLICKED(IDC_RADIO_TYPE1, OnRadioType1)
|
||
ON_BN_CLICKED(IDC_RADIO_TYPE2, OnRadioType2)
|
||
ON_BN_CLICKED(IDC_BUTTON_HELP, OnButtonHelp)
|
||
ON_BN_CLICKED(IDC_BUTTON_WORD, OnButtonWord)
|
||
//}}AFX_MSG_MAP
|
||
END_MESSAGE_MAP()
|
||
|
||
/////////////////////////////////////////////////////////////////////////////
|
||
// CMostuseHeatWaterCalcDlg message handlers
|
||
|
||
BOOL CMostuseHeatWaterCalcDlg::OnInitDialog()
|
||
{
|
||
CDialog::OnInitDialog();
|
||
|
||
// cet 2010.7.7 del 更改控件
|
||
// m_listCtrl.SetExtendedStyle(LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT);
|
||
// m_listCtrl.SetItemControl(EDITBOX, 3);
|
||
//
|
||
// if(m_iType == 1){
|
||
// m_listCtrl.SetItemControl(EDITBOX, 4); // cet 2010.7.2 add
|
||
// m_listCtrl.InsertColumn ( 0, _T("用水部位名称"), LVCFMT_LEFT, 200 );
|
||
// m_listCtrl.InsertColumn ( 1, _T("小时水量(L)"), LVCFMT_LEFT, 80 );
|
||
// m_listCtrl.InsertColumn ( 2, _T("水温(℃)"), LVCFMT_LEFT, 60 );
|
||
// m_listCtrl.InsertColumn ( 3, _T("数量"), LVCFMT_LEFT, 60 );
|
||
// m_listCtrl.InsertColumn ( 4, _T("同时百分数"), LVCFMT_LEFT, 75 );
|
||
// }
|
||
// else{
|
||
// m_listCtrl.InsertColumn ( 0, _T("建筑物名称"), LVCFMT_LEFT, 200 );
|
||
// m_listCtrl.InsertColumn ( 1, _T("最高日用水定额(L)"), LVCFMT_LEFT, 120 );
|
||
// m_listCtrl.InsertColumn ( 2, _T("使用时间"), LVCFMT_LEFT, 60 );
|
||
// m_listCtrl.InsertColumn ( 3, _T("数量"), LVCFMT_LEFT, 60 );
|
||
// m_listCtrl.InsertColumn ( 4, _T("单位"), LVCFMT_LEFT, 80 );
|
||
// }
|
||
//
|
||
// m_listCtrl.MapControlsForSubItems();
|
||
|
||
// cet 2010.7.7 add
|
||
CRect rect;
|
||
m_listCtrl.GetWindowRect(&rect);
|
||
ScreenToClient(&rect);
|
||
|
||
m_listCtrl.Clear();
|
||
m_listCtrl.Create(this, IDC_LIST_ALL);
|
||
|
||
m_listCtrl.SetNoDefaultMenu();
|
||
m_listCtrl.SetNoAppendButton();
|
||
|
||
long nWidth = rect.Width() / 7;
|
||
COLORREF color = RGB(255,0,0);
|
||
if (m_iType == 1)
|
||
{
|
||
m_listCtrl.AppendCol(_T("用水部位名称"), 3 * nWidth);
|
||
m_listCtrl.AppendCol(_T("小时水量(L)"), nWidth );
|
||
m_listCtrl.AppendCol(_T("水温(℃)"), nWidth);
|
||
m_listCtrl.AppendCol(_T("数量"), nWidth);
|
||
m_listCtrl.AppendCol(_T("同时百分数"), nWidth);
|
||
m_listCtrl.GetCol(0).SetReadOnly();
|
||
m_listCtrl.GetCol(1).SetReadOnly();
|
||
m_listCtrl.GetCol(2).SetReadOnly();
|
||
m_listCtrl.GetCol(3).SetTextColor(color);
|
||
m_listCtrl.GetCol(4).SetTextColor(color);
|
||
}
|
||
else
|
||
{
|
||
m_listCtrl.AppendCol(_T("建筑物名称"), 3 * nWidth);
|
||
m_listCtrl.AppendCol(_T("最高日用水定额(L)"), nWidth );
|
||
m_listCtrl.AppendCol(_T("使用时间"), nWidth);
|
||
m_listCtrl.AppendCol(_T("数量"), nWidth);
|
||
m_listCtrl.AppendCol(_T("单位"), nWidth);
|
||
m_listCtrl.GetCol(0).SetReadOnly();
|
||
m_listCtrl.GetCol(1).SetReadOnly();
|
||
m_listCtrl.GetCol(2).SetReadOnly();
|
||
m_listCtrl.GetCol(4).SetReadOnly();
|
||
m_listCtrl.GetCol(3).SetTextColor(color);
|
||
}
|
||
m_listCtrl.GetCol(0).SetCenterAlign();
|
||
m_listCtrl.GetCol(1).SetCenterAlign();
|
||
m_listCtrl.GetCol(2).SetCenterAlign();
|
||
m_listCtrl.GetCol(3).SetCenterAlign();
|
||
m_listCtrl.GetCol(4).SetCenterAlign();
|
||
m_listCtrl.FitLastCol();
|
||
m_listCtrl.SetLst(&m_lstUnit);
|
||
m_listCtrl.SetType(m_iType);
|
||
|
||
return TRUE; // return TRUE unless you set the focus to a control
|
||
// EXCEPTION: OCX Property Pages should return FALSE
|
||
}
|
||
|
||
void CMostuseHeatWaterCalcDlg::ResetList()
|
||
{
|
||
UpdateData();
|
||
|
||
// m_listCtrl.DeleteAllItems(); // cet 2010.7.7 del
|
||
m_listCtrl.Clear(); // cet 2010.7.7 add
|
||
int len = m_lstUnit.Length();
|
||
if(len <=0)
|
||
return;
|
||
double nCalc(0);
|
||
for(int i=0;i<len;i++){
|
||
SUseUnitData *pData = m_lstUnit[i];
|
||
CString csFactor, csTime, csStdUse, csNum;
|
||
csFactor.Format(_T("%.2f"), pData->m_nFactor);
|
||
csTime.Format(_T("%.1f"), pData->m_nTime);
|
||
csStdUse.Format(_T("%.2f"), pData->m_nStdUse);
|
||
csNum.Format(_T("%d"), pData->m_iNum);
|
||
|
||
// cet 2010.7.7 del 更换控件
|
||
// m_listCtrl.InsertItem ( i, pData->m_csName, 0 );
|
||
// m_listCtrl.SetItemText ( i, 1, csStdUse);
|
||
// m_listCtrl.SetItemText ( i, 2, csTime);
|
||
// m_listCtrl.SetItemText ( i, 3, csNum);
|
||
// if(m_iType == 0)
|
||
// m_listCtrl.SetItemText ( i, 4, pData->m_csUnit);
|
||
// else
|
||
// m_listCtrl.SetItemText ( i, 4, csFactor);
|
||
|
||
// cet 2010.7.7 add
|
||
m_listCtrl.AppendRow();
|
||
m_listCtrl.GetCell(i, 0).SetText(pData->m_csName);
|
||
m_listCtrl.GetCell(i, 1).SetText(csStdUse);
|
||
m_listCtrl.GetCell(i, 2).SetText(csTime);
|
||
m_listCtrl.GetCell(i, 3).SetText(csNum);
|
||
if (m_iType == 0)
|
||
{
|
||
m_listCtrl.GetCell(i, 4).SetText(pData->m_csUnit);
|
||
}
|
||
else
|
||
{
|
||
m_listCtrl.GetCell(i, 4).SetText(csFactor);
|
||
}
|
||
|
||
if(m_iType == 1)
|
||
// nCalc = nCalc + pData->m_nStdUse*(pData->m_nTime - m_nColdT)*0.9832 * pData->m_iNum*pData->m_nFactor*4187/3600; // cet 2010.7.2 del
|
||
nCalc = nCalc + pData->m_nStdUse*(pData->m_nTime - m_nColdT)*0.9832 * pData->m_iNum*pData->m_nFactor*4.187;
|
||
else{
|
||
double k(1);
|
||
// cet 2010.7.1 del
|
||
// if(pData->m_csName.Find(_T("住宅")) > -1 || pData->m_csName.Find(_T("别墅")) > -1){
|
||
// if(pData->m_iNum <= 100)
|
||
// k = 5.12;
|
||
// else if(pData->m_iNum <= 150)
|
||
// k = 4.49;
|
||
// else if(pData->m_iNum <= 200)
|
||
// k = 4.13;
|
||
// else if(pData->m_iNum <= 250)
|
||
// k = 3.88;
|
||
// else if(pData->m_iNum <= 300)
|
||
// k = 3.7;
|
||
// else if(pData->m_iNum <= 500)
|
||
// k = 3.28;
|
||
// else if(pData->m_iNum <= 1000)
|
||
// k = 2.86;
|
||
// else if(pData->m_iNum <= 3000)
|
||
// k = 2.48;
|
||
// else if(pData->m_iNum > 3000)
|
||
// k = 2.34;
|
||
// }
|
||
// else if(pData->m_csName.Find(_T("宾馆客房:旅客")) > -1
|
||
// || pData->m_csName.Find(_T("养老院")) > -1
|
||
// || pData->m_csName.Find(_T("幼儿园、托儿所:有住宿")) > -1
|
||
// || pData->m_csName.Find(_T("集体宿舍")) > -1 ){
|
||
// if(pData->m_iNum <= 150)
|
||
// k = 6.84;
|
||
// else if(pData->m_iNum <= 300)
|
||
// k = 5.61;
|
||
// else if(pData->m_iNum <= 450)
|
||
// k = 4.97;
|
||
// else if(pData->m_iNum <= 600)
|
||
// k = 4.58;
|
||
// else if(pData->m_iNum <= 900)
|
||
// k = 4.19;
|
||
// else if(pData->m_iNum > 900)
|
||
// k = 3.9;
|
||
// }
|
||
// else if(pData->m_csName.Find(_T("医院")) > -1 && pData->m_csUnit.Find(_T("床位")) > -1){
|
||
// if(pData->m_iNum <= 50)
|
||
// k = 4.55;
|
||
// else if(pData->m_iNum <= 75)
|
||
// k = 3.78;
|
||
// else if(pData->m_iNum <= 100)
|
||
// k = 3.54;
|
||
// else if(pData->m_iNum <= 200)
|
||
// k = 2.93;
|
||
// else if(pData->m_iNum <= 300)
|
||
// k = 2.6;
|
||
// else if(pData->m_iNum <= 500)
|
||
// k = 2.23;
|
||
// else if(pData->m_iNum > 500)
|
||
// k = 1.95;
|
||
// }
|
||
// else if(pData->m_csName.Find(_T("办公楼")) > -1)
|
||
// k = 1.3;
|
||
//
|
||
// nCalc = nCalc + k*pData->m_nStdUse*pData->m_iNum*4187*(60 - m_nColdT)*0.9832 /86400;
|
||
|
||
// cet 2010.7.1
|
||
int nNum = pData->m_iNum;
|
||
if (pData->m_csName.Find(_T("住宅")) > -1)
|
||
{
|
||
if (nNum <= 100)
|
||
{
|
||
k = 4.8;
|
||
}
|
||
else if (nNum >= 6000)
|
||
{
|
||
k = 2.75;
|
||
}
|
||
else
|
||
{
|
||
k = ((6000 - nNum) * 4.8 + (nNum - 100) * 2.75)/(6000 - 100);
|
||
}
|
||
}
|
||
else if (pData->m_csName.Find(_T("别墅")) > -1)
|
||
{
|
||
if (nNum <= 100)
|
||
{
|
||
k = 4.21;
|
||
}
|
||
else if (nNum >= 6000)
|
||
{
|
||
k = 2.47;
|
||
}
|
||
else
|
||
{
|
||
k = ((6000 - nNum) * 4.21 + (nNum - 100) * 2.47)/(6000 - 100);
|
||
}
|
||
}
|
||
else if (pData->m_csName.Find(_T("酒店式公寓")) > -1)
|
||
{
|
||
if (nNum <= 150)
|
||
{
|
||
k = 4;
|
||
}
|
||
else if (nNum >= 1200)
|
||
{
|
||
k = 2.58;
|
||
}
|
||
else
|
||
{
|
||
k = ((1200 - nNum) * 4 + (nNum - 150) * 2.58)/(1200 - 150);
|
||
}
|
||
}
|
||
else if (pData->m_csName.Find(_T("宿舍(Ⅰ类、Ⅱ类)")) > -1)
|
||
{
|
||
if (nNum <= 150)
|
||
{
|
||
k = 4.8;
|
||
}
|
||
else if (nNum >= 1200)
|
||
{
|
||
k = 3.2;
|
||
}
|
||
else
|
||
{
|
||
k = ((1200 - nNum) * 4.8 + (nNum - 150) * 3.2)/(1200 - 150);
|
||
}
|
||
}
|
||
else if (pData->m_csName.Find(_T("招待所、培训中心、普通旅馆")) > -1)
|
||
{
|
||
if (nNum <= 150)
|
||
{
|
||
k = 3.84;
|
||
}
|
||
else if (nNum >= 1200)
|
||
{
|
||
k = 3;
|
||
}
|
||
else
|
||
{
|
||
k = ((1200 - nNum) * 3.84 + (nNum - 150) * 3)/(1200 - 150);
|
||
}
|
||
}
|
||
else if (pData->m_csName.Find(_T("宾馆客房:旅客")) > -1)
|
||
{
|
||
if (nNum <= 150)
|
||
{
|
||
k = 3.33;
|
||
}
|
||
else if (nNum >= 1200)
|
||
{
|
||
k = 2.6;
|
||
}
|
||
else
|
||
{
|
||
k = ((1200 - nNum) * 3.33 + (nNum - 150) * 2.6)/(1200 - 150);
|
||
}
|
||
}
|
||
else if (pData->m_csName.Find(_T("医院")) > -1 && pData->m_csName.Find(_T("医院住院部:门诊部、诊疗所")) == -1)
|
||
{
|
||
if (nNum <= 50)
|
||
{
|
||
k = 3.63;
|
||
}
|
||
else if (nNum >= 1000)
|
||
{
|
||
k = 2.56;
|
||
}
|
||
else
|
||
{
|
||
k = ((1000 - nNum) * 3.63 + (nNum - 50) * 2.56)/(1000 - 50);
|
||
}
|
||
}
|
||
else if (pData->m_csName.Find(_T("医院住院部:门诊部、诊疗所")) > -1)
|
||
{
|
||
k = 1.2;
|
||
}
|
||
else if (pData->m_csName.Find(_T("幼儿园、托儿所:有住宿")) > -1 )
|
||
{
|
||
if (nNum <= 50)
|
||
{
|
||
k = 4.8;
|
||
}
|
||
else if (nNum >= 1000)
|
||
{
|
||
k = 3.2;
|
||
}
|
||
else
|
||
{
|
||
k = ((1000 - nNum) * 4.8 + (nNum - 50) * 3.2)/(1000 - 50);
|
||
}
|
||
}
|
||
else if (pData->m_csName.Find(_T("养老院")) > -1 )
|
||
{
|
||
if (nNum <= 50)
|
||
{
|
||
k = 3.2;
|
||
}
|
||
else if (nNum >= 1000)
|
||
{
|
||
k = 2.74;
|
||
}
|
||
else
|
||
{
|
||
k = ((1000 - nNum) * 3.2 + (nNum - 50) * 2.74)/(1000 - 50);
|
||
}
|
||
}
|
||
else if (pData->m_csName.Find(_T("公共浴室")) > -1 || pData->m_csName.Find(_T("理发室、美容院")) > -1)
|
||
{
|
||
k = 1.5;
|
||
}
|
||
else if (pData->m_csName.Find(_T("洗衣房")) > -1 || pData->m_csName.Find(_T("餐饮厅")) > -1 ||
|
||
pData->m_csName.Find(_T("办公楼")) > -1 || pData->m_csName.Find(_T("健身中心")) > -1 ||
|
||
pData->m_csName.Find(_T("会议厅")) > -1)
|
||
{
|
||
k = 1.2;
|
||
}
|
||
else if (pData->m_csName.Find(_T("体育场:运动员淋浴")) > -1)
|
||
{
|
||
k = 2.0;
|
||
}
|
||
|
||
nCalc = nCalc + k * pData->m_iNum * pData->m_nStdUse * 4.187 * (60 - m_nColdT) * 0.9832 / pData->m_nTime;
|
||
}
|
||
}
|
||
m_csRetW.Format(_T("%.2f"), nCalc);
|
||
// nCalc = nCalc / (1.163*(m_nHeatT - m_nColdT)*0.9832)/1000; // cet 2010.7.2 del
|
||
nCalc = nCalc / ((m_nHeatT - m_nColdT) * 4.187 * 0.9832); // cet 2010.7.2 add
|
||
m_csRet.Format(_T("%.2f"), nCalc);
|
||
UpdateData(FALSE);
|
||
}
|
||
|
||
|
||
void CMostuseHeatWaterCalcDlg::OnButtonAdd()
|
||
{
|
||
CTemporaryResourceOverride vTemp;
|
||
CSelUseUnitDlg dlg;
|
||
if(m_iType == 0)
|
||
dlg.m_iMode = 2;
|
||
else
|
||
dlg.m_iMode = 1;
|
||
if(dlg.DoModal() != IDOK)
|
||
return;
|
||
double nFactor(1);
|
||
if(m_iType == 1 && (dlg.m_csName.Find(_T("住宅")) > -1 || dlg.m_csName.Find(_T("医院")) > -1) && (dlg.m_csName.Find(_T("浴盆")) > -1 || dlg.m_csName.Find(_T("淋浴器")) > -1))
|
||
nFactor = 0.85;
|
||
|
||
int jjj = dlg.m_iNum;
|
||
SUseUnitData *pData = new SUseUnitData(dlg.m_csName, dlg.m_csUnit, dlg.m_iNum, dlg.m_nStdUse, nFactor, dlg.m_dTime);
|
||
m_lstUnit.Append(pData);
|
||
ResetList();
|
||
|
||
}
|
||
|
||
void CMostuseHeatWaterCalcDlg::OnButtonDel()
|
||
{
|
||
// cet 2010.7.7 del 更改控件
|
||
// POSITION pos = m_listCtrl.GetFirstSelectedItemPosition();
|
||
// if(!pos)
|
||
// return;
|
||
// int nItem = m_listCtrl.GetNextSelectedItem(pos);
|
||
|
||
// cet 2010.7.7 add
|
||
int nItem = m_listCtrl.GetCurRowIndex();
|
||
if (nItem == -1)
|
||
{
|
||
return;
|
||
}
|
||
|
||
if(nItem > (m_lstUnit.Length() - 1))
|
||
return;
|
||
m_lstUnit.Remove(nItem);
|
||
ResetList();
|
||
}
|
||
|
||
void CMostuseHeatWaterCalcDlg::OnOK()
|
||
{
|
||
ResetList();
|
||
}
|
||
|
||
// cet 2010 7.7 del 更换控件
|
||
// LRESULT CMostuseHeatWaterCalcDlg::OnEditInputOk(WPARAM wParam, LPARAM lParam)
|
||
// {
|
||
//
|
||
// DWORD dwAllTk = wParam;
|
||
// TCHAR szAlltk[256];
|
||
// _tcscpy(szAlltk, (const TCHAR*)dwAllTk);
|
||
// // cet 2010.7.2 del
|
||
// // if(_tcsicmp(szAlltk, _T("0")) == 0)
|
||
// // return TRUE;
|
||
// // int nItem = m_listCtrl.m_iCurSelctedItemIndex;
|
||
// // if(nItem < 0 || m_lstUnit.Length()==0 || nItem >= m_lstUnit.Length())
|
||
// // return TRUE;
|
||
// // m_lstUnit[nItem]->m_iNum = _ttoi(szAlltk);
|
||
//
|
||
// // cet 2010.7.2 add
|
||
// int nItem = m_listCtrl.m_iCurSelctedItemIndex;
|
||
// if(nItem < 0 || m_lstUnit.Length()==0 ||
|
||
// nItem >= m_lstUnit.Length())
|
||
// {
|
||
// return TRUE;
|
||
// }
|
||
//
|
||
// int nCol = m_listCtrl.m_iSubItem;
|
||
// if (nCol == 3) // 数量
|
||
// {
|
||
// m_lstUnit[nItem]->m_iNum = _ttoi(szAlltk);
|
||
// }
|
||
// else if (nCol == 4 && m_iType == 1) // 同时百分数
|
||
// {
|
||
// m_lstUnit[nItem]->m_nFactor = _tstof(szAlltk);
|
||
// }
|
||
//
|
||
// ResetList();
|
||
// return TRUE;
|
||
// }
|
||
|
||
|
||
void CMostuseHeatWaterCalcDlg::OnRadioType1()
|
||
{
|
||
int old = m_iType;
|
||
UpdateData(TRUE);
|
||
if(old == m_iType)
|
||
return;
|
||
|
||
// cet 2010.7.7 del 更换控件
|
||
// int nColumnCount = m_listCtrl.GetHeaderCtrl()->GetItemCount();
|
||
// for (int i=0;i < nColumnCount;i++)
|
||
// {
|
||
// m_listCtrl.DeleteColumn(0);
|
||
// }
|
||
// m_listCtrl.InsertColumn ( 0, _T("建筑物名称"), LVCFMT_LEFT, 150 );
|
||
// m_listCtrl.InsertColumn ( 1, _T("最高日用水定额(L)"), LVCFMT_LEFT, 120 );
|
||
// m_listCtrl.InsertColumn ( 2, _T("使用时间"), LVCFMT_LEFT, 75 );
|
||
// m_listCtrl.InsertColumn ( 3, _T("数量"), LVCFMT_LEFT, 60 );
|
||
// m_listCtrl.InsertColumn ( 4, _T("单位"), LVCFMT_LEFT, 80 );
|
||
// m_lstUnit.Reset();
|
||
// m_listCtrl.DeleteAllItems();
|
||
|
||
// cet 2010.7.7 add
|
||
CRect rect;
|
||
m_listCtrl.GetWindowRect(&rect);
|
||
ScreenToClient(&rect);
|
||
|
||
m_listCtrl.Clear();
|
||
long nNum = m_listCtrl.GetColNum();
|
||
for (int i = nNum - 1; i > -1; i--)
|
||
{
|
||
m_listCtrl.DelCol(i);
|
||
}
|
||
|
||
long nWidth = rect.Width() / 7;
|
||
m_listCtrl.AppendCol(_T("建筑物名称"), 3 * nWidth);
|
||
m_listCtrl.AppendCol(_T("最高日用水定额(L)"), nWidth );
|
||
m_listCtrl.AppendCol(_T("使用时间"), nWidth);
|
||
m_listCtrl.AppendCol(_T("数量"), nWidth);
|
||
m_listCtrl.AppendCol(_T("单位"), nWidth);
|
||
m_listCtrl.GetCol(0).SetReadOnly();
|
||
m_listCtrl.GetCol(1).SetReadOnly();
|
||
m_listCtrl.GetCol(2).SetReadOnly();
|
||
m_listCtrl.GetCol(3).SetReadOnly(false);
|
||
COLORREF color = RGB(255,0,0);
|
||
m_listCtrl.GetCol(3).SetTextColor(color);
|
||
m_listCtrl.GetCol(4).SetReadOnly();
|
||
m_listCtrl.GetCol(0).SetCenterAlign();
|
||
m_listCtrl.GetCol(1).SetCenterAlign();
|
||
m_listCtrl.GetCol(2).SetCenterAlign();
|
||
m_listCtrl.GetCol(3).SetCenterAlign();
|
||
m_listCtrl.GetCol(4).SetCenterAlign();
|
||
m_listCtrl.FitLastCol();
|
||
m_listCtrl.SetType(m_iType);
|
||
m_lstUnit.Reset();
|
||
}
|
||
|
||
void CMostuseHeatWaterCalcDlg::OnRadioType2()
|
||
{
|
||
int old = m_iType;
|
||
UpdateData(TRUE);
|
||
if(old == m_iType)
|
||
return;
|
||
// cet 2010.7.7 del 更换控件
|
||
// int nColumnCount = m_listCtrl.GetHeaderCtrl()->GetItemCount();
|
||
// for (int i=0;i < nColumnCount;i++)
|
||
// {
|
||
// m_listCtrl.DeleteColumn(0);
|
||
// }
|
||
// m_listCtrl.SetItemControl(EDITBOX, 4); // cet 2010.7.2 add
|
||
// m_listCtrl.InsertColumn ( 0, _T("用水部位名称"), LVCFMT_LEFT, 150 );
|
||
// m_listCtrl.InsertColumn ( 1, _T("小时水量(L)"), LVCFMT_LEFT, 80 );
|
||
// m_listCtrl.InsertColumn ( 2, _T("水温(℃)"), LVCFMT_LEFT, 60 );
|
||
// m_listCtrl.InsertColumn ( 3, _T("数量"), LVCFMT_LEFT, 60 );
|
||
// m_listCtrl.InsertColumn ( 4, _T("同时百分数"), LVCFMT_LEFT, 75 );
|
||
// m_lstUnit.Reset();
|
||
// m_listCtrl.DeleteAllItems();
|
||
|
||
// cet 2010.7.7 add
|
||
CRect rect;
|
||
m_listCtrl.GetWindowRect(&rect);
|
||
ScreenToClient(&rect);
|
||
|
||
m_listCtrl.Clear();
|
||
long nNum = m_listCtrl.GetColNum();
|
||
for (int i = nNum - 1; i > -1; i--)
|
||
{
|
||
m_listCtrl.DelCol(i);
|
||
}
|
||
|
||
long nWidth = rect.Width() / 7;
|
||
m_listCtrl.AppendCol(_T("用水部位名称"), 3 * nWidth);
|
||
m_listCtrl.AppendCol(_T("小时水量(L)"), nWidth );
|
||
m_listCtrl.AppendCol(_T("水温(℃)"), nWidth);
|
||
m_listCtrl.AppendCol(_T("数量"), nWidth);
|
||
m_listCtrl.AppendCol(_T("同时百分数"), nWidth);
|
||
m_listCtrl.GetCol(0).SetReadOnly();
|
||
m_listCtrl.GetCol(1).SetReadOnly();
|
||
m_listCtrl.GetCol(2).SetReadOnly();
|
||
m_listCtrl.GetCol(3).SetReadOnly(false);
|
||
m_listCtrl.GetCol(4).SetReadOnly(false);
|
||
COLORREF color = RGB(255,0,0);
|
||
m_listCtrl.GetCol(3).SetTextColor(color);
|
||
m_listCtrl.GetCol(4).SetTextColor(color);
|
||
m_listCtrl.GetCol(0).SetCenterAlign();
|
||
m_listCtrl.GetCol(1).SetCenterAlign();
|
||
m_listCtrl.GetCol(2).SetCenterAlign();
|
||
m_listCtrl.GetCol(3).SetCenterAlign();
|
||
m_listCtrl.GetCol(4).SetCenterAlign();
|
||
m_listCtrl.FitLastCol();
|
||
m_listCtrl.SetType(m_iType);
|
||
m_lstUnit.Reset();
|
||
}
|
||
|
||
void CMostuseHeatWaterCalcDlg::OnButtonHelp()
|
||
{
|
||
CString csPrompt;
|
||
csPrompt = _T("冷水计算温度,应以当地最冷月平均水温资料确定。\n\n");
|
||
csPrompt = csPrompt + _T("1:黑龙江、吉林、内蒙古的全部,辽宁的大部分,\n河北、山西、陕西偏北部分,宁夏偏东部分\n");
|
||
csPrompt = csPrompt + _T("地面水温度: 4℃ 地下水温度 6~10℃\n\n");
|
||
csPrompt = csPrompt + _T("2:北京、天津、山东全部,河北、山西、陕西大部分,\n河北北部,甘肃、宁夏、辽宁的南部,青海偏东和江苏偏北的一小部分\n");
|
||
csPrompt = csPrompt + _T("地面水温度: 4℃ 地下水温度 10~15℃\n\n");
|
||
csPrompt = csPrompt + _T("3:上海、浙江全部,江西、安徽、江苏的大部分,\n福建北部,湖南、湖北东部,河南南部\n");
|
||
csPrompt = csPrompt + _T("地面水温度: 5℃ 地下水温度 15~20℃\n\n");
|
||
csPrompt = csPrompt + _T("4:广东、台湾全部,广西大部分,福建、云南的南部\n");
|
||
csPrompt = csPrompt + _T("地面水温度: 10~15℃ 地下水温度 20℃\n\n");
|
||
csPrompt = csPrompt + _T("5:重庆、贵州全部,四川、云南的大部分,湖南、湖北的西部,\n陕西和甘肃秦岭以南地区,广西偏北的一小部分\n");
|
||
csPrompt = csPrompt + _T("地面水温度: 7℃ 地下水温度 15~20℃\n");
|
||
|
||
MessageBox(csPrompt);
|
||
}
|
||
|
||
void CMostuseHeatWaterCalcDlg::OnButtonWord()
|
||
{
|
||
UpdateData();
|
||
int len = m_lstUnit.Length();
|
||
if(len <=0)
|
||
return;
|
||
//初始化
|
||
COleVariant vtOptional((long)DISP_E_PARAMNOTFOUND,VT_ERROR), vtTrue((short)TRUE), vtFalse((short)FALSE);
|
||
_Application wordApplication;
|
||
Documents wordDocuments;
|
||
_Document activeDocument;
|
||
Paragraphs wordParagraphs;
|
||
Selection wordSelection;
|
||
|
||
if (!wordApplication.CreateDispatch(_T("Word.Application")))
|
||
{
|
||
AfxMessageBox(_T("不能执行Microsoft Word 8.0!"));
|
||
return;
|
||
}
|
||
|
||
// cet 2010.7.2 add 打开公式模板
|
||
TWordFormulasTemplet wdFormula;
|
||
CString sPathName = g_csSysPath;
|
||
sPathName += _T("formula.doc");
|
||
if (!wdFormula.OpenWordFormulasTempletFile(sPathName))
|
||
{
|
||
return;
|
||
}
|
||
|
||
wordApplication.SetVisible(TRUE);
|
||
wordDocuments = wordApplication.GetDocuments();
|
||
activeDocument = wordDocuments.Add(vtOptional,vtOptional);
|
||
|
||
|
||
//写一行字
|
||
wordSelection = wordApplication.GetSelection();
|
||
wordParagraphs = wordSelection.GetParagraphs();
|
||
wordParagraphs.SetAlignment(1); // 0: 居左 1:居中 2:居右
|
||
wordSelection.TypeText(_T("热水小时用水量计算书\n"));
|
||
wordParagraphs.SetAlignment(0); // 0: 居左 1:居中 2:居右
|
||
// wordSelection.TypeText(_T("按照建筑给水排水设计规范 (GB 50015-2003)进行计算\n")); // cet 2010.7.2 del
|
||
// cet 2010.7.2 add
|
||
_Font font;
|
||
font = wordSelection.GetFont();
|
||
wordSelection.TypeText(_T("按照建筑给水排水设计规范 (GB 50015-2003)(2009年版)\n"));
|
||
|
||
if(m_iType == 0){
|
||
// cet 2010.7.2 del
|
||
// wordSelection.TypeText(_T("Qh = Kh*m*Qr*C*(Tr-Tl)*ρ/86400\n"));
|
||
// wordSelection.TypeText(_T("式中: \n"));
|
||
// wordSelection.TypeText(_T("Qh -- 设计小时耗热量(W) \n"));
|
||
// wordSelection.TypeText(_T("m -- 用水计算单位数(人数或床位数)\n"));
|
||
// wordSelection.TypeText(_T("Qr -- 热水用水定额(L/人·d)\n"));
|
||
// wordSelection.TypeText(_T("C -- 水的比热 4187(J/Kg·℃\n"));
|
||
// wordSelection.TypeText(_T("Tr -- 热水温度,Tr = 60℃\n"));
|
||
// wordSelection.TypeText((const TCHAR*)XString(_T("Tl -- 冷水温度,Tl = %.0f℃\n"), m_nColdT));
|
||
// wordSelection.TypeText(_T("ρ -- 热水密度(kg/L) ρ=0.9832 \n"));
|
||
// wordSelection.TypeText(_T("Kh -- 小时变化系数\n\n"));
|
||
|
||
// cet 2010.7.2 add
|
||
wordSelection.TypeText(_T(" "));
|
||
wdFormula.InsertFormula(7, wordSelection);
|
||
wordSelection.TypeText(_T("\n式中: "));
|
||
wordSelection.TypeText(_T("Q"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("h"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 设计小时耗热量(KJ/h);\n"));
|
||
wordSelection.TypeText(_T(" m -- 用水计算单位数(人数或床位数);\n"));
|
||
wordSelection.TypeText(_T(" q"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("r"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 热水用水定额(L/人·d或L/床·d);\n"));
|
||
wordSelection.TypeText(_T(" C -- 水的比热 ,C=4.187(KJ/kg·℃);\n"));
|
||
wordSelection.TypeText(_T(" t"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("r"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 热水温度,"));
|
||
wordSelection.TypeText(_T("t"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("r"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T("=60℃\n"));
|
||
wordSelection.TypeText(_T(" t"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("l"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 冷水温度,"));
|
||
wordSelection.TypeText(_T("t"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("l"));
|
||
font.SetSubscript(0);
|
||
CString strText;
|
||
strText.Format(_T("=%.3f"), m_nColdT);
|
||
strText.TrimRight(_T("0"));
|
||
strText.TrimRight(_T("."));
|
||
strText += _T("℃;\n");
|
||
wordSelection.TypeText(strText);
|
||
wordSelection.TypeText(_T(" ρ"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("r"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 热水密度(kg/L),"));
|
||
wordSelection.TypeText(_T("ρ"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("r"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T("=0.9832; \n"));
|
||
wordSelection.TypeText(_T(" T -- 每日使用时间(h);\n"));
|
||
wordSelection.TypeText(_T(" K"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("h"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 小时变化系数;\n\n"));
|
||
}
|
||
else{
|
||
// cet 2010.7.2 del
|
||
// wordSelection.TypeText(_T("Qh = ∑(q*(Tr-Tl)*ρ*N*b*C/3600)\n"));
|
||
// wordSelection.TypeText(_T("式中: \n"));
|
||
// wordSelection.TypeText(_T("Qh -- 设计小时耗热量(W) \n"));
|
||
// wordSelection.TypeText(_T("q -- 卫生器具热水的小时用水定额(L/h)\n"));
|
||
// wordSelection.TypeText(_T("N -- 同类型卫生器具数\n"));
|
||
// wordSelection.TypeText(_T("C -- 水的比热 4187(J/Kg·℃\n"));
|
||
// wordSelection.TypeText(_T("Tr -- 热水温度 ℃\n"));
|
||
// wordSelection.TypeText((const TCHAR*)XString(_T("Tl -- 冷水温度,Tl = %.0f℃\n"), m_nColdT));
|
||
// wordSelection.TypeText(_T("ρ -- 热水密度(kg/L) ρ=0.9832 \n"));
|
||
// wordSelection.TypeText(_T("b -- 卫生器具的同时使用百分数:住宅、旅馆、医院、疗养院病房,卫生间浴盆或淋浴器可按70%~100%计,其它器具不计,但定时连续供水时间应不小于2h\n\n"));
|
||
|
||
// cet 2010.7.2 add
|
||
wordSelection.TypeText(_T(" "));
|
||
wdFormula.InsertFormula(8,wordSelection);
|
||
wordSelection.TypeText(_T("\n式中: "));
|
||
wordSelection.TypeText(_T("Q"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("h"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 设计小时耗热量(KJ/h);\n"));
|
||
wordSelection.TypeText(_T(" q"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("h"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 卫生器具热水的小时用水定额(L/h)\n"));
|
||
wordSelection.TypeText(_T(" C -- 水的比热 4.187(KJ/kg·℃);\n"));
|
||
wordSelection.TypeText(_T(" t"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("r"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 热水温度 ℃;\n"));
|
||
wordSelection.TypeText(_T(" t"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("l"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 冷水温度,"));
|
||
wordSelection.TypeText(_T("t"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("l"));
|
||
font.SetSubscript(0);
|
||
CString strTemp;
|
||
strTemp.Format(_T("=%.3f"), m_nColdT);
|
||
strTemp.TrimRight(_T("0"));
|
||
strTemp.TrimRight(_T("."));
|
||
strTemp += _T("℃;\n");
|
||
wordSelection.TypeText(strTemp);
|
||
wordSelection.TypeText(_T(" ρ"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("r"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 热水密度(kg/L); \n"));
|
||
wordSelection.TypeText(_T(" n"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("0"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 同类型卫生器具数;\n"));
|
||
wordSelection.TypeText(_T(" b -- 卫生器具的同时使用百分数;\n\n"));
|
||
}
|
||
// cet 2010.7.2 del
|
||
// wordSelection.TypeText(_T("Qrh = Qh / (1.163*(Tr-Tl)*ρ)\n"));
|
||
// wordSelection.TypeText(_T("式中: \n"));
|
||
// wordSelection.TypeText(_T("Qrh -- 设计小时热水量(L/h) \n"));
|
||
// wordSelection.TypeText(_T("Qh -- 设计小时耗热量(W) \n"));
|
||
// wordSelection.TypeText((const TCHAR*)XString(_T("Tr -- 设计热水温度,Tl = %.0f℃\n"), m_nHeatT));
|
||
// wordSelection.TypeText((const TCHAR*)XString(_T("Tl -- 设计冷水温度,Tl = %.0f℃\n"), m_nColdT));
|
||
// wordSelection.TypeText(_T("ρ -- 热水密度(kg/L) ρ=0.9832 \n\n"));
|
||
|
||
// cet 2010.7.2 add
|
||
wordSelection.TypeText(_T(" "));
|
||
wdFormula.InsertFormula(9,wordSelection);
|
||
wordSelection.TypeText(_T("\n式中: "));
|
||
wordSelection.TypeText(_T("q"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("rh"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 设计小时热水量(L/h);\n"));
|
||
wordSelection.TypeText(_T(" Q"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("h"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 设计小时耗热量(KJ/h);\n"));
|
||
wordSelection.TypeText(_T(" t"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("l"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 设计热水温度,"));
|
||
wordSelection.TypeText(_T("t"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("l"));
|
||
font.SetSubscript(0);
|
||
CString strTemp;
|
||
strTemp.Format(_T("=%.3f"), m_nHeatT);
|
||
strTemp.TrimRight(_T("0"));
|
||
strTemp.TrimRight(_T("."));
|
||
strTemp += _T("℃;\n");
|
||
wordSelection.TypeText(strTemp);
|
||
wordSelection.TypeText(_T(" t"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("r"));
|
||
font.SetSubscript(0);
|
||
wordSelection.TypeText(_T(" -- 设计冷水温度,"));
|
||
wordSelection.TypeText(_T("t"));
|
||
font.SetSubscript(2); //处理下标
|
||
wordSelection.TypeText(_T("r"));
|
||
font.SetSubscript(0);
|
||
strTemp.Format(_T("=%.3f"), m_nColdT);
|
||
strTemp.TrimRight(_T("0"));
|
||
strTemp.TrimRight(_T("."));
|
||
strTemp += _T("℃;\n\n");
|
||
wordSelection.TypeText(strTemp);
|
||
|
||
double nMostByDate(0), nMostByHour(0), nAverage(0);
|
||
CString csMostByDate, csMostByHour, csAverage, csPercent;
|
||
wordSelection.TypeText(_T("各用水部位统计结果如下\n"));
|
||
|
||
|
||
//画表格
|
||
int rows(len+1), columns(3);
|
||
|
||
Selection wSelection = wordApplication.GetSelection();
|
||
Range oRange = wSelection.GetRange();
|
||
Tables oTables = activeDocument.GetTables();
|
||
_Table oTable = oTables.Add(oRange, rows, columns);
|
||
// cet 2010.3.25 add
|
||
Borders oBorders = oTable.GetBorders();
|
||
oBorders.SetInsideLineStyle(1); // 设置表格线型
|
||
oBorders.SetOutsideLineStyle(1);
|
||
|
||
Columns oColumns;
|
||
Column oColumn;
|
||
oColumns = oTable.GetColumns();
|
||
oColumn = oColumns.Item(1);
|
||
oColumn.SetWidth(190, 0); // 0 = wdAdjustNone
|
||
oColumn = oColumns.Item(2);
|
||
oColumn.SetWidth(85, 0);
|
||
oColumn = oColumns.Item(3);
|
||
oColumn.SetWidth(85, 0);
|
||
|
||
|
||
|
||
Cell oCell;
|
||
oCell = oTable.Cell(1, 1);
|
||
oRange = oCell.GetRange();
|
||
oRange.InsertAfter(_T("用水部位"));
|
||
|
||
oCell = oTable.Cell(1, 2);
|
||
oRange = oCell.GetRange();
|
||
oRange.InsertAfter(_T("用水标准"));
|
||
|
||
|
||
oCell = oTable.Cell(1, 3);
|
||
oRange = oCell.GetRange();
|
||
oRange.InsertAfter(_T("数量"));
|
||
|
||
|
||
for(int i=1;i<len+1;i++){
|
||
SUseUnitData *pData = m_lstUnit[i-1];
|
||
CString csStdUse, csNum;
|
||
csStdUse.Format(_T("%.2f"), pData->m_nStdUse);
|
||
csNum.Format(_T("%d"), pData->m_iNum);
|
||
oCell = oTable.Cell(i+1, 1);
|
||
oRange = oCell.GetRange();
|
||
oRange.InsertAfter(pData->m_csName);
|
||
|
||
oCell = oTable.Cell(i+1, 2);
|
||
oRange = oCell.GetRange();
|
||
oRange.InsertAfter(csStdUse);
|
||
|
||
oCell = oTable.Cell(i+1, 3);
|
||
oRange = oCell.GetRange();
|
||
oRange.InsertAfter(csNum);
|
||
}
|
||
|
||
COleVariant vtOptional2((long)DISP_E_PARAMNOTFOUND,VT_ERROR);
|
||
wordSelection = wordApplication.GetSelection();
|
||
wordSelection.GoTo(COleVariant((short)3), // 3 = wdGoToLine
|
||
COleVariant((short)-1),vtOptional2,vtOptional2); // -1 = wdGoToLast
|
||
|
||
wSelection = wordApplication.GetSelection();
|
||
wSelection.TypeParagraph();
|
||
|
||
wordSelection.TypeText(_T("总计如下\n"));
|
||
// cet 2010.7.2 del
|
||
// csPercent.Format(_T("小时用水量:%s (m3/h)\n"), m_csRet);
|
||
// wordSelection.TypeText(csPercent);
|
||
//
|
||
// csPercent.Format(_T("设计小时耗热量:%s (w)\n"), m_csRetW);
|
||
// wordSelection.TypeText(csPercent);
|
||
|
||
// cet 2010.7.2 add
|
||
csPercent.Format(_T("设计小时热水量:%s (L/h)\n"), m_csRet);
|
||
wordSelection.TypeText(csPercent);
|
||
csPercent.Format(_T("设计小时耗热量:%s (KJ/h)\n"), m_csRetW);
|
||
wordSelection.TypeText(csPercent);
|
||
wdFormula.CloseFile();
|
||
|
||
}
|