笔记 MFC 打开或者保存路径浏览对话框(CFileDialog)

//文件路径浏览对话框参考:http://blog.csdn.net/liuwumiyuhuiping/article/details/7348591
void CMainFrame::OnFileCopySave() 
{
	// TODO: Add your command handler code here
	CString pzFullPath;
	CString pzNewBasePath;
	CString pzNewProjName;

	//AfxMessageBox("项目另存为");
	CString filter;
	filter="电气数据(*.grid)|*.grid||";
	CFileDialog dlg(FALSE,_T("grid"),_T("项目备份"),OFN_HIDEREADONLY,filter);
	if(dlg.DoModal()==IDOK)
	{
		pzFullPath=dlg.GetPathName();
		//MessageBox(pzFullPath);
		pzNewProjName = pzFullPath.Right(pzFullPath.GetLength()-1-pzFullPath.ReverseFind('\\'));
		pzNewProjName = pzNewProjName.Left(pzNewProjName.ReverseFind('.'));
		//MessageBox(pzNewProjName);
		pzNewBasePath = pzFullPath.Left(pzFullPath.ReverseFind('\\'))+"\\"+pzNewProjName;
		//MessageBox(pzNewBasePath);
		//创建目录
		if (!PathFileExists(pzNewBasePath))
		{
			if (!CreateDirectory(pzNewBasePath,_T("")))
			{
				AfxMessageBox(_T("创建目录:") + pzNewBasePath + _T("失败"));
				return;
			}else{
				//AfxMessageBox("已创建目录"+ pzNewBasePath);
			}
		}else{
			AfxMessageBox("目录已存在");
		}
		/*将:  	projectBasePath/projectTitle.grid & projectBasePath/projectTitle.mdb 拷贝到目录 pzNewBasePath 下
				projectBasePath = strPathName.Left(strPathName.ReverseFind(_T('\\')));
				strFileName = strPathName.Right(strPathName.GetLength()-1-strPathName.ReverseFind('\\'));
				projectTitle = strFileName.Left(strFileName.ReverseFind(_T('.')));
		*/
		CString sourceFile,distFile;
		sourceFile = projectBasePath + _T("\\") + projectTitle + _T(".mdb");
		distFile = pzNewBasePath + _T("\\") + pzNewProjName + _T(".mdb");
		if (!CopyFile(sourceFile,distFile,FALSE))
		{
			AfxMessageBox(_T("另存数据库失败 :") + distFile);
			return;
		}

		sourceFile = projectBasePath + _T("\\") + projectTitle + _T(".grid");
		distFile = pzNewBasePath + _T("\\") + pzNewProjName + _T(".grid");
		if (!CopyFile(sourceFile,distFile,FALSE))
		{
			AfxMessageBox(_T("工程文件失败 :") + distFile);
			return;
		}
		AfxMessageBox("项目成功另存到目录:"+pzNewBasePath);
	}
}


参数说明: http://zhidao.baidu.com/question/183424347.html



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值