请问代码这成这样是什么意思?

zbdenghu 2008-07-17 11:47:14
procedure TForm1.first;
function second(i:byte):string;
begin
//code
end;
begin
//code
end;
这是我在一个软件的源代码中看到的,请问这样写有什么不同的意义吗?
...全文
89 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
7年 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gzmhero 的回复:]
没什么不同的意义,就是定义了一个函数second在函数first中,它只能在first中使用。
[/Quote]
pathletboy 2008-07-17
  • 打赏
  • 举报
回复
函数作用域不同,second只作用在first函数范围内。
yuqianyi1974 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 gzmhero 的回复:]
没什么不同的意义,就是定义了一个函数second在函数first中,它只能在first中使用。
[/Quote]
gzmhero 2008-07-17
  • 打赏
  • 举报
回复
没什么不同的意义,就是定义了一个函数second在函数first中,它只能在first中使用。
ching11 2008-07-17
  • 打赏
  • 举报
回复
大家说的都没错,顶一个
捧剑者 2008-07-17
  • 打赏
  • 举报
回复
//请教一下SmallHand大哥,您上述的话可不可以这么理解?
procedure TForm1.First;
var
B:Integer;
procedure Second;
begin
//这样就能能访问B

end;

begin
//这里能访问B
end;
liangpei2008 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 SmallHand 的回复:]
关键点在于
second过程可以使用first中的变量,常量
second相当于first过程的一个子过程,他的作用域仅仅能够在first中使用。
这样做的目的简化first过程的逻辑,使整个过程看起来更清晰,也更容易
理解。
[/Quote]
//请教一下SmallHand大哥,您上述的话可不可以这么理解?
procedure TForm1.First;
procedure Second;
begin
//这里能访问B?,应该不可以吧!

end;
var
B:Integer;
begin
//这里能访问B
end;
火龙岛主 2008-07-17
  • 打赏
  • 举报
回复
关键点在于
second过程可以使用first中的变量,常量
second相当于first过程的一个子过程,他的作用域仅仅能够在first中使用。
这样做的目的简化first过程的逻辑,使整个过程看起来更清晰,也更容易
理解。
捧剑者 2008-07-17
  • 打赏
  • 举报
回复
哈哈,都答对了。我没什么好说的了。
auqfiudh 2008-07-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 JeffChung 的回复:]
只在该函数范围内可以使用,可以说是内嵌的函数,这样把相对独立的功能划分开来,代码也比较整洁
[/Quote] UP
JeffChung 2008-07-17
  • 打赏
  • 举报
回复
只在该函数范围内可以使用,可以说是内嵌的函数,这样把相对独立的功能划分开来,代码也比较整洁

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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