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

📄 cvenus.cpp

📁 这是本人两年前兼职为某个公司做的石油钻进设计软件
💻 CPP
📖 第 1 页 / 共 5 页
字号:
// CVenus.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "CVenus.h"

#include "MainFrm.h"
#include "ChildFrm.h"
#include "CVenusDoc.h"
#include "CVenusView.h"

#include "direct.h"

#include "zpjjdfx.h"
#include "qjjjdfx.h"
#include "qjyhsj.h"
#include "jcyhsj.h"
#include "dqbyhsj.h"
#include "slb.h"
#include "qjlxpyljll.h"
#include "dxlcglyltd.h"
#include "qjyltd.h"
#include "gycx.h"
#include "scjjdfx.h"
#include "Nxqjjdfx.h"
#include "Cal_Zsqj.h"

#include "zpjdtfx.h"
#include "qjdtfx.h"
#include "slbdtfx.h"
#include "scqjdtfx.h"


#include	"Computer.h"

#include "GraphCtrl.h"

#include "Splash.h"
#include "SelectAppDlg.h"
#include	"NewAboutDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CCVenusApp

BEGIN_MESSAGE_MAP(CCVenusApp, CWinApp)
	//{{AFX_MSG_MAP(CCVenusApp)
	ON_COMMAND(ID_APP_ABOUT, OnAppAbout)
	ON_COMMAND(IDM_ANALYSE_CALC_1, OnAnalyseCalc1)
	ON_COMMAND(IDM_DIS_CUR_RST, OnDisCurRst)
	ON_COMMAND(IDM_DISP_CALC_RST, OnDispCalcRst)
	ON_COMMAND(IDM_DIS_CUR_GRAPH, OnDisCurGraph)
	ON_COMMAND(IDM_DISP_GRAPH_1, OnDispGraph1)
	ON_COMMAND(IDM_DISP_GRAPH_2, OnDispGraph2)
	ON_COMMAND(IDM_BITMAP, OnBitmap)
	ON_COMMAND(IDM_DISP_GRAPH_3, OnDispGraph3)
	ON_COMMAND(IDM_DISP_GRAPH_4, OnDispGraph4)
	ON_COMMAND(IDM_DISP_GRAPH_5, OnDispGraph5)
	ON_COMMAND(IDM_DISP_GRAPH_6, OnDispGraph6)
	ON_COMMAND(IDM_HELP, OnHelp)
	ON_COMMAND(IDM_HELP1, OnHelp1)
	ON_COMMAND(ID_BASE_NEW, OnBaseNew)
	ON_COMMAND(ID_BASE_OPEN, OnBaseOpen)
	ON_COMMAND(ID_BASE_SAVE, OnBaseSave)
	ON_UPDATE_COMMAND_UI(ID_BASE_SAVE, OnUpdateBaseSave)
	ON_COMMAND(ID_BASE_SAVEAS, OnBaseSaveas)
	ON_COMMAND(ID_BASE_PRINT, OnBasePrint)
	ON_COMMAND(ID_BASE_PRINTPREVIEW, OnBasePrintpreview)
	ON_COMMAND(ID_BASE_DISPLAY, OnBaseDisplay)
	ON_COMMAND(IDM_DISPLAY_1, OnDisplay1)
	ON_COMMAND(ID_RESULT_PRINTPREVIEW, OnResultPrintpreview)
	ON_COMMAND(IDM_DISPLAY_4, OnDisplay4)
	ON_COMMAND(ID_GRAPH_SAVE, OnGraphSave)
	ON_COMMAND(ID_RESULT_DISLPLAY, OnResultDislplay)
	ON_UPDATE_COMMAND_UI(ID_RESULT_DISLPLAY, OnUpdateResultDislplay)
	ON_COMMAND(ID_GRAPH_DISPLAY, OnGraphDisplay)
	ON_UPDATE_COMMAND_UI(ID_GRAPH_DISPLAY, OnUpdateGraphDisplay)
	ON_COMMAND(ID_SPD_VENUS, OnSpdVenus)
	ON_COMMAND(ID_SPD_SHWRJ, OnSpdShwrj)
	ON_COMMAND(ID_SHWRJ_VENUS, OnShwrjVenus)
	ON_COMMAND(ID_SHWRJ_SPD, OnShwrjSpd)
	ON_COMMAND(ID_VEMUS_SPD, OnVemusSpd)
	ON_COMMAND(ID_VENUS_SHWRJ, OnVenusShwrj)
	ON_COMMAND(IDM_VENUS_SYN, OnVenusSyn)
	ON_COMMAND(ID_SPD_TG, OnSpdTg)
	ON_COMMAND(ID_SHWRJ_TG, OnShwrjTg)
	ON_COMMAND(ID_VENUS_TG, OnVenusTg)
	ON_COMMAND(ID_TG_VENUS, OnTgVenus)
	ON_COMMAND(ID_TG_SPD, OnTgSpd)
	ON_COMMAND(ID_TG_SHWRJ, OnTgShwrj)
	ON_COMMAND(ID_VENUS_ALLPREVIEW, OnVenusAllpreview)
	ON_UPDATE_COMMAND_UI(ID_VENUS_ALLPREVIEW, OnUpdateVenusAllpreview)
	ON_COMMAND(ID_VENUS_ALLPRINT, OnVenusAllprint)
	ON_UPDATE_COMMAND_UI(ID_VENUS_ALLPRINT, OnUpdateVenusAllprint)
	ON_UPDATE_COMMAND_UI(IDM_VENUS_SYN, OnUpdateVenusSyn)
	ON_COMMAND(IDM_HELP_SHW, OnHelpShw)
	ON_UPDATE_COMMAND_UI(IDM_DISP_GRAPH_1, OnUpdateGraph)
	ON_UPDATE_COMMAND_UI(IDM_DIS_CUR_GRAPH, OnUpdateGraph)
	ON_UPDATE_COMMAND_UI(ID_GRAPH_SAVE, OnUpdateGraph)
	ON_UPDATE_COMMAND_UI(IDM_DISP_GRAPH_2, OnUpdateGraph)
	ON_UPDATE_COMMAND_UI(IDM_BITMAP, OnUpdateGraph)
	ON_UPDATE_COMMAND_UI(IDM_DISP_GRAPH_3, OnUpdateGraph)
	ON_UPDATE_COMMAND_UI(IDM_DISP_GRAPH_4, OnUpdateGraph)
	ON_UPDATE_COMMAND_UI(IDM_DISP_GRAPH_5, OnUpdateGraph)
	ON_UPDATE_COMMAND_UI(IDM_DISP_GRAPH_6, OnUpdateGraph)
	//}}AFX_MSG_MAP
	// Standard file based document commands
	ON_COMMAND_RANGE(IDM_PROJECT_1, IDM_PROJECT_18, OnProject)
	ON_UPDATE_COMMAND_UI_RANGE(IDM_PROJECT_1, IDM_PROJECT_18, OnUpdateProject)
	ON_COMMAND(ID_FILE_NEW, CWinApp::OnFileNew)
	ON_COMMAND(ID_FILE_OPEN, CWinApp::OnFileOpen)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CCVenusApp construction

