- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四课 易语言的子程序和变量?子程序?与?变量
?
先来了解一个?子程序?是什么,一个程序是通过很多的?函数?所组成的,这里的函数?是一个小小的个体,子程序?与?函数?的意义与使用方式也一样,不同的是?函数与函数里的功能是由易语言支持库直接提供的,而?子程序?与?子程序?里要执行的代码功能是由用户自行设计的。
?
一个?函数?可以没有参数或有多个参数,即可以没有返回值也可以有各种类型的返回值,同样的?子程序?也可以无参数或多个参数,并且也可以设定有没有返回值。
?
参数的作用是由外部调用这个函数时,传过去的一些数据,函数会获取并使用这些数据进行处理,返回值就是这个函数对数据处理后的结果返回给原调用这个函数的那个功能。子程序也是这样的。
?
例如下面的一句代码
?
编辑框1.内容=到大写(“abcd”)
?
上面的这条代码函数是?到大写()?参数是文本型的?abcd?返回值是什么呢?当然是?文本型的?ABCD?这条代码执行后,会把?小写的?abcd?转换为大写的?ABCD?然后赋值给?编辑框1?显示出来
?
下面让我们自已来定义两个子程序看看吧
?
自已定义的子程序.
?
参数有?参数名,类型,参考,数组?四项可供设置的.下面再介绍一下参考与可空这两项的作用.
?
一个子程序,可以通过?返回值?把一个运行结果数据取回来,也可以通过参数取回来,但前提是要设置该参数的参考项,若API声明时是要设传址项.除了设定为参考项之外,传递该参数时还应该采用变量的方式进行.
?
如果设置了某些参数为可空项,那么在编写代码调用该子程序时,可以不填写该参数,可以偷个懒.
?
有关数组那项见后面的单独数组那节教程.
?
?
?参考与可空说明.
?
尽管设置了参考之后才能获取该参数被修改后的值,但有些数据类型的参数即使没有设为参考,也一样会导致被修改.原因是这类参数不管设或不设,易语言默认一律以参考对待
?
?
?
默认以参考来处理的数据类型.
?
在上面的图中多处有涉及了?变量?这个词,变量是当程序运行时会在内存中分配一定的内存空间来保存数据的
?
根据变量的作用范围可以分为?局部变量?程序集变量?全局变量
?
局部变量?在该所在的子程序被调用时才会在内存中分配出内存空间用来暂存数据,当这个子程序执行完毕后,这个局部变量也就跟着消失了
?
程序集变量?与?全局变量?会在软件一运行时就在内存中分配了存诸空间,直到整个软件结束运行后才会在内存中被销毁掉,程序集变量?与?全局变量?不同的在于,全局变量对于整个软件的所有程序集下子程序都有效,所有的子程序都可以使用全局变量而程序集变量只能被在该程序集下的所有子程序使用,对于别的程序集下的子程序是无法使用另一个程序集下的变量
?
?
?
添加全局变量
?
?
?
上图演示了按钮1会赋值给这三种变量.调试时多按几次按钮1后会发现输出的结果有些奇怪.全局变量与程序集变量是软件运行后就会创建,直到软件结束后才会销毁.
?
局部变量1因为设置了?静态?这项后,居然效果与程序集及全局变量一样,每按钮一次里面的值就加上一次.直到软件关掉重开才会变回来.
?
局部变量2因为没有设置?静态?所以这个变量总是在该?按钮1被单击?子程序执行过程中被创建,并且该子程序执行完就会被销毁,所以,每次它的输出结果都是?0+1 = 1
?
一般情况下,大家若没有特殊的需要时,应尽量少用全局变量与程序集变量.因为这些变量会一直存在直到软件结束后,所以相对来说,占用内存会多些且一直占有着.
?????? 工具、源码可在网站首页公布的网盘中下载
文档评论(0)