📄 newsourcedataview.cpp
字号:
&& wnd->m_structBDTTable.fOilResCannulaDiameter == 0.24448f)
m_iCanPara = 7;
else if(wnd->m_structBDTTable.fOilResCannulaCliffDeep == 0.0089f
&& wnd->m_structBDTTable.fOilResCannulaDiameter == 0.24448f)
m_iCanPara = 8;
else if(wnd->m_structBDTTable.fOilResCannulaCliffDeep == 0.011f
&& wnd->m_structBDTTable.fOilResCannulaDiameter == 0.24448f)
m_iCanPara = 9;
else if(wnd->m_structBDTTable.fOilResCannulaCliffDeep == 0.01384f
&& wnd->m_structBDTTable.fOilResCannulaDiameter == 0.24448f)
m_iCanPara = 10;
else if(wnd->m_structBDTTable.fOilResCannulaCliffDeep == 0.0089f
&& wnd->m_structBDTTable.fOilResCannulaDiameter == 0.27305f)
m_iCanPara = 11;
else if(wnd->m_structBDTTable.fOilResCannulaCliffDeep == 0.0126f
&& wnd->m_structBDTTable.fOilResCannulaDiameter == 0.27305f)
m_iCanPara = 12;
else if(wnd->m_structBDTTable.fOilResCannulaCliffDeep == 0.0097f
&& wnd->m_structBDTTable.fOilResCannulaDiameter == 0.33973)
m_iCanPara = 13;
else if(wnd->m_structBDTTable.fOilResCannulaCliffDeep == 0.011f
&& wnd->m_structBDTTable.fOilResCannulaDiameter == 0.33973f)
m_iCanPara = 14;
else
m_iCanPara = -1;
// UpdateData(FALSE);
}
void CNewSourceDataView::OnButtonBasedataAdd()
{
// TODO: Add your control notification handler code here
int iTemp=m_ctrlList.GetSelectionMark ();
if(iTemp < 0 ) return;
if(m_ctrlSelected.GetCount () >= 8)
{
MessageBox("最多只能选择8个射孔弹。","工程信息");
return;
}
char str[40];
m_ctrlList.GetItemText (iTemp,0,str,40);
m_ctrlSelected.AddString (str);
m_ctrlList.SetSelectionMark (-1);
bModified = true;
}
void CNewSourceDataView::OnButtonBasedataClear()
{
// TODO: Add your control notification handler code here
m_ctrlSelected.ResetContent ();
bModified = true;
}
void CNewSourceDataView::OnButtonBasedataDel()
{
// TODO: Add your control notification handler code here
m_ctrlSelected.DeleteString (m_ctrlSelected.GetCurSel () );
bModified = true;
}
void CNewSourceDataView::OnButtonLoadbullet()
{
// TODO: Add your control notification handler code here
CMainFrame* wnd = (CMainFrame*)AfxGetMainWnd();
m_cstrSDTPath = wnd->m_cstrSDTPath ;
// UpdateData(TRUE);
for(int i=0;i<10;i++)
{
m_ctrlList.DeleteColumn (0);
}
m_ctrlList.InsertColumn (0,"射孔弹型号",LVCFMT_LEFT ,200,0);
m_ctrlList.InsertColumn (1,"厂家",LVCFMT_LEFT ,60,1);
m_ctrlList.InsertColumn (2,"穿深",LVCFMT_LEFT ,60,2);
m_ctrlList.InsertColumn (3,"孔径",LVCFMT_LEFT ,60,3);
m_ctrlList.InsertColumn (4,"压厚",LVCFMT_LEFT ,60,4);
m_ctrlList.InsertColumn (5,"压程",LVCFMT_LEFT ,60,5);
m_ctrlList.InsertColumn (6,"CFE",LVCFMT_LEFT ,60,6);
m_ctrlList.InsertColumn (7,"Φ",LVCFMT_LEFT ,60,7);
m_ctrlList.InsertColumn (8,"BL",LVCFMT_LEFT ,60,8);
m_ctrlList.InsertColumn (9,"BJ",LVCFMT_LEFT ,60,9);
// UpdateData(FALSE);
CFile fileHandle;
STRUCTSDTHEAD fileHead;
if(fileHandle.Open (
m_cstrSDTPath,
CFile::modeRead ))
{
fileHandle.Read (&fileHead,sizeof(STRUCTSDTHEAD)); //读文件头
CString csTemp = "[SDT]";
if(csTemp.Compare (fileHead.strFileHead )!=0)
{
fileHandle.Close ();
MessageBox("文件类型错误 !" ,"错误" ,MB_ICONHAND|MB_ICONSTOP|MB_ICONERROR);
return;
}
// UpdateData(TRUE);
m_ctrlList.DeleteAllItems ();
LVITEM pitem;
pitem.mask=LVIF_TEXT;
pitem.state=0;
pitem.stateMask=0;
pitem.iSubItem=0;
pitem.pszText="";
char str[40];
m_nNum = fileHead.iNum;
for(i=0;i<fileHead.iNum;i++)
{
fileHandle.Read (&m_structSDT[i],sizeof(STRUCTSDTTABLE));
pitem.iItem=i;
m_ctrlList.InsertItem (&pitem);
m_ctrlList.SetItemText (i,0,m_structSDT[i].strModel );
m_ctrlList.SetItemText (i,1,m_structSDT[i].strCo );
sprintf(str,"%5.1f",m_structSDT[i].fShotDepth );
m_ctrlList.SetItemText (i,2,str);
sprintf(str,"%3.1f",m_structSDT[i].fDiameter);
m_ctrlList.SetItemText (i,3, str);
sprintf(str,"%3.1f",m_structSDT[i].fPressDeep );
m_ctrlList.SetItemText (i,4, str);
sprintf(str,"%2.3f",m_structSDT[i].fPressLong );
m_ctrlList.SetItemText (i,5,str);
sprintf(str,"%2.3f",m_structSDT[i].fCFE );
m_ctrlList.SetItemText (i,6,str);
sprintf(str,"%2.3f",m_structSDT[i].fPortion );
m_ctrlList.SetItemText (i,7,str);
sprintf(str,"%5.1f",m_structSDT[i].fBL );
m_ctrlList.SetItemText (i,8,str);
sprintf(str,"%5.1f",m_structSDT[i].fBJ );
m_ctrlList.SetItemText (i,9,str);
}
// UpdateData(FALSE);
}
else
{
MessageBox("文件打开错误或文件不存在 !" ,"错误" ,MB_ICONHAND|MB_ICONSTOP|MB_ICONERROR);
return;
}
fileHandle.Close ();
}
void CNewSourceDataView::Save()
{
CMainFrame* wnd = (CMainFrame*)AfxGetMainWnd();
// UpdateData();
/* if(m_iCanModel == 0)
m_cstrOilResCanModel = "P110";
else if(m_iCanModel == 1)
m_cstrOilResCanModel = "N80";
else if(m_iCanModel == 2)
m_cstrOilResCanModel = "J55";
*/
switch(m_iCanPara)
{
case -1:
break;
case 0:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.0075f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.127f;
break;
case 1:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.007f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.1397f;
break;
case 2:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.0092f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.1397f;
break;
case 3:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.009f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.16828f;
break;
case 4:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.006f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.1778f;
break;
case 5:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.0092f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.1778f;
break;
case 6:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.01f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.21908f;
break;
case 7:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.0089f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.24448f;
break;
case 8:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.0089f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.24448f;
break;
case 9:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.011f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.24448f;
break;
case 10:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.01384f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.24448f;
break;
case 11:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.0089f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.27305f;
break;
case 12:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.0126f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.27305f;
break;
case 13:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.0097f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.33973f;
break;
case 14:
wnd->m_structBDTTable.fOilResCannulaCliffDeep = 0.011f;
wnd->m_structBDTTable.fOilResCannulaDiameter = 0.33973f;
break;
}
wnd->m_structBDTTable .bState = TRUE;
wnd->m_structBDTTable.fCannulaPressResistance = m_fCanPressRes ;
wnd->m_structBDTTable.fProducePressDiff = m_fComputePressDiff ;
wnd->m_structBDTTable.fDrillPolluteDepth = m_fDrillPollutDepth ;
wnd->m_structBDTTable.fDrillPollutePercent = m_fDrillPollutePercent ;
wnd->m_structBDTTable.fFloorGasPorportion = m_fFloorGasPorportion ;
wnd->m_structBDTTable.fFloorOilPorportion = m_fFloorOilPorportion ;
wnd->m_structBDTTable.fOilFaceTension = m_fOilFaceTension ;
sprintf(wnd->m_structBDTTable.strOilResCannulaModel ,"%s", m_cstrOilResCanModel) ;
wnd->m_structBDTTable.fOilSaturationPress = m_fOilSaturationPress ;
wnd->m_structBDTTable.fProduceGasWater = m_fProduceGasWater ;
wnd->m_structBDTTable.fRevealOilRadius = m_fRevealOilRadius ;
wnd->m_structBDTTable.fShotDen [0] = m_fShotDen1 ;
wnd->m_structBDTTable.fShotDen [1] = m_fShotDen2 ;
wnd->m_structBDTTable.fShotDen [2] = m_fShotDen3 ;
wnd->m_structBDTTable.fShotDen [3] = m_fShotDen4 ;
wnd->m_structBDTTable.fShotDen [4] = m_fShotDen5 ;
wnd->m_structBDTTable.fShotDen [5] = m_fShotDen6 ;
wnd->m_structBDTTable.fShotDen [6] = m_fShotDen7 ;
wnd->m_structBDTTable.fShotDen [7] = m_fShotDen8 ;
wnd->m_structBDTTable.fShotLayerPly = m_fShotLayerPly ;
wnd->m_structBDTTable.fShotPhasic [0] = m_fShotPhasic1 ;
wnd->m_structBDTTable.fShotPhasic [1] = m_fShotPhasic2 ;
wnd->m_structBDTTable.fShotPhasic [2] = m_fShotPhasic3 ;
wnd->m_structBDTTable.fShotPhasic [3] = m_fShotPhasic4 ;
wnd->m_structBDTTable.fShotPhasic [4] = m_fShotPhasic5 ;
wnd->m_structBDTTable.fShotPhasic [5] = m_fShotPhasic6 ;
wnd->m_structBDTTable.iShotDenNum = m_iShotDenNum;
wnd->m_structBDTTable.iShotPhasicNum = m_iShotPhasicNum;
wnd->m_structBDTTable.fStratumAverPress = m_fStratumAverPress ;
wnd->m_structBDTTable.fStratumCentralDepth = m_fStratumCentralDepth ;
wnd->m_structBDTTable.fStratumFilterPercent = m_fStratumFilterPercent ;
wnd->m_structBDTTable.fStratumHeterosphere = m_fStratumHeter ;
wnd->m_structBDTTable.fStratumHolePercent = m_fStratumHolePercent ;
wnd->m_structBDTTable.fStratumOilStiff = m_fStratumOilStiff ;
wnd->m_structBDTTable.fStratumPly = m_fStratumPly ;
wnd->m_structBDTTable.fStratumTemp = m_fStratumTemp ;
wnd->m_structBDTTable.fVittaCompCoarseness = m_fVittaCompCoareseness ;
wnd->m_structBDTTable.fVittaInsideDiameter = m_fVittaInsideDiameter ;
wnd->m_structBDTTable.fVittaMeasureDepth = m_fVittaMeasureDepth ;
sprintf(wnd->m_structBDTTable.strVittaModel ,"%s", m_cstrVittaModel) ;
wnd->m_structBDTTable.fVittaPlumbDepth = m_fVittaPlumbDepth ;
wnd->m_structBDTTable.fWaterFaceTension = m_fWaterFaceTension ;
wnd->m_structBDTTable.fWaterPercent = m_fWaterPercent ;
wnd->m_structBDTTable.fWellBottomTemp = m_fWellBottomTemp ;
wnd->m_structBDTTable.fWellMouthTemp = m_fWellMouthTemp ;
wnd->m_structBDTTable.fWellRadius = m_fWellRadius ;
wnd->m_structBDTTable.lCount = m_ctrlSelected.GetCount ();
CString cstrTemp,cstrTemp1;
for(int iTemp=0;iTemp<wnd->m_structBDTTable .lCount ;iTemp++)
{
m_ctrlSelected.GetText (iTemp,cstrTemp);
for(int iTemp1=0;iTemp1<=m_nNum;iTemp1++)
{
cstrTemp1 = m_structSDT[iTemp1].strModel;
if(cstrTemp.Compare (cstrTemp1)==0)
wnd->m_structSDT [iTemp] = m_structSDT[iTemp1];
}
}
// UpdateData(FALSE);
// MessageBox("数据修改完毕 !","工程信息");
}
#define FORMATSPREAD(fInput) strTemp.Format(_T("%10.3f"),fInput)
void CNewSourceDataView::NewLoad1()
{
CString strTemp;
/* m_spread1.SetCol(3);
m_spread1.SetRow(1);
FORMATSPREAD(m_fStratumCentralDepth);
m_spread1.SetText(strTemp);
m_spread1.SetRow(2);
FORMATSPREAD(m_fStratumPly);
m_spread1.SetText(strTemp);
m_spread1.SetRow(3);
FORMATSPREAD(m_fShotLayerPly);
m_spread1.SetText(strTemp);
m_spread1.SetRow(4);
FORMATSPREAD(m_fStratumFilterPercent);
m_spread1.SetText(strTemp);
m_spread1.SetRow(5);
FORMATSPREAD(m_fStratumHolePercent);
m_spread1.SetText(strTemp);
m_spread1.SetRow(6);
FORMATSPREAD(m_fStratumHeter);
m_spread1.SetText(strTemp);
m_spread1.SetRow(7);
FORMATSPREAD(m_fStratumAverPress);
m_spread1.SetText(strTemp);
m_spread1.SetRow(8);
FORMATSPREAD(m_fStratumTemp);
m_spread1.SetText(strTemp);
m_spread1.SetRow(9);
FORMATSPREAD(m_fRevealOilRadius);
m_spread1.SetText(strTemp);
m_spread1.SetRow(10);
FORMATSPREAD(m_fWellRadius);
m_spread1.SetText(strTemp);
m_spread1.SetRow(11);
FORMATSPREAD(m_fFloorOilPorportion);
m_spread1.SetText(strTemp);
m_spread1.SetRow(12);
FORMATSPREAD(m_fFloorGasPorportion);
m_spread1.SetText(strTemp);
m_spread1.SetRow(13);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -