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

📄 mathchangedlg.cpp

📁 能够实现一些常用的地图转换
💻 CPP
字号:
// MathChangeDlg.cpp : implementation file
//

#include "stdafx.h"
#include "CalSurBase.h"
#include "MathChangeDlg.h"

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

/////////////////////////////////////////////////////////////////////////////
// CMathChangeDlg dialog


CMathChangeDlg::CMathChangeDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CMathChangeDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMathChangeDlg)
	m_filenew = _T("");
	m_fileold = _T("");
	//}}AFX_DATA_INIT
}


void CMathChangeDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMathChangeDlg)
	DDX_Text(pDX, IDC_EDIT_FILENEW, m_filenew);
	DDX_Text(pDX, IDC_EDIT_FILEOLD, m_fileold);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMathChangeDlg, CDialog)
	//{{AFX_MSG_MAP(CMathChangeDlg)
	ON_BN_CLICKED(IDC_BUTTON_FILEOLD, OnButtonFileold)
	ON_BN_CLICKED(IDC_BUTTON_FILENEW, OnButtonFilenew)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMathChangeDlg message handlers

void CMathChangeDlg::OnButtonFileold() 
{
	
	CFileDialog gldOpenFile(true,"*.*",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*|",NULL);
	gldOpenFile.DoModal();
    m_fileold=gldOpenFile.GetPathName();
	UpdateData(FALSE);	
}

void CMathChangeDlg::OnButtonFilenew() 
{
	CFileDialog gldOpenFile(true,"*.*",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"文本文件(*.txt)|*.txt|所有文件(*.*)|*.*|",NULL);
	gldOpenFile.DoModal();
    m_filenew=gldOpenFile.GetPathName();
	UpdateData(FALSE);	
}

void CMathChangeDlg::OnOK() 
{	
	CStdioFile n_Filenew;
	CStdioFile n_Fileold;
	CFileException e;
	CString strline;
	CString strport,strgd;
	CString strX,strY;
	int kgj=0;
	if(!n_Filenew.Open(m_filenew,CFile::modeCreate | CFile::modeWrite,&e)) 
	{	return;	}
	if(!n_Fileold.Open(m_fileold,CFile::modeRead,&e)) 
	{	return;	}
	n_Fileold.ReadString(strline);
	int chj = CheckFile(strline);
	if(chj==0)  //有高程点
	{
		AfxMessageBox("文件格式错误!");
		return;
	}
	while(n_Fileold.ReadString(strline)!=FALSE)
	{
		strline.TrimLeft();strline.TrimRight();
		if(strline.IsEmpty()) {  return; }
		kgj=strline.Find(' ');
		strgd=strline.Left(kgj);
		strport.Format("%10s",strgd);
		strgd=strline.Right(strline.GetLength()-kgj);
		strgd.TrimLeft();strgd.TrimRight();
        strline=strgd;
		kgj=strline.Find(' ');
		strgd.Format("%18s",strline.Left(kgj));
		strX=strgd;
		strgd=strline.Right(strline.GetLength()-kgj);
		strgd.TrimLeft();strgd.TrimRight();
		if(chj==1)
		{
			strY=strgd;
			strport=strport+strY+strX;
		}
		else if(chj==2)
		{
			strline=strgd;
			kgj=strline.Find(' ');
			strgd.Format("%18s",strline.Left(kgj));
			strY=strgd;
			strgd=strline.Right(strline.GetLength()-kgj);
			strgd.TrimLeft();strgd.TrimRight();
			strport=strport+strY+strX;//+strgd;
			strX.Format("%13s",strgd);
			strport+=strX;
		}
		strport+="\n";
		n_Filenew.WriteString(strport);
	}
	AfxMessageBox("完成!");
	//ShellExecute(::GetDesktopWindow(), _T("open"), n_Filenew, NULL, NULL, SW_NORMAL);	
}

int CMathChangeDlg::CheckFile(CString strline)  //检查文件是否有高程   0 文件错误  1无高程  2有高程
{
	CString strgd;
	if(strline.GetLength()>3)
	{
		strgd=strline.Left(4);
        strgd.TrimRight();
		if(strgd=="@XYZ")
			return 2;
		else
			return 1;
	}
	else
	{   return 0;}
}

⌨️ 快捷键说明

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