CCVenusApp::CCVenusApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
	m_iAppType		= 1;
	m_pMainDlg      = NULL;
	m_pResultDlg      = NULL;
	m_pGraphDlg     = NULL;


}


CCVenusApp::~CCVenusApp()
{
}
/////////////////////////////////////////////////////////////////////////////
// The one and only CCVenusApp object

double ptidu[4000],dtidu[4000];
CCVenusApp theApp;

bool	CCVenusApp::m_bIsShowSplash = false;
/////////////////////////////////////////////////////////////////////////////
// CCVenusApp initialization

BOOL CCVenusApp::InitInstance()
{
	// CG: The following block was added by the Splash Screen component.\	{\		CCommandLineInfo cmdInfo;\		ParseCommandLine(cmdInfo);\\		CSplashWnd::EnableSplashScreen(cmdInfo.m_bShowSplash);\	}
	// CG: The following line was added by the Splash Screen component.
	AfxEnableControlContainer();

	// Standard initialization
	// If you are not using these features and wish to reduce the size
	//  of your final executable, you should remove from the following
	//  the specific initialization routines you do not need.


	// Change the registry key under which our settings are stored.
	// TODO: You should modify this string to be something appropriate
	// such as the name of your company or organization.
	SetRegistryKey(_T("GPDesign"));

	LoadStdProfileSettings();  // Load standard INI file options (including MRU)


	SetRegistryBase (_T("Settings"));

	// create main MDI Frame window
/*	CSingleDocTemplate* pDocTemplate;
	pDocTemplate = new CSingleDocTemplate(
		IDR_MAINFRAME,
		RUNTIME_CLASS(CCVenusDoc),
		RUNTIME_CLASS(CMainFrame),       // main SDI frame window
		RUNTIME_CLASS(CCVenusView));
	AddDocTemplate(pDocTemplate);
*/
	
	// Parse command line for standard shell commands, DDE, file open
	CGPCommandLineInfo cmdInfo;
	ParseCommandLine(cmdInfo);

//	cmdInfo.m_nShellCommand = NULL;
	// Dispatch commands specified on the command line
	if (!ProcessShellCommand(cmdInfo))
		return FALSE;

	CMainFrame* pMainFrame = new CMainFrame;
	if (!pMainFrame->LoadFrame(IDR_MAINFRAME))
		return FALSE;
	m_pMainWnd = pMainFrame;


	GetLocalPath(&m_strAppPath);

	switch(m_iAppType)
	{
	case 1:
		if(!InitVenus())
			return false;
		break;
	case 2:
		if(!InitSpd())
			return false;
		break;
	case 3:
		if(!InitShwrj())
			return false;
		break;
	case 4:
		if(!InitTG())
			return false;
		break;
	default:
		return false;
	}
	// The main window has been initialized, so show and update it.
//	m_nCmdShow=SW_SHOWMAXIMIZED;
	m_pMainWnd->ShowWindow(m_nCmdShow);
	m_pMainWnd->UpdateWindow();

	return TRUE;
}


