📄 xianxingdlg.cpp
字号:
// XianxingDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Yornik1.h"
#include "XianxingDlg.h"
//#include "FengmianDlg.h"
//#include "BijiaoDlg.h"
//#include "BaojiaDlg.h"
#include "comdef.h"
#include "Excel9.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CXianxingDlg dialog
extern CString combo[8];
extern CString chandi[8],nengxiaobi;
extern int shuliang[8];
extern float danjia[16];
extern float chengben[8];
extern float xiaoji[8];
extern float chengbenjia[8];
extern float gonglv1;
extern float a[8];
extern bool flag1;
extern jizu Jizu[20];
//extern CString m_str;
//extern CComboBox m_combo1;
CXianxingDlg::CXianxingDlg(CWnd* pParent /*=NULL*/)
: CDialog(CXianxingDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CXianxingDlg)
m_zong = 0.0f;
s_feng = 0.0f;
m_bu = 0.0f;
s_bu = 0.0f;
m_a1 = 0.0f;
m_a2 = 0.0f;
m_a3 = 0.0f;
m_a4 = 0.0f;
t_di = 0.0f;
t_gao = 0.0f;
m_jisuan = 0.0f;
p_dian = 0.0f;
w_dian = 0.0f;
v = 0.0f;
tai = 0;
w_zong = 0.0f;
w_ji = 0.0f;
w_1 = 0.0f;
m_e = 0.0f;
m_shuiliang = 0.0f;
tai1 = 0;
num = _T("");
m_wencha = _T("");
m_xiaolv = _T("");
m_num = _T("");
t_ji = _T("");
m_feng = _T("1000");
t_feng = _T("240");
//}}AFX_DATA_INIT
}
void CXianxingDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CXianxingDlg)
DDX_Control(pDX, IDC_COMBO4, m_shebei1);
DDX_Control(pDX, IDC_COMBO1, m_shebei);
DDX_Text(pDX, IDC_EDIT1, m_zong);
DDX_Text(pDX, IDC_EDIT11, s_feng);
DDX_Text(pDX, IDC_EDIT12, m_bu);
DDX_Text(pDX, IDC_EDIT13, s_bu);
DDX_Text(pDX, IDC_EDIT14, m_a1);
DDX_Text(pDX, IDC_EDIT15, m_a2);
DDX_Text(pDX, IDC_EDIT16, m_a3);
DDX_Text(pDX, IDC_EDIT17, m_a4);
DDX_Text(pDX, IDC_EDIT18, t_di);
DDX_Text(pDX, IDC_EDIT19, t_gao);
DDX_Text(pDX, IDC_EDIT2, m_jisuan);
DDX_Text(pDX, IDC_EDIT20, p_dian);
DDX_Text(pDX, IDC_EDIT21, w_dian);
DDX_Text(pDX, IDC_EDIT22, v);
DDX_Text(pDX, IDC_EDIT24, tai);
DDX_Text(pDX, IDC_EDIT3, w_zong);
DDX_Text(pDX, IDC_EDIT4, w_ji);
DDX_Text(pDX, IDC_EDIT5, w_1);
DDX_Text(pDX, IDC_EDIT7, m_e);
DDX_Text(pDX, IDC_EDIT8, m_shuiliang);
DDX_Text(pDX, IDC_EDIT29, tai1);
DDX_Text(pDX, IDC_EDIT23, num);
DDX_Text(pDX, IDC_EDIT25, m_wencha);
DDX_Text(pDX, IDC_EDIT26, m_xiaolv);
DDX_Text(pDX, IDC_EDIT27, m_num);
DDX_Text(pDX, IDC_EDIT6, t_ji);
DDX_Text(pDX, IDC_EDIT9, m_feng);
DDX_Text(pDX, IDC_EDIT10, t_feng);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CXianxingDlg, CDialog)
//{{AFX_MSG_MAP(CXianxingDlg)
ON_CBN_SELCHANGE(IDC_COMBO1, OnSelchangeCombo1)
ON_BN_CLICKED(IDC_OK2, OnOk2)
ON_CBN_SELCHANGE(IDC_COMBO4, OnSelchangeCombo4)
ON_WM_TIMER()
ON_EN_CHANGE(IDC_EDIT6, OnChangeEdit6)
ON_EN_CHANGE(IDC_EDIT23, OnChangeEdit23)
ON_EN_CHANGE(IDC_EDIT25, OnChangeEdit25)
ON_EN_CHANGE(IDC_EDIT26, OnChangeEdit26)
ON_EN_CHANGE(IDC_EDIT27, OnChangeEdit27)
ON_EN_CHANGE(IDC_EDIT10, OnChangeEdit10)
ON_EN_CHANGE(IDC_EDIT9, OnChangeEdit9)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CXianxingDlg message handlers
BOOL CXianxingDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// CBaojiaDlg::m_str="";
t_ji="10";
t_di=20;
t_gao=55;
m_a1=0.9;
m_a2=0.7;
m_a3=0.4;
m_a4=0.2;
m_wencha="35";
m_xiaolv="4.5";
vSQL="SELECT * FROM 空气源热水约能主机";
m_nRecordset=m_com.GetRecordSet(vSQL);
int i=0;
CString m_str;
while(!m_nRecordset->adoEOF)
{
m_shebei.AddString((LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("型号"));
m_shebei1.AddString((LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("型号"));
Jizu[i].xinghao=(LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("型号");
Jizu[i].chandi=(LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("产地");
Jizu[i].danjia=atof((LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("单价(万元)"));
Jizu[i].chengben=atof((LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("成本价(万元)"));
Jizu[i].chanshuilv=atof((LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("产水率(L/H)"));
Jizu[i].gonglv=atof((LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("输入功率(KW)"));
Jizu[i].zhire=atof((LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("制热量(KW)"));
Jizu[i].chicun=atof((LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("接管尺寸(DN)"));
Jizu[i].zhijing=atof((LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("电缆直径(mm)"));
Jizu[i].dianre=atof((LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("电加热功率(KW)"));
Jizu[i].danjia1=atof((LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("电热单价(万元)"));
Jizu[i].chengben1=atof((LPCTSTR)(_bstr_t)m_nRecordset->GetCollect("电热成本(万元)"));
m_nRecordset->MoveNext();
i++;}
SetTimer(1,100,NULL);
UpdateData(false);
m_tooltip3.Create(this);
m_tooltip3.AddTool(GetDlgItem(IDC_OK2), _T("<b><ct=0x0000FF><al_c>文件存放在D:\\Yornik2\\输出文件目录下</b>"));
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
float g;
CString tring;
void CXianxingDlg::OnSelchangeCombo1()
{flag1=false;
CButton *m_check=(CButton*)GetDlgItem(IDC_CHECK);
UpdateData(true);
if(m_check->GetCheck())
{int s1=m_shebei.GetCurSel();
m_shebei.GetLBText(s1,tring);
combo[0]=tring;
shuliang[0]=tai;
danjia[0]=Jizu[s1].danjia;
chengben[0]=Jizu[s1].chengben;
m_zong=atoi(num)*atoi(m_num);
a[1]=m_zong;
m_jisuan=m_zong;
w_zong=m_jisuan*atof(m_wencha);
a[0]=w_zong;
w_ji=w_zong*1;
w_1=w_ji/860.0/atof(m_xiaolv);
a[2]=w_1;
int d1=m_shebei1.GetCurSel();
m_e=Jizu[s1].chanshuilv+Jizu[d1].chanshuilv;
m_shuiliang=tai*atof(t_ji)*Jizu[s1].chanshuilv+tai1*atof(t_ji)*Jizu[d1].chanshuilv;
p_dian=6+3*(tai+tai1-1);
w_dian=p_dian*860/40;
gonglv1=p_dian;
a[6]=atof(m_feng);
CString str100,str101;
int a111,a112;
a111=m_shebei.GetCurSel();
a112=m_shebei1.GetCurSel();
m_shebei.GetLBText(a111,str100);
m_shebei1.GetLBText(a112,str101);
if(strcmp(str100,str101)==0)
{tai=tai+tai1;
tai1=0;
m_shebei1.SetCurSel(-1);
combo[4]="";
danjia[4]=0;
chengben[4]=0;
chandi[4]="";
shuliang[4]=tai1;
shuliang[0]=tai;
m_e=m_e/2;
m_shuiliang=m_e*tai*atof(t_ji);
}
UpdateData(false);
}
else
if(atoi(num)>0&&atoi(m_num)>0&&atof(m_feng)>0&&atof(t_feng)>0)
{ CString str;
float yu,yu1[20],all[20];
int index=m_shebei.GetCurSel();
m_shebei.GetLBText(index,str);
for(int i=0;i<m_shebei.GetCount();i++)
{if(strcmp(str,Jizu[i].xinghao)==0)
{m_e=Jizu[i].chanshuilv;
combo[0]=Jizu[i].xinghao;
danjia[0]=Jizu[i].danjia;
chengben[0]=Jizu[i].chengben;
chandi[0]=Jizu[i].chandi;
g=m_zong/(atof(t_ji)*Jizu[i].chanshuilv);
tai=(int)g;
shuliang[0]=tai;
if(tai==0)
{m_shebei.SetCurSel(-1);
combo[0]="";
chandi[0]="";
danjia[0]=0;
chengben[0]=0;
shuliang[0]=0;
m_e=0;
}
m_shuiliang=tai*atof(t_ji)*Jizu[i].chanshuilv;
//UpdateData(false);
yu=m_zong-tai*atof(t_ji)*Jizu[i].chanshuilv;
if(yu>0)
{
for(int n=0;n<m_shebei1.GetCount();n++)
{yu1[n]=yu/(Jizu[n].chanshuilv*atof(t_ji));
if((yu1[n]+0.5)>=(float)((int)yu1[n]+1))
all[n]=Jizu[n].danjia*((int)yu1[n]+1);
else
all[n]=Jizu[n].danjia*(int)yu1[n];
}
float min2=0;
for(int z=0;z<m_shebei1.GetCount();z++)
{if(all[z]>0)
{min2=all[z];
break;
}
}
if(min2>0)
{
for(int d=0;d<m_shebei1.GetCount();d++)
{if(m_shebei1.GetCount()>1)
{if(all[d]<min2&&all[d]>0)
{min2=all[d];
}
}
}
for(int t=0;t<m_shebei1.GetCount();t++)
{if(all[t]==min2)
{for(int u=0;u<m_shebei1.GetCount();u++)
{m_shebei1.GetLBText(u,str);
if(strcmp(Jizu[t].xinghao,str)==0)
{m_shebei1.SetCurSel(u);
tai1=min2/Jizu[t].danjia;
shuliang[4]=tai1;
//if(tai1==0)
//m_shebei.SetCurSel(-1);
if(tai1!=0)
{
m_e+=Jizu[t].chanshuilv;
m_shuiliang+=tai1*atof(t_ji)*Jizu[t].chanshuilv;
combo[4]=Jizu[t].xinghao;
danjia[4]=Jizu[t].danjia;
chengben[4]=Jizu[t].chengben;
chandi[4]=Jizu[t].chandi;
}
UpdateData(false);
}
}
}
}
}
else
{m_shebei1.SetCurSel(-1);
shuliang[4]=0;
tai1=0;
combo[4]="";
danjia[4]=0;
chengben[4]=0;
chandi[4]="";
}
}
else
{m_shebei1.SetCurSel(-1);
shuliang[4]=0;
tai1=0;
combo[4]="";
danjia[4]=0;
chengben[4]=0;
chandi[4]="";
}
CString str100,str101;
int a111,a112;
a111=m_shebei.GetCurSel();
a112=m_shebei1.GetCurSel();
m_shebei.GetLBText(a111,str100);
m_shebei1.GetLBText(a112,str101);
if(strcmp(str100,str101)==0)
{tai=tai+tai1;
tai1=0;
m_shebei1.SetCurSel(-1);
combo[4]="";
danjia[4]=0;
chengben[4]=0;
chandi[4]="";
shuliang[4]=tai1;
shuliang[0]=tai;
m_e=m_e/2;
m_shuiliang=m_e*tai*atof(t_ji);
}
p_dian=6+3*(tai+tai1-1);
w_dian=p_dian*860/40;
//m_shuiliang=m_e*atof(t_ji)*tai;
s_feng=atof(m_feng)/atof(t_feng);
float a=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -