关于新建立的文件夹check,为何C:\\\\aaa都是表示为正确的文件夹

gigilee 2004-08-24 07:59:38
关于新建立的文件夹check,为何在textbox中填入C:\\\\aaa都是表示为正确的文件夹。

然后想在这个文件夹里用程序放入文件,这样就会出错,比如用excel 的save as 程序,就会出错。
该如何处理。

if( !edtExlFolder->Text.IsEmpty() ){
if( edtExlFolder->Text.SubString(edtExlFolder->Text.Length(),1) != "\\")
edtExlFolder->Text = (edtExlFolder->Text + "\\").c_str();

if( !DirectoryExists(edtExlFolder->Text) ){
try{
if (!ForceDirectories(edtExlFolder->Text)){
throw Exception(("Cannot create" + edtExlFolder->Text).c_str());
edtExlFolder->SetFocus();
return;
}
}catch (...){
Application->MessageBox(("Cannot create" + edtExlFolder->Text).c_str(),"err",MB_ICONSTOP);
edtExlFolder->SetFocus();
return;
}
}
}

if( !DirectoryExists(edtExlFolder->Text) ){
Application->MessageBox(("Cannot create" + edtExlFolder->Text).c_str(),"err",MB_ICONSTOP);
edtExlFolder->SetFocus();
return;
} 这里的时候c:\\\aaa\\\\\\\这样的输入怎么也通过。

......

Sheet1.OleProcedure("SaveAs", edtExlFolder->Text.c_str()); 这个时候就会出错。
...全文
131 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
gigilee 2004-10-29
  • 打赏
  • 举报
回复
问题是“\\\\\\\”之类的东西是自动处理的,但是这样的路径是不对的,如果再按这个路径打开文件,是打不开的。所以我用了DirectoryExists再次判断这个路径是否能够读到。
gigilee 2004-10-29
  • 打赏
  • 举报
回复
问题是“\\\\\\\”之类的东西是自动处理的,但是这样的路径是不对的,如果再按这个路径打开文件,是打不开的。所以我用了DirectoryExists再次判断这个路径是否能够读到。
constantine 2004-08-25
  • 打赏
  • 举报
回复
不知道我说的对吗?
constantine 2004-08-25
  • 打赏
  • 举报
回复
你的代码好像有问题,
1.既然用了ForceDirectories来创建文件夹,怎么还要
DirectoryExists判断,么有必要
2.
if( edtExlFolder->Text.SubString(edtExlFolder->Text.Length(),1) != "\\")
edtExlFolder->Text = (edtExlFolder->Text + "\\").c_str();
更应该去掉吧,ForceDirectories创建文件夹,他的参数是不需要后面夹“\\”的吧,加了可以吗?应该创建不出来。你说保存有问题看你看是不是以为这个关系

3.ForceDirectories本身就会自动处理“\\\\\\\”之类的东西,这个你不用理了,中间没有其他字符的话最终都当一个而已

qiuafa 2004-08-25
  • 打赏
  • 举报
回复
奇怪了!
cczlp 2004-08-25
  • 打赏
  • 举报
回复
c:\\\\aaa就不会通过了
gigilee 2004-08-25
  • 打赏
  • 举报
回复
没人知道吗

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