方格网程序及算法概述.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
部分代码: ////////////////////////////////////////////////////////////////////////////////////////////// //Doc类,主要处理文件读写,以及运算; void CDTMDoc::OnFileOpen() //响应函数,响应“打开”这一命令消息 { CMainFrame *pMainFrm = new CMainFrame; pMainFrm = (CMainFrame *)AfxGetApp()-m_pMainWnd; pMainFrm-GetMenu()-GetSubMenu(0)-EnableMenuItem(ID_FILE_OPEN,MF_BYPOSITION | MF_GRAYED); //以下利用CFileDialog类创建一个打开文件对话框 CFileDialog OpenFileDlg(TRUE, _T(DEM Files (*DEM)), NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT |OFN_ALLOWMULTISELECT|OFN_ENABLESIZING, _T(Digital Terrain Data Files (*.txt;*.DTD;*.dat)|*.txt;*.DTD;*.dat)||),NULL); CString path; //DoModal()函数成功则返回IDOK或IDCANCEL,其返回值对应于用来关闭对话框的控件的ID if(OpenFileDlg.DoModal() == IDOK )//点击对话框确定按钮得到路径 { v_OrigPoint.clear(); XYLine.clear(); poOnLine.clear(); path = OpenFileDlg.GetPathName();//得到打开文件的路径 } else { AfxMessageBox(_T(Cancel!)); return; } ifstream file; setlocale(LC_CTYPE, .936);//处理中文路径问题 file.open(path); setlocale(LC_CTYPE, );//成对使 if (!file) { AfxMessageBox(_T(Reading file failed! Maybe the file does not exist!)); return;//Open file failed,return. } OrigPoint *temp_OrigPoint = new OrigPoint; AfxMessageBox(_T(读取DTM数据时间可能较长,\n请耐心等待!)); OnStatusBar(_T(Reading...)); char c; while(TRUE)/ /利用Break跳出 { filetemp_OrigPoint-Mark1; for (int i = 0;i4;i++) //ATTR { filec; } filetemp_OrigPoint-x; filetemp_OrigPoint-y; filetemp_OrigPoint-z; filetemp_OrigPoint-Mark2; //最后一列 if (file) { v_OrigPoint.push_back(*temp_OrigPoint); } else { file.close(); break; } } m_PointNUM=v_OrigPoint.size(); if (m_PointNUM == 0)//不支持文件格式 { AfxMessageBox(_T(不支持文件格式!\n打开失败!)); return; } FileIsOpen = TRUE; Analysis(); pMainFrm-m_wndStatusBar.SetPaneInfo(1,ID_State_Doing,SBPS_NORMAL,150);//100为宽度可调整 pMainFrm-m_wndStatusBar.SetPaneText(1,_T(Waitting Location!),true); // TODO: Add your command handler code here } void CDTMDoc::OnStatusBar(CString str)//状

文档评论(0)

a336661148 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档