📄 cvenus.cpp
字号:
fileExtStr = "DDR";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RDR)|*.RDR|All files (*.*)|*.*||";
fileExtStr = "RDR";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GDR)|*.GDR|All files (*.*)|*.*||";
fileExtStr = "GDR";
break;
}
break;
case 0x08: // 电潜泵排水采气节点分析
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DNB)|*.DNB|All files (*.*)|*.*||";
fileExtStr = "DNB";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RNB)|*.RNB|All files (*.*)|*.*||";
fileExtStr = "RNB";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GNB)|*.GNB|All files (*.*)|*.*||";
fileExtStr = "GNB";
break;
}
break;
case 0x09: // 电潜泵排水采气优化设计
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DQB)|*.DQB|All files (*.*)|*.*||";
fileExtStr = "DQB";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RQB)|*.RQB|All files (*.*)|*.*||";
fileExtStr = "RQB";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GQB)|*.GQB|All files (*.*)|*.*||";
fileExtStr = "GQB";
break;
}
break;
case 0x0A: // 射流泵排水采气节点分析
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DNJ)|*.DNJ|All files (*.*)|*.*||";
fileExtStr = "DNJ";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RNJ)|*.RNJ|All files (*.*)|*.*||";
fileExtStr = "RNJ";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GNJ)|*.GNJ|All files (*.*)|*.*||";
fileExtStr = "GNJ";
break;
}
break;
// hss
case 0x0B: // 射流泵排水采气动态分析
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DSJ)|*.DSJ|All files (*.*)|*.*||";
fileExtStr = "DSJ";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RSJ)|*.RSJ|All files (*.*)|*.*||";
fileExtStr = "RSJ";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GSJ)|*.GSJ|All files (*.*)|*.*||";
fileExtStr = "GSJ";
break;
}
break;
case 0x0C: // 射流泵排水采气设计
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DDJ)|*.DDJ|All files (*.*)|*.*||";
fileExtStr = "DDJ";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RDJ)|*.RDJ|All files (*.*)|*.*||";
fileExtStr = "RDJ";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GDJ)|*.GDJ|All files (*.*)|*.*||";
fileExtStr = "GDJ";
break;
}
break;
case 0x0D: // 气井连续排液临界流量
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DGU)|*.DGU|All files (*.*)|*.*||";
fileExtStr = "DGU";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RGU)|*.RGU|All files (*.*)|*.*||";
fileExtStr = "RGU";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GGU)|*.GGU|All files (*.*)|*.*||";
fileExtStr = "GGU";
break;
}
break;
case 0x0E: // 多相流垂管流压力梯度
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DMG)|*.DMG|All files (*.*)|*.*||";
fileExtStr = "DMG";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RMG)|*.RMG|All files (*.*)|*.*||";
fileExtStr = "RMG";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GMG)|*.GMG|All files (*.*)|*.*||";
fileExtStr = "GMG";
break;
}
break;
case 0x0F: // 生产气井压力梯度
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DGG)|*.DGG|All files (*.*)|*.*||";
fileExtStr = "DGG";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RGG)|*.RGG|All files (*.*)|*.*||";
fileExtStr = "RGG";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GGG)|*.GGG|All files (*.*)|*.*||";
fileExtStr = "GGG";
break;
}
break;
case 0x10: // 注气井压力梯度
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DIG)|*.DIG|All files (*.*)|*.*||";
fileExtStr = "DIG";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RIG)|*.RIG|All files (*.*)|*.*||";
fileExtStr = "RIG";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GIG)|*.GIG|All files (*.*)|*.*||";
fileExtStr = "GIG";
break;
}
break;
case 0x11: // 经济评价
fileFilterStr = "Data files (*.dpj)|*.dpj|All files (*.*)|*.*||";
fileExtStr = "DPJ";
break;
case 0x12: // 生产气井节点分析
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DGN)|*.DGN|All files (*.*)|*.*||";
fileExtStr = "DGN";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RGN)|*.RGN|All files (*.*)|*.*||";
fileExtStr = "RGN";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GGN)|*.GGN|All files (*.*)|*.*||";
fileExtStr = "GGN";
break;
}
break;
// hss
case 0x13: // 生产气井动态分析
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DGS)|*.DGS|All files (*.*)|*.*||";
fileExtStr = "DGS";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RGS)|*.RGS|All files (*.*)|*.*||";
fileExtStr = "RGS";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GGS)|*.GGS|All files (*.*)|*.*||";
fileExtStr = "GGS";
break;
}
break;
case 0x14: // 凝析气井节点分析
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DNX)|*.DNX|All files (*.*)|*.*||";
fileExtStr = "DNX";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RNX)|*.RNX|All files (*.*)|*.*||";
fileExtStr = "RNX";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GNX)|*.GNX|All files (*.*)|*.*||";
fileExtStr = "GNX";
break;
}
break;
case 0x15: // 柱塞气举举升分析
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DZS)|*.DZS|All files (*.*)|*.*||";
fileExtStr = "DZS";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RZS)|*.RZS|All files (*.*)|*.*||";
fileExtStr = "RZS";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GZS)|*.GZS|All files (*.*)|*.*||";
fileExtStr = "GZS";
break;
}
break;
case 0x16: // 柱塞气举优化设计
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DZY)|*.DZY|All files (*.*)|*.*||";
fileExtStr = "DZY";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RZY)|*.RZY|All files (*.*)|*.*||";
fileExtStr = "RZY";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GZY)|*.GZY|All files (*.*)|*.*||";
fileExtStr = "GZY";
break;
}
break;
}
DWORD dwFlags;
CString lpszFileName;
if(bOpen)
{
dwFlags = OFN_PATHMUSTEXIST | OFN_FILEMUSTEXIST;
lpszFileName.Empty();
}
else
{
dwFlags = OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT;
lpszFileName = m_cBaseFileLeft;
}
CFileDialog fileDialog( bOpen, fileExtStr, lpszFileName ,dwFlags, fileFilterStr );
switch(type)
{
case 0: // 基础数据
if(bOpen)
fileDialog.m_ofn.lpstrTitle="打开基础数据文件";
else
fileDialog.m_ofn.lpstrTitle="保存基础数据文件";
break;
case 1: // 计算结果
if(bOpen)
fileDialog.m_ofn.lpstrTitle="打开计算结果文件";
else
fileDialog.m_ofn.lpstrTitle="保存计算结果文件";
break;
case 2: // 图形
if(bOpen)
fileDialog.m_ofn.lpstrTitle="打开图形文件";
else
fileDialog.m_ofn.lpstrTitle="保存图形文件";
break;
}
if( fileDialog.DoModal() == IDCANCEL )
{
return "";
}
else
{
return fileDialog.GetPathName();
}
}
/*************************************************************************
*
* GetReadFileParm()
*
* 功 能: 得到读取文件的参数
*
* 参 数: 读取文件参数的指针,用来返回结果
*
* 返回值: 无
*
*************************************************************************/
void CCVenusApp::GetReadFileParm(sInputDataParm* pInputParm)
{
if(m_btProjectType == 0x00) return;
if(pInputParm == NULL) return;
switch(m_btProjectType)
{
case 0x01: // 工艺初选
pInputParm->iCheckDataNum = 0;
pInputParm->iComboDataNum = 0;
pInputParm->iGridDataNum = 6;
pInputParm->iTotalDataNum = 6;
break;
case 0x02: // 自喷井气水节点分析
pInputParm->iCheckDataNum = 5;
pInputParm->iComboDataNum = 1;
pInputParm->iGridDataNum = 49;
pInputParm->iTotalDataNum = 55;
break;
// hss
case 0x03: // 自喷气水井动态分析
pInputParm->iCheckDataNum = 0;
pInputParm->iComboDataNum = 1;
pInputParm->iGridDataNum = 54;
pInputParm->iTotalDataNum = 55;
break;
case 0x04: // 气举排水采气节点分析
pInputParm->iCheckDataNum = 7;
pInputParm->iComboDataNum = 1;
pInputParm->iGridDataNum = 58;
pInputParm->iTotalDataNum = 66;
break;
// hss
case 0x05: // 气举排水采气动态分析
pInputParm->iCheckDataNum = 6;
pInputParm->iComboDataNum = 1;
pInputParm->iGridDataNum = 53;
pInputParm->iTotalDataNum = 60;
break;
case 0x06: // 气举排水采气优化设计
pInputParm->iCheckDataNum = 0;
pInputParm->iComboDataNum = 3;
pInputParm->iGridDataNum = 27;
pInputParm->iTotalDataNum = 30;
break;
case 0x07: // 抽油机排水采气优化设计
pInputParm->iCheckDataNum = 3;
pInputParm->iComboDataNum = 3;
pInputParm->iGridDataNum = 41;
pInputParm->iTotalDataNum = 47;
break;
case 0x08: // 电潜泵排水采气节点分析
pInputParm->iCheckDataNum = 5;
pInputParm->iComboDataNum = 2;
pInputParm->iGridDataNum = 49;
pInputParm->iTotalDataNum = 56;
break;
case 0x09: // 电潜泵排水采气优化设计
pInputParm->iCheckDataNum = 0;
pInputParm->iComboDataNum = 0;
pInputParm->iGridDataNum = 43;
pInputParm->iTotalDataNum = 43;
break;
/* pInputParm->iCheckDataNum = 0;
pInputParm->iComboDataNum = 2;
pInputParm->iGridDataNum = 43;
pInputParm->iTotalDataNum = 45;
break;
*/ case 0x0A: // 射流泵排水采气节点分析
pInputParm->iCheckDataNum = 6;
pInputParm->iComboDataNum = 3;
pInputParm->iGridDataNum = 55;
pInputParm->iTotalDataNum = 64;
break;
// hss
case 0x0B: // 射流泵排水采气动态分析
pInputParm->iCheckDataNum = 6;
pInputParm->iComboDataNum = 3;
pInputParm->iGridDataNum = 55;
pInputParm->iTotalDataNum = 64;
break;
case 0x0C: // 射流泵排水采气设计
pInputParm->iCheckDataNum = 0;
pInputParm->iComboDataNum = 3;
pInputParm->iGridDataNum = 26;
pInputParm->iTotalDataNum = 29;
break;
case 0x0D: // 气井连续排液临界流量
pInputParm->iCheckDataNum = 0;
pInputParm->iComboDataNum = 0;
pInputParm->iGridDataNum = 27;
pInputParm->iTotalDataNum = 27;
break;
case 0x0E: // 多相流垂管流压力梯度
pInputParm->iCheckDataNum = 6;
pInputParm->iComboDataNum = 0;
pInputParm->iGridDataNum = 23;
pInputParm->iTotalDataNum = 29;
break;
case 0x0F: // 生产气井压力梯度
pInputParm->iCheckDataNum = 0;
pInputParm->iComboDataNum = 0;
pInputParm->iGridDataNum = 22;
pInputParm->iTotalDataNum = 22;
break;
case 0x10: // 注气井压力梯度
pInputParm->iCheckDataNum = 0;
pInputParm->iComboDataNum = 0;
pInputParm->iGridDataNum = 20;
pInputParm->iTotalDataNum = 20;
break;
case 0x11: // 经济评价
break;
case 0x12: // 生产气井节点分析
pInputParm->iCheckDataNum = 4;
pInputParm->iComboDataNum = 0;
pInputParm->iGridDataNum = 52;
pInputParm->iTotalDataNum = 56;
break;
// hss
case 0x13: // 生产气井动态分析
pInputParm->iCheckDataNum = 0;
pInputParm->iComboDataNum = 0;
pInputParm->iGridDataNum = 56;
pInputParm->iTotalDataNum = 56;
break;
case 0x14: // 凝析气井节点分析
pInputParm->iCheckDataNum = 4;
pInputParm->iComboDataNum = 2;
pInputParm->iGridDataNum = 94;
pInputParm->iTotalDataNum = 100;
break;
case 0x15: // 柱塞气举举升分析
pInputParm->iCheckDataNum = 1;
pInputParm->iComboDataNum = 0;
pInputParm->iGridDataNum = 20;
pInputParm->iTotalDataNum = 21;
break;
case 0x16: // 柱塞气举优化设计
pInputParm->iCheckDataNum = 1;
pInputParm->iComboDataNum = 0;
pInputParm->iGridDataNum = 18;
pInputParm->iTotalDataNum = 19;
break;
}
}
/*************************************************************************
*
* SetMainPos()
*
* 功 能: 设置主对话框位置
*
* 参 数: 无
*
* 返回值: 无
*
*************************************************************************/
/*
void CCVenusApp::SetMainPos()
{
CRect rc, wkSpaceRc, toolRc, statusRc;
// m_pMainDlg->SetParent(m_pMainWnd);
((CMainFrame*)m_pMainWnd)->m_wndWorkSpace.GetClientRect(&wkSpaceRc);
((CMainFrame*)m_pMainWnd)->m_wndToolBar.GetClientRect(&toolRc);
((CMainFrame*)m_pMainWnd)->m_wndStatusBar.GetClientRect(&statusRc);
GetClientRect(m_pMainWnd->m_hWnd, &rc);
m_pMainDlg->SetWindowPos(NULL,
rc.left + wkSpaceRc.Width() + 14,
rc.top + toolRc.Height() + 4,
rc.Width() - wkSpaceRc.Width() - 16,
rc.Height() - toolRc.Height() - 6 - statusRc.Height(),
NULL);
}
*/
/*************************************************************************
*
* ExitInstance()
*
* 功 能: 退出进程,删除临时结果、图形文件
*
* 参 数: 无
*
* 返回值: 无
*
*************************************************************************/
int CCVenusApp::ExitInstance()
{
/* switch(m_iAppType)
{
case 1:
ExitVenus();
break;
case 2:
// ExitSpd();
break;
default:
break;
}
*/
return CWinApp::ExitInstance();
}
/*************************************************************************
*
* OnProject()
*
* 功 能: Project1 到 Project21的消息处理函数
*
* 参 数: 选择的工程
*
* 返回值: 无
*
*************************************************************************/
void CCVenusApp::OnProject(UINT nID)
{
BYTE btProject;
btProject = nID - IDM_PROJECT_1 + 1;
if(m_btProjectType == btProject)
{
OnBaseDisplay();
return;
}
// IsSaveData();
if(!IsSaveBaseData())
{
((CMainFrame*)AfxGetMainWnd())->m_wndWorkSpace.UpdateSelected();
return;
}
// hss
if(btProject < 1 || btProject > 22)
return;
m_btMain = 0x01;
m_btProjectType = btProject;
m_pGraphDlg->ShowWindow(SW_HIDE);
m_pResultDlg->ShowWindow(SW_HIDE);
m_pMainDlg->ShowWindow(SW_HIDE);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -