需求:
1. 在当前目录下查找某文件,若该文件存在,弹出对话框,按【是】则return文件名,按【否】则弹出选择文件对话框,选择文件后按【打开】则返回该文件的文件名,若在选择文件对话框中按【取消】,则返回空。
2. 用CFile类实现选择文件对话框。
CString 类名::GetResultFileName()
{
CString name = "";
CFileFind find;
CFileDialog fDlg(true, NULL, NULL, OFN_NOCHANGEDIR|OFN_OVERWRITEPROMPT|OFN_EXPLORER|OFN_LONGNAMES, "DataFile(*.txt)|*.txt", this);
fDlg.m_ofn.lpstrInitialDir = ".//";
if(find.FindFile("abc.txt")) //若当前目录下abc.txt文件存在
{
if(::MessageBox(NULL, "abc.txt文件存在,是否需要上传", "文件上传", MB_YESNO)== IDYES) //弹出对话框并按【是】
{
return "abc.txt"; //返回文件名
}
}
if (fDlg.DoModal() == IDOK) //DoModal()负责弹出选择文件对话框,无论当前目录下abc.dat文件存在与否都执行,若按【打开】
进入if内,获取文件名,若按【取消】,直接return name的初始值-空。
{
name = fDlg.GetPathName();
}
return name;
}