/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
		// No message handlers
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

// App command to run the dialog
void CCVenusApp::OnAppAbout()
{
	CNewAboutDlg aboutDlg;
	aboutDlg.DoModal();
}

/////////////////////////////////////////////////////////////////////////////
// CCVenusApp message handlers
/*************************************************************************
 *
 * GetMyAppPath()
 *
 * 功  能: 取应用程序路径
 *
 * 参  数: 无
 *
 * 返回值: 无
 *
 *************************************************************************/
CString CCVenusApp::GetMyAppPath()
{
	CString strFileName;
	int  curdrive;
	TCHAR strAppPath[MAX_PATH];
	int  loc = 0;
	TCHAR ch;

//	if(strFileName == NULL) return;
//	strFileName->Empty();

	if(m_cBaseFilePath.IsEmpty())
	{
		curdrive = _getdrive();
		if(_getdcwd(curdrive, strAppPath, MAX_PATH)!=NULL)
		{
			strFileName.Format("%s", strAppPath);
		}
		else
		{
			AfxMessageBox(_T("错误"), MB_OK);
		}
	}
	else
	{
		for(int i = 0; i < m_cBaseFilePath.GetLength(); i++)
		{
			ch = m_cBaseFilePath.GetAt(i);
			if(ch == '\\')
			{
				loc = i;
			}
		}
		for(i = 0; i < loc; i++)
		{
			strFileName.Insert(i, m_cBaseFilePath.GetAt(i));
		}
	}
	return strFileName;
}

/*************************************************************************
 *
 * IsSaveBaseData()
 *
 * 功  能: 是否需要保存基础数据(如需要则保存)
 *
 * 参  数: 无
 *         
 * 返回值: true: 不需要或者需要且已保存
 *         false: 需要但是被用户取消或者出错
 *
 *************************************************************************/
bool CCVenusApp::IsSaveBaseData()
{
	if(m_bModifyData)
	{
		int iResults = AfxMessageBox(_T("基础数据已修改,是否保存?"),
			MB_YESNOCANCEL|MB_ICONQUESTION) ;
		if(iResults == IDCANCEL)
			return false;

		if(iResults == IDYES )
		{
			if(!SaveBaseData())
				return false;
		}
		else
			m_bModifyData = false;
	}
	return true;

}

/*************************************************************************
 *
 * IsSaveData()
 *
 * 功  能: 是否需要保存数据
 *
 * 参  数: 无
 *         
 * 返回值: 无
 *
 *************************************************************************/
