怪,怪,真奇怪

helpforever 2003-05-14 04:39:21
bool fg;
fg=true; //1 can

if(Edit1->Text==""){
fg=false;
Application-> MessageBox("图片名称不能为空,请命名","提示",MB_OK+MB_ICONSTOP);
return;
}
else if(!PicQueryForm->isOk(Edit1->Text)){
if(Edit1->Text!=MainForm->TreeView1->Selected->Text){
fg=false;
Application-> MessageBox("此图片名称库中已经存在,请重新命名","提示",MB_OK+MB_ICONSTOP);
return;
}
else{
fg=true;
}
}
else if(fg){
ShowMessage("成功");
}///????????????为什么这里没有执行? 奇怪拉写错了吗?
...全文
37 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
helpforever 2003-05-14
  • 打赏
  • 举报
回复
ghwhz 2003-05-14
  • 打赏
  • 举报
回复
因为在最后一个else if之前有一处条件满足的却没有return的语句,就是fg=true;那一处,所以不会再去判断最后一个else if 了,其内的语句就不会执行到,可以单步执行就能看出问题来
duduwolf 2003-05-14
  • 打赏
  • 举报
回复
最后一个else是多余的,并没有在判断中,
codecb 2003-05-14
  • 打赏
  • 举报
回复
bool fg;
fg=true; //1 can

if(Edit1->Text==""){
fg=false;
Application-> MessageBox("图片名称不能为空,请命名","提示",MB_OK+MB_ICONSTOP);
return;
}
else if(!PicQueryForm->isOk(Edit1->Text)){
if(Edit1->Text!=MainForm->TreeView1->Selected->Text){
fg=false;
Application-> MessageBox("此图片名称库中已经存在,请重新命名","提示",MB_OK+MB_ICONSTOP);
return;
}
else{
fg=true;
}
}
if(fg){
ShowMessage("成功");
}
codecb 2003-05-14
  • 打赏
  • 举报
回复
结构错了

应该是
if ()
{ }
else if()
{ }
....
else
{ }

所以最后你的 ShowMessage("成功");没有运行
猎人66 2003-05-14
  • 打赏
  • 举报
回复
晕了,
代码太难看了
codecb 2003-05-14
  • 打赏
  • 举报
回复
return;
不要试试

13,873

社区成员

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

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