CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

关于函数返回值的问题?

楼主jacky_shen(jacky)2003-11-04 14:51:52 在 Delphi / VCL组件开发及应用 提问

(1)  
  function   TfrmEditMainData.CheckContent:   Boolean;  
  begin  
      Result   :=   True;  
      if   edtCorpNameC.Text   +   edtCorpNameE.Text   =   ''   then  
      begin  
          ShowMessage(MESSAGE_NOCORPNAME);  
          edtCorpNameC.SetFocus;  
          CheckContent   :=   False;         <----赋值后并没有结束函数,而是继续执行下去  
      end;  
      if   edtNameC.Text   +   edtNameE.Text   =   ''   then  
      begin  
          ShowMessage(MESSAGE_NONAME);  
          edtNameC.SetFocus;  
          CheckContent   :=   False;  
      end;  
      if   cmbManager.Text   =   ''   then  
      begin  
          ShowMessage(MESSAGE_NOMANAGER);  
          cmbManager.SetFocus;  
          CheckContent   :=   False;  
      end;  
  end;  
   
  (2)  
  function   TfrmEditMainData.CheckContent:   Boolean;  
  begin  
      Result   :=   True;  
      if   edtCorpNameC.Text   +   edtCorpNameE.Text   =   ''   then  
      begin  
          ShowMessage(MESSAGE_NOCORPNAME);  
          edtCorpNameC.SetFocus;  
          Result   :=   False;  
          Exit;  
      end;  
      if   edtNameC.Text   +   edtNameE.Text   =   ''   then  
      begin  
          ShowMessage(MESSAGE_NONAME);  
          edtNameC.SetFocus;  
          Result   :=   False;  
          Exit;  
      end;  
      if   cmbManager.Text   =   ''   then  
      begin  
          ShowMessage(MESSAGE_NOMANAGER);  
          cmbManager.SetFocus;  
          Result   :=   False;  
          Exit;  
      end;  
  end;  
   
  这两个函数一个是通过Result,一个是通过函数名CheckContent返回。  
  我记得以前看书上说在函数中对函数名赋值就结束函数了。  
  但是现在(1)赋值后并没有结束函数,而是继续执行下去。  
  (2)是一般的做法。  
   
  我以前看的是pascal书(黄色封面的),是不是现在在object   pascal中有所改变了。 问题点数:20、回复次数:7Top

1 楼aiirii(ari-http://spaces.msn.com/members/aiirii/)回复于 2003-11-04 15:06:52 得分 4

>>我记得以前看书上说在函数中对函数名赋值就结束函数了。  
  >>但是现在(1)赋值后并没有结束函数,而是继续执行下去。  
  不對,   還要加個exit;   才行!!  
  就算在c,   c++中,   也要用return   啊!  
  Top

2 楼searoom(海龙)回复于 2003-11-04 15:16:49 得分 3

给函数名赋值了之后,函数并不会退出的啊Top

3 楼IORILI(眼镜)回复于 2003-11-04 15:31:40 得分 3

是吗???一直都用result返回Top

4 楼IORILI(眼镜)回复于 2003-11-04 15:32:57 得分 0

不过我同意aiirii(ari)的说法Top

5 楼DelphiBird(爱你等于爱自己)回复于 2003-11-04 15:41:15 得分 3

Delphi中给result复值,如果后面还有代码,函数并不会退出,还会继续执行;  
  C++中用了reurn之后就会退出,不关后面还有没有代码;Top

6 楼fengjn(颗粒)回复于 2003-11-04 15:56:53 得分 3

>>我记得以前看书上说在函数中对函数名赋值就结束函数了。  
   
  没有看见过这种说法Top

7 楼Piao40993470(ミ飘ミ)回复于 2003-11-04 16:01:48 得分 4

对函数赋返回值后,代码本来就会继续运行下去的,就连比较老的Turbo   Pascal都是这样。((我现在机子上没Turbo   Pascal,今晚回家后证实一下。实践证明一切。Top

相关问题

  • 函数返回值???
  • 函数的返回值?
  • 函数返回值问题??????
  • C函数的返回值
  • 函数返回多个值
  • 函数返回值问题
  • RasDial函数的返回值和GetLastError函数的返回值。
  • 关于函数返回值的问题?
  • 关于函数返回值的问题
  • 函数返回数值的问题!

关键词

  • c++
  • 函数
  • 代码
  • 赋值
  • 值
  • 结束
  • 继续

得分解答快速导航

  • 帖主:jacky_shen
  • aiirii
  • searoom
  • IORILI
  • DelphiBird
  • fengjn
  • Piao40993470

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo