⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cvenus.cpp

📁 这是本人两年前兼职为某个公司做的石油钻进设计软件
💻 CPP
📖 第 1 页 / 共 5 页
字号:
			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 + -