/*
void CCVenusApp::IsSaveData() 
{
	HANDLE      hSearch; 
	CString     str;
	WIN32_FIND_DATA FileData; 

	m_btSaveType    = 0x01;
	str = GetMyAppPath();	
	hSearch = FindFirstFile(str + "\\tempfile.txt", &FileData); 
	if (hSearch != INVALID_HANDLE_VALUE || m_bModifyData) 
	{ 
		if( AfxMessageBox("数据未保存,是否存盘?", MB_YESNO) == IDYES )
		{
			SaveData();
		}
		else
		{
			DeleteFile(str + "\\tempfile.txt");
			DeleteFile(str + "\\tempfile.gra");
		}
		m_cBaseFilePath.Empty();
		m_bModifyData = FALSE;
	}
}
*/

/*************************************************************************
 *
 * SaveData()
 *
 * 功  能: 保存数据
 *
 * 参  数: 无
 *
 * 返回值: 无
 *
 *************************************************************************/
/*
void CCVenusApp::SaveData()
{
	CStdioFile  file, rst_file, gra_file;
	int         replace;
	BOOL        bLineEnd = FALSE;
	CString     str, FileStr, tmpStr, projectStr;
	char        ch;

	str = GetMyAppPath();
	BOOL bDot = FALSE;
	for(int i = m_cBaseFilePath.GetLength() - 1; i >= 0; i--)
	{
		ch = m_cBaseFilePath.GetAt(i);
		if(ch != '\\')
		{
			if(ch == '.')
			{
				bDot = TRUE;
			}
			else
			{
				if(bDot)
				{
					projectStr.Insert(0, ch);
				}
			}
		}
		else
		{
			break;
		}
	}

	// 保存基础数据
	if(m_btSaveType == 0x01)
	{
		if( !SaveBaseData() )
		{
			return;
		}
	}

	// 保存结果文件
	if(m_btSaveType == 0x02)
	{
		GetExtName(1, &tmpStr);
		if( !file.Open(str + "\\tempfile.txt", CFile::modeReadWrite | CFile::typeText) )
		{
			return;
		}
		if( !rst_file.Open(str + "\\" + projectStr + tmpStr, CFile::modeWrite | CFile::modeCreate) )
		{
			return;
		}
		// 修改结果文件
		while(TRUE)
		{
			try
			{
				if( file.ReadString(FileStr) )
				{
					if( (replace = FileStr.Find("$$")) != -1 )
					{// 标题
						FileStr.Replace("$$", projectStr);
					}
					rst_file.WriteString(FileStr + '\n');
				}
				else
				{// 到文件尾
					break;
				}
			}
			catch (CFileException exception1)
			{
				Beep(650, 50);
				AfxMessageBox("读文件出错!", MB_ICONINFORMATION);
				return;
			}
		}
		// 修改结果文件名
		file.Close();
		rst_file.Close();
	}

	// 保存图形文件
	if(m_btSaveType == 0x03)
	{
		GetExtName(2, &tmpStr);
		if( !file.Open(str + "\\tempfile.gra", CFile::modeReadWrite | CFile::typeText) )
		{
			Beep(650, 50);
			AfxMessageBox("保存图形数据文件失败!");
			return;
		}
		if( !gra_file.Open(str + "\\" + projectStr + "." + tmpStr, CFile::modeWrite | CFile::modeCreate) )
		{
			return;
		}

		while(TRUE)
		{
			try
			{
				if( file.ReadString(FileStr) )
				{
					if( (replace = FileStr.Find("$$")) != -1 )
					{// 标题
						FileStr.Replace("$$", projectStr);
					}
					gra_file.WriteString(FileStr + '\n');
				}
				else
				{// 到文件尾
					break;
				}
			}
			catch (CFileException exception1)
			{
				Beep(650, 50);
				AfxMessageBox("读文件出错!", MB_ICONINFORMATION);
				return;
			}
		}
		// 修改结果文件名
		file.Close();
		gra_file.Close();
	}
}
*/

/*************************************************************************
 *
 * SaveBaseData()
 *
 * 功  能: 保存基础数据
 *
 * 参  数: 无
 *
 * 返回值: true: 保存成功
 *         false: 被用户取消或者出错
 *
 *************************************************************************/
BOOL CCVenusApp::SaveBaseData()

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -