📄 mathchangedlg.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 + -