📄 czwdform.cpp
字号:
Temp2=m_SJSR.GetText();
x1=atof(Temp2);
x=x1*1000.00/6.895;
m_SJSR.SetRow(5);
Temp4=m_SJSR.GetText();
yy1=atof(Temp4);
yy=yy1*1000.00/6.895;
//判断数据有效性
double zxz[10],zdz[10],qz[10];
for(i=3;i<=5;i++)
{
m_SJSR.SetRow(i);
m_SJSR.SetCol(3);
zxz[i]=atof(m_SJSR.GetText());
m_SJSR.SetCol(4);
zdz[i]=atof(m_SJSR.GetText());
m_SJSR.SetCol(5);
qz[i]=atof(m_SJSR.GetText());
}
if(qz[3]>=zxz[3]&&qz[3]<=zdz[3]&&qz[4]>=zxz[4]&&qz[4]<=zdz[4]&&qz[5]>=zxz[5]&&qz[5]<=zdz[5]&&qz[4]>qz[5])
{
if (rg >= 0.6 && rg < 0.7) //相对密度为0.6
{
for (i=0;i<=13;i++)
{
yw[i] =xdmd66(x, 40+i*10);
}
for (i=1;i<=13;i++)
{
if (yy - yw[i-1] <= 0 && yy - yw[i] >= 0 || (yw[i-1] - yw[i] != 0))
{
wd1 = 40 + (i - 1) * 10;
wd2 = 40 + i * 10;
wdwd = wd1 + (wd2 - wd1) * (yw[i-1] - yy) / (yw[i-1] - yw[i]);
wd=(wdwd-32.00)*5.0/9.0;
}
}
for (i=0;i<=14;i++)
{
pd=pd+yw[i];
}
if (fabs(rg - 0.6) <= 0.0001)
{
if (pd==0)
{
AfxMessageBox("该条件下不生成水合物");
return;
}
else
{
gcvt(wd,7,Temp3);
m_SJSR.SetCol(2);
m_SJSR.SetRow(8);
m_SJSR.SetValue(Temp3);
return;
}
}
else
{
wd2 = wd;
y = 1; // add by lzj, wrong
y2 = y;
}
}
if (rg > 0.6 && rg < 0.8) //相对密度为0.7
{
for (i=0;i<=14;i++)
{
yw[i] =xdmd77(x, 40 + i * 10);
}
for (i=1;i<=14;i++)
{
if (yy - yw[i-1] <= 0 && yy - yw[i] >= 0||(yw[i-1]- yw[i] != 0))
{
wd1 = 40 + (i-1) * 10;
wd2 = 40 + i * 10;
wdwd = wd1 + (wd2 - wd1) * (yw[i-1] - yy) / (yw[i-1] - yw[i]);
wd=(wdwd-32.00)*5.0/9.0;
}
}
for (i=0;i<=14;i++)
{
pd=pd+yw[i];
}
if (fabs(rg - 0.7) <= 0.0001)
{
if (pd==0)
{
AfxMessageBox("该条件下不生成水合物");
return;
}
else
{
gcvt(wd,7,Temp3);
m_SJSR.SetCol(2);
m_SJSR.SetRow(8);
m_SJSR.SetValue(Temp3);
return;
}
}
if (rg > 0.7)
{
wd2 = wd;
y2 = y;
}
else
{
wd1 = wd;
y1 = y;
}
}
if (rg > 0.6 && rg < 0.7) //相对密度在0.6和0.7之间
{
rg1 = 0.6;
rg2 = 0.7;
wdwd = wd1 + (wd2 - wd1) * (rg1 - rg) / (rg1 - rg2);
wd=(wdwd-32.00)*5.0/9.0;
}
if (rg > 0.7 && rg < 0.9) //相对密度为0.8
{
for (i=0;i<=17;i++)
{
yw[i] =xdmd88( x, 50 + i * 10);
}
for (i=1;i<=17;i++)
{
if (yy - yw[i-1] <= 0 && yy - yw[i] >= 0 || (yw[i-1] - yw[i] != 0))
{
wd1 = 50 + (i-1) * 10;
wd2 = 50 + i * 10;
wdwd = wd1 + (wd2 - wd1) * (yw[i-1] - yy) / (yw[i-1] - yw[i]);
wd=(wdwd-32.00)*5.0/9.0;
}
}
for (i=0;i<=17;i++)
{
pd=pd+yw[i];
}
if (fabs(rg - 0.8) <= 0.0001)
{
if (pd==0)
{
AfxMessageBox("该条件下不生成水合物");
return;
}
else
{
gcvt(wd,7,Temp3);
m_SJSR.SetCol(2);
m_SJSR.SetRow(8);
m_SJSR.SetValue(Temp3);
return;
}
}
if (rg > 0.8)
{
wd2 = wd;
y2 = y;
}
else
{
wd1 = wd;
y1 = y;
}
}
if (rg > 0.7 && rg < 0.8) //相对密度在0.7和0.8之间
{
rg1 = 0.7;
rg2 = 0.8;
wdwd = wd1 + (wd2 - wd1) * (rg1 - rg) / (rg1 - rg2);
wd=(wdwd-32.00)*5.0/9.0;
}
if (rg > 0.8 && rg < 1) //相对密度为0.9
{
for (i=0;i<=17;i++)
{
yw[i] =xdmd99( x, 50 + i * 10);
}
for (i =1;i<=17;i++)
{
if (yy - yw[i-1] <= 0 && yy - yw[i] >= 0||(yw[i-1]- yw[i] != 0))
{
wd1 = 50 + (i-1) * 10;
wd2 = 50 + i * 10;
wdwd = wd1 + (wd2 - wd1) * (yw[i-1] - yy) / (yw[i-1] - yw[i]);
wd=(wdwd-32.00)*5.0/9.0;
}
}
for (i=0;i<=17;i++)
{
pd=pd+yw[i];
}
if (fabs(rg - 0.9) <= 0.0001)
{
if (pd==0)
{
AfxMessageBox("该条件下不生成水合物");
return;
}
else
{
gcvt(wd,7,Temp3);
m_SJSR.SetCol(2);
m_SJSR.SetRow(8);
m_SJSR.SetValue(Temp3);
return;
}
}
if (rg > 0.9)
{
wd2 = wd;
y2 = y;
}
else
{
wd1 = wd;
y1 = y;
}
}
if (rg > 0.8 && rg < 0.9) //相对密度在0.8和0.9之间
{
rg1 = 0.8;
rg2 = 0.9;
wdwd = wd1 + (wd2 - wd1) * (rg1 - rg) / (rg1 - rg2);
wd=(wdwd-32.00)*5.0/9.0;
}
if (rg > 0.9 && rg <= 1) //相对密度为1
{
for (i =0;i<=18;i++)
{
yw[i] = xdmd1010(x, 50 + i * 10);
}
for (i=1;i<=17;i++)
{
if (yy - yw[i-1] <= 0 && yy - yw[i] >= 0||(yw[i-1]- yw[i] != 0))
{
wd1 = 50 + (i-1) * 10;
wd2 = 50 + i * 10;
wdwd = wd1 + (wd2 - wd1) * (yw[i-1] - yy) / (yw[i-1] - yw[i]);
wd=(wdwd-32.00)*5.0/9.0;
}
}
for (i=0;i<=18;i++)
{
pd=pd+yw[i];
}
if (fabs(rg - 1) <= 0.0001)
{
if (pd==0)
{
AfxMessageBox("该条件下不生成水合物");
}
else
{
gcvt(wd,7,Temp3);
m_SJSR.SetCol(2);
m_SJSR.SetRow(8);
m_SJSR.SetValue(Temp3);
return;
}
}
if (rg > 1)
{
wd2 = wd;
y2 = y;
}
else
{
wd1 = wd;
y1 = y;
}
}
if (rg > 0.9 && rg < 1) //相对密度在0.9和1之间
{
rg1 = 0.8;
rg2 = 0.9;
wdwd = wd1 + (wd2 - wd1) * (rg1 - rg) / (rg1 - rg2);
wd=(wdwd-32.00)*5.0/9.0;
}
//输出结果
gcvt(wd,7,Temp3);
m_SJSR.SetCol(2);
m_SJSR.SetRow(8);
m_SJSR.SetValue(Temp3);
}
else
{
AfxMessageBox("输入数据非法,请验证后再计算");
}
}
void CCzwdForm::OnShwrjSave()
{
UpdateData(TRUE);
CString fileDialogFilter1="操作温度数据文件(*.CZWD)|*.CZWD||";
const char fileDialogExt1[] = "CZWD";
CFileDialog fileDialog1(FALSE,fileDialogExt1,NULL,OFN_FILEMUSTEXIST, fileDialogFilter1);
if(fileDialog1.DoModal()==IDOK)
{
CString filename1=fileDialog1.GetPathName();//+fileDialog.GetFileName();
m_SJSR.SaveToFile(filename1,FALSE);
}
}
void CCzwdForm::OnShwrjPrint()
{
// TODO: Add your command handler code here
m_SJSR.SetAction(13);
}
void CCzwdForm::OnShwrjPrintpreview()
{
// TODO: Add your command handler code here
CPreview dlg(&m_SJSR);
dlg.DoModal();
}
void CCzwdForm::OnContextMenu(CWnd*, CPoint point)
{
// CG: This block was added by the Pop-up Menu component { if (point.x == -1 && point.y == -1){ //keystroke invocation CRect rect; GetClientRect(rect); ClientToScreen(rect); point = rect.TopLeft(); point.Offset(5, 5); } CMenu menu; VERIFY(menu.LoadMenu(IDR_POPUP_SHWRJ)); CMenu* pPopup = menu.GetSubMenu(0); ASSERT(pPopup != NULL); CWnd* pWndPopupOwner = this;// while (pWndPopupOwner->GetStyle() & WS_CHILD)// pWndPopupOwner = pWndPopupOwner->GetParent(); pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, pWndPopupOwner); }
}
void CCzwdForm::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
if(m_SJSR.m_hWnd != NULL)
{
CRect rc;
GetClientRect(&rc);
m_SJSR.SetWindowPos(NULL, rc.left, rc.top, rc.Width(), rc.Height(), NULL);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -