📄 cvenus.cpp
字号:
{
CString *pStr;
HANDLE hSearch;
WIN32_FIND_DATA FileData;
CString strOpenFile;
if(m_btProjectType == 0x00)
{
AfxMessageBox(_T("请选择工程!"), MB_ICONINFORMATION);
return FALSE;
}
if(m_cBaseFilePath.IsEmpty())
{
strOpenFile = GetOpenFileName(0, FALSE);
if(strOpenFile.IsEmpty())
{
return false;
}
hSearch = FindFirstFile(strOpenFile, &FileData);
if (hSearch != INVALID_HANDLE_VALUE)
{
if (AfxMessageBox(_T("该文件已存在,覆盖它吗?"),MB_YESNO|MB_ICONQUESTION)== IDNO)
return false;
}
}
else
strOpenFile = m_cBaseFilePath;
sInputDataParm *pInputParm = new sInputDataParm;
if(m_btProjectType != 0x0E)//经济评价
{
//sInputDataParm *pInputParm = new sInputDataParm;
GetReadFileParm(pInputParm);
// 检查输入合法性
if( !m_pMainDlg->CheckInput(m_btProjectType) )
{
return FALSE;
}
pStr = m_pMainDlg->GetInputData(m_btProjectType, pInputParm);
}
else
{
pStr = m_pMainDlg->GetInputData(m_btProjectType, NULL);
}
CStdioFile file;
if( !file.Open(strOpenFile, CFile::modeWrite | CFile::modeCreate) )
{
return FALSE;
}
// 写表格数据
if(m_btProjectType != 0x0E)
{
for(int i = 0; i < pInputParm->iTotalDataNum; i++)
{
try
{
file.WriteString(pStr[i]);
}
catch (CFileException exception1)
{
Beep(650, 700);
AfxMessageBox(_T("写文件出错!"), MB_ICONINFORMATION);
return FALSE;
}
}
}
else
{
for(int i = 0; i < 65 * 73 + 15; i++)
{
try
{
file.WriteString(pStr[i] + _T("\n"));
}
catch (CFileException exception1)
{
Beep(650, 700);
AfxMessageBox(_T("写文件出错!"), MB_ICONINFORMATION);
return FALSE;
}
}
}
file.Close();
m_bModifyData = FALSE;
m_cBaseFilePath = strOpenFile;
BaseFileChanged();
if(pInputParm != NULL)
delete pInputParm;
return TRUE;
}
/*************************************************************************
*
* GetExtName()
*
* 功 能: 得到文件后缀名
*
* 参 数: int type: 处理类型
*
* 返回值: 无
*
*************************************************************************/
void CCVenusApp::GetExtName(int type, CString *pStr)
{
CString fileExtStr;
if(pStr == NULL) return;
switch(m_btProjectType)
{
case 0x01: // 工艺初选
switch(type)
{
case 0: // 基础数据
fileExtStr = "DGC";
break;
case 1: // 计算结果
fileExtStr = "RGC";
break;
case 2: // 图形
fileExtStr = "GGC";
break;
}
break;
case 0x02: // 自喷井气水节点分析
switch(type)
{
case 0: // 基础数据
fileExtStr = "DNW";
break;
case 1: // 计算结果
fileExtStr = "RNW";
break;
case 2: // 图形
fileExtStr = "GNW";
break;
}
break;
// hss
case 0x03: // 自喷气水井动态分析
switch(type)
{
case 0: // 基础数据
fileExtStr = "DSW";
break;
case 1: // 计算结果
fileExtStr = "RSW";
break;
case 2: // 图形
fileExtStr = "GSW";
break;
}
break;
case 0x04: // 气举排水采气节点分析
switch(type)
{
case 0: // 基础数据
fileExtStr = "DNF";
break;
case 1: // 计算结果
fileExtStr = "RNF";
break;
case 2: // 图形
fileExtStr = "GNF";
break;
}
break;
// hss
case 0x05: // 气举排水采气动态分析
switch(type)
{
case 0: // 基础数据
fileExtStr = "DSF";
break;
case 1: // 计算结果
fileExtStr = "RSF";
break;
case 2: // 图形
fileExtStr = "GSF";
break;
}
break;
case 0x06: // 气举排水采气优化设计
switch(type)
{
case 0: // 基础数据
fileExtStr = "DDF";
break;
case 1: // 计算结果
fileExtStr = "RDF";
break;
case 2: // 图形
fileExtStr = "GDF";
break;
}
break;
case 0x07: // 抽油机排水采气优化设计
switch(type)
{
case 0: // 基础数据
fileExtStr = "DDR";
break;
case 1: // 计算结果
fileExtStr = "RDR";
break;
case 2: // 图形
fileExtStr = "GDR";
break;
}
break;
case 0x08: // 电潜泵排水采气节点分析
switch(type)
{
case 0: // 基础数据
fileExtStr = "DNB";
break;
case 1: // 计算结果
fileExtStr = "RNB";
break;
case 2: // 图形
fileExtStr = "GNB";
break;
}
break;
case 0x09: // 电潜泵排水采气优化设计
switch(type)
{
case 0: // 基础数据
fileExtStr = "DQB";
break;
case 1: // 计算结果
fileExtStr = "RQB";
break;
case 2: // 图形
fileExtStr = "GQB";
break;
}
break;
case 0x0A: // 射流泵排水采气节点分析
switch(type)
{
case 0: // 基础数据
fileExtStr = "DNJ";
break;
case 1: // 计算结果
fileExtStr = "RNJ";
break;
case 2: // 图形
fileExtStr = "GNJ";
break;
}
break;
// hss
case 0x0B: // 射流泵排水采气动态分析
switch(type)
{
case 0: // 基础数据
fileExtStr = "DSJ";
break;
case 1: // 计算结果
fileExtStr = "RSJ";
break;
case 2: // 图形
fileExtStr = "GSJ";
break;
}
break;
case 0x0C: // 射流泵排水采气设计
switch(type)
{
case 0: // 基础数据
fileExtStr = "DDJ";
break;
case 1: // 计算结果
fileExtStr = "RDJ";
break;
case 2: // 图形
fileExtStr = "GDJ";
break;
}
break;
case 0x0D: // 气井连续排液临界流量
switch(type)
{
case 0: // 基础数据
fileExtStr = "DGU";
break;
case 1: // 计算结果
fileExtStr = "RGU";
break;
case 2: // 图形
fileExtStr = "GGU";
break;
}
break;
case 0x0E: // 多相流垂管流压力梯度
switch(type)
{
case 0: // 基础数据
fileExtStr = "DMG";
break;
case 1: // 计算结果
fileExtStr = "RMG";
break;
case 2: // 图形
fileExtStr = "GMG";
break;
}
break;
case 0x0F: // 生产气井压力梯度
switch(type)
{
case 0: // 基础数据
fileExtStr = "DGG";
break;
case 1: // 计算结果
fileExtStr = "RGG";
break;
case 2: // 图形
fileExtStr = "GGG";
break;
}
break;
case 0x10: // 注气井压力梯度
switch(type)
{
case 0: // 基础数据
fileExtStr = "DIG";
break;
case 1: // 计算结果
fileExtStr = "RIG";
break;
case 2: // 图形
fileExtStr = "GIG";
break;
}
break;
case 0x11: // 经济评价
fileExtStr = "DPJ";
break;
case 0x12: // 生产气井节点分析
switch(type)
{
case 0: // 基础数据
fileExtStr = "DGN";
break;
case 1: // 计算结果
fileExtStr = "RGN";
break;
case 2: // 图形
fileExtStr = "GGN";
break;
}
break;
case 0x13: // 生产气井动态分析
switch(type)
{
case 0: // 基础数据
fileExtStr = "DGS";
break;
case 1: // 计算结果
fileExtStr = "RGS";
break;
case 2: // 图形
fileExtStr = "GGS";
break;
}
break;
case 0x14: // 凝析气井节点分析
switch(type)
{
case 0: // 基础数据
fileExtStr = "DNX";
break;
case 1: // 计算结果
fileExtStr = "RNX";
break;
case 2: // 图形
fileExtStr = "GNX";
break;
}
break;
case 0x15: // 柱塞气举举升分析
switch(type)
{
case 0: // 基础数据
fileExtStr = "DZS";
break;
case 1: // 计算结果
fileExtStr = "RZS";
break;
case 2: // 图形
fileExtStr = "GZS";
break;
}
break;
case 0x16: // 柱塞气举优化设计
switch(type)
{
case 0: // 基础数据
fileExtStr = "DZY";
break;
case 1: // 计算结果
fileExtStr = "RZY";
break;
case 2: // 图形
fileExtStr = "GZY";
break;
}
break;
}
*pStr = fileExtStr;
}
/*************************************************************************
*
* GetOpenFileName()
*
* 功 能: 得到待读数据文件名
*
* 参 数: int type: 处理类型
* BOOL bOpen: "打开" 还是 "保存"
*
* 返回值: 无
*
*************************************************************************/
CString CCVenusApp::GetOpenFileName(int type, BOOL bOpen)
{
CString fileFilterStr, fileExtStr;
switch(m_btProjectType)
{
case 0x01: // 工艺初选
switch(type)
{
case 0: // 基础数据
fileFilterStr = _T("Data files (*.DGC)|*.DGC|All files (*.*)|*.*||");
fileExtStr = _T("DGC");
break;
case 1: // 计算结果
fileFilterStr = _T("Data files (*.RGC)|*.RGC|All files (*.*)|*.*||");
fileExtStr = _T("RGC");
break;
case 2: // 图形
fileFilterStr = _T("Data files (*.GGC)|*.GGC|All files (*.*)|*.*||");
fileExtStr = _T("GGC");
break;
}
break;
case 0x02: // 自喷井气水节点分析
switch(type)
{
case 0: // 基础数据
fileFilterStr = _T("Data files (*.DNW)|*.DNW|All files (*.*)|*.*||");
fileExtStr = _T("DNW");
break;
case 1: // 计算结果
fileFilterStr = _T("Data files (*.RNW)|*.RNW|All files (*.*)|*.*||");
fileExtStr = _T("RNW");
break;
case 2: // 图形
fileFilterStr = _T("Data files (*.GNW)|*.GNW|All files (*.*)|*.*||");
fileExtStr = _T("GNW");
break;
}
break;
// hss
case 0x03: // 自喷气水井动态分析
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DSW)|*.DSW|All files (*.*)|*.*||";
fileExtStr = "DSW";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RSW)|*.RSW|All files (*.*)|*.*||";
fileExtStr = "RSW";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GSW)|*.GSW|All files (*.*)|*.*||";
fileExtStr = "GSW";
break;
}
break;
case 0x04: // 气举排水采气节点分析
switch(type)
{
case 0: // 基础数据
fileFilterStr = _T("Data files (*.DNF)|*.DNF|All files (*.*)|*.*||");
fileExtStr = _T("DNF");
break;
case 1: // 计算结果
fileFilterStr = _T("Data files (*.RNF)|*.RNF|All files (*.*)|*.*||");
fileExtStr = _T("RNF");
break;
case 2: // 图形
fileFilterStr = _T("Data files (*.GNF)|*.GNF|All files (*.*)|*.*||");
fileExtStr = _T("GNF");
break;
}
break;
// hss
case 0x05: // 气举排水采气动态分析
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DSF)|*.DSF|All files (*.*)|*.*||";
fileExtStr = "DSF";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RSF)|*.RSF|All files (*.*)|*.*||";
fileExtStr = "RSF";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GSF)|*.GSF|All files (*.*)|*.*||";
fileExtStr = "GSF";
break;
}
break;
case 0x06: // 气举排水采气优化设计
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DDF)|*.DDF|All files (*.*)|*.*||";
fileExtStr = "DDF";
break;
case 1: // 计算结果
fileFilterStr = "Data files (*.RDF)|*.RDF|All files (*.*)|*.*||";
fileExtStr = "RDF";
break;
case 2: // 图形
fileFilterStr = "Data files (*.GDF)|*.GDF|All files (*.*)|*.*||";
fileExtStr = "GDF";
break;
}
break;
case 0x07: // 抽油机排水采气优化设计
switch(type)
{
case 0: // 基础数据
fileFilterStr = "Data files (*.DDR)|*.DDR|All files (*.*)|*.*||";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -