该【十天学会易语言易语言教程第8章易语言的子程序 】是由【2210620458】上传分享,文档一共【18】页,该文档可以免费在线阅读,需要了解更多关于【十天学会易语言易语言教程第8章易语言的子程序 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。:.
第8章易语言的子程序
本章主要介绍“易语言”子程序
的调用方法、子程序参数的使用方法
以及参数属性的相关使用方法。
本章学习内容:
将程序分割成较小的逻辑单元就可以简化程序设计任务,这些
部件被称为子程序。子程序可用于压缩重复任务或共享任务,例
如,压缩频繁的计算处理等等。
子程序可使程序划分成离散的逻辑单元,每个单元都比无子程序
的整个程序容易调试及理解;
一个应用程序中的子程序,往往不必修改或只需稍作改动,便可
以成为另一个程序的子程序。
163:.
下面我们就开始新建第一个自定
义子程序。方法十分简单,一步一步
跟我来吧!
①首先在
启动窗口添
加一个按
钮,默认名
称为“按钮
1”。双击按
钮1进入代
码编辑界
面。
另一种更快捷的方
法是,在代码编辑面板
新建子程②将光标移到代码编辑
获得焦点时,同时按下
序的默认名称行,右键单击在弹出菜单选“Ctrl键”和“N键”,
为“子程序1”,择“新子程序”,左键单击就
也可以新建子程序,而
可以新建子程序。
依此类推。不用弹出右键菜单了。
第三种方法,到主
菜单上。选择“插入”,
在弹出菜单中选择“插
入”,在弹出菜单中选
择“新子程序”也可新
建子程序。
164:.
注意:
在同一个
程序集中,子程
序名尽量不能
重复。特别在修
改名称的时候。
“子程序1”已经存在,当另一个子程序
被修改成“子程序1”时,“易语言”只会调
用第一个创建的子程序。如果这个子程序被删
除,“易语言”会按子程序的创建顺序进行关联
同名的子程序。
新建的子程序没有参数和变量,这需要操作者自行添加和自定义参数的
数量以及每个参数的类型、可空、参考、数组属性。
特别应该注意的是,每个新建的子程序都不会被“易语言”或其它子程
序自动调用,下面将讲解如何调用子程序。
前一节中讲了如何建立子程序,
下面演示如何调用一个简单的子程
序。
165:.
②在“子
①在按钮
程序1”中添
1被单击事
加代码‘信
件子程序中
息框(“你
添加程序代
好!我是信
码“子程
息框。”,#信
序1()”
息图标,)’
或直接复制
名称,将其
粘贴过来。
③在“按
钮2”事件同一个
子程序中子程序可以
添加代码被多次调用。
‘子程序
1()’。
④按“F5键”运行程序,分别单击“按钮1”和“按钮2”,
都能弹出“子程序1”里的信息框。
子程序可以在其它事件子程序和新建子程序中多次被调用,也可以被
其它程序集的事件子程序和新建子程序调用,就像单击“按钮1”,“_
按钮1_被单击”被调用。要注意的是,子程序只能在本程序中使用。
每次调用子程序时,子程序中的所有语句都将被从第一条开始顺序执
行,当执行到子程序尾部或者遇到“返回()”命令时即返回到调用此子程
序语句的下一条语句处。
166:.
这里的
①把“子“子程序1”同
程序1”修改时被自动改为
为“消息框‘信息框子程
序’。
子程序”。
上节中提到了子程序名称的问题,这里我们还要提一个小建议。当要修
改一个子程序名称时,应该直接到这个子程序的位置处进行修改。这样可
以使其它调用处的名称一同被修改。
子程序必须由其它事件子程序调用。子程序的调用方法与命令的调用方
法完全一致。所谓事件子程序,就是“易语言”组件自带的触发事件。如:“_
按钮1_被单击”。
虽然新建子程序和事件子
程序的调用方法都一样,但它们
之间也有一些不同之处。
167:.
这是按钮1
被单击子程序
的原型,没有参
①光标选中
数。
子程序名称,
按“Enter键”
生成一个参
②添加参数数。
名称并设置
类型。最后
按“F5键”
运行程序,
单击“按钮
1”,信息框
不见了。
信息框看不到的原因是“_按钮1_被单
击”子程序参数结构被改变,“易语言”
就会把它当作新建子程序,和“按钮1”没
有任何关系了,而新建子程序可以任意的
添加参数。
参数和变量的使用方法一样,可以使用赋值语句
在参数内临时存储数据。参数有“名字”(用来引用
参数所包含内容的词)、“数据类型”(确定参数能
够存储数据的种类)、“可空”和“参考”。参数只
可以在被定义的子程序中使用,相当于局部变量。
168:.
①“_按钮1_被单击”事件子程序的“参数1”
删除。
②在“消
息框子程
序”添加两
个文本型参
数“参数1”
和“参数2”。
参数的“类型”属性可为空。如果空,默认为
整数型。
③在引用子程序
处,将光标移到括号
中,在括号内添加
“,”号。
④看到了
吗?多了个
“+”号,用[Alt+
我们可以将右光标键]展
它展开。开。
它们是互
相对应的,在上
面添加文本型
数据“易语
言”,当程序运
行时,下面“参
数1”保存的数
据就是“易语
言”。
169:.
①接下来我们在程序中为子程序提供具体的参数数据。用
[Ctrl+Tab]键切换到界面设置区,在窗体上添加两个标签和两个编辑框,
并将编辑框的标题设置为“输入123”,提示用户。
这是前面提到的“按
钮1”,下面的是“按钮2”。
②切换到代码编辑
面板,在子程序调用
处,分别添加数据(编
辑框提供的文本型数
据)。
③修
改“消息
框子程
序”代
码。
④按“F5键”运行程序,在“编辑框1”和“编辑框2”中输入“123”,单击“按
钮1”,第一个信息框被弹出。你也可以输入其它的数据,看一看效果。
170:.
子程序如需要接收参数数据,必须先在子程序定义表中参数表部分定义
与欲接收数据数目相同的参数。调用子程序时所传递过来的数据将被顺序地
填入对应的参数中。如果所传递过来的数据与对应位置处的参数数据类型不
一致,在可以互相转换时,系统将自动进行转换,否则会产生运行时错误。
1、子程序可以接收参数,所定义的各参数的数据类型及参数数目决定
了该子程序所能够接收的参数数据的类型和数目,具有参数的子程序在被调
用时必须提供与参数数目相同的数据。如上面的第2步在调用子程序的同
子程序内的参数1、参数2参数内;
2、参数仅能在子程序内部使用,使用方法等同于变量。
参数可空,从表面上就能理解它
的意思。就是在调用子程序时,可以
不提供在子程序中被定义成可空的参
数任何数据。看看下面。
171:.
①将“参数
2”可空属性
选中。方法
是,选中单击
或选中按“空
格”键。
②把调用处
的“参数2”
删除。
如果本属性为真,那么在调用本子程序时,调用方可以不为此位置处
的参数传递数据。主要用作支持具有默认值的参数,也可以在为子程序添
加了新参数后又不想去更改以前调用此子程序的语句时使用。
参考就是在调用一个子程序之前设置一
个提供参数数据的变量的值,在子程序中相
对应的参数值被改变,调用后这个变量值同
时被改变。
172:.
①在按钮1被单击事件子程序中添加两个局部变量。
②把编辑框
提供的文本型
数据转换到整
数型。
注意:
③添加信息框,显
由于文本型数据默认被参考,看不
示调用子程序后,“变
到参考的效果,所以把文本型数据转换到
整数型。量2”的值。
④将“消息
框子程序”两
个参数的类型
改为整数型。
⑤添加代
码,修改“参
数2”的值。
⑥设置“参数2”的参考属性。像可空属性设置的方
法一样,在这里设置参考。
173:.
注意:
为了更好的了解程序的运
行过程,可以通过在关键代码前
设置断点的方法知道代码行被
执行的情况。
⑦在代码前设置断点。
设置断点的方法:用光标
选中将被设置断点的代码行,
按“F9键”。
⑧按“F5键”运行程序,在启动窗
口的编辑框中输入“123”,单击“按
钮1”。
窗口消失,程序停止,一个断点变黄。这就说明在按钮1被单击
的事件子程序中,第一个断点处的“信息框子程序”被执行。
“参数2”
的值被改变。
“参数1”的值是“变量
1”的值。两个条件都成立。
174:.
再按“F5
键”,“消息框子
程序”里的代码
被执行。说明子
程序已经被调
用。
再按“F5
键”,断点变为
红色,弹出条件
成立的信息框。
⑨单击“确定”按钮。
程序又跳到了“消息框子程序”被调用处的下一行代码处,说明“消
息框子程序”执行完毕。
再按“F5
键”,弹出按钮1
被单击事件子程
序中的信息框。
由于运行开始时“编
即使“参数2”
“参数2”没辑框1”内的数据为空文
的数据被改变,“变量
有设置参考。本,转换到整数后为“0”。
2”仍保存原值。
⑩单击“确定”按钮,代码运行结束。关闭程序,设置“参数2”的参考,按
“F5键”运行。最后信息框显示“变量2”的值和“参数2”的值相同。
175:.
设置系统为当前子程序参数传递数据时是否为传递指向数据的指针。如
果所传递过来的参数数据为数组、用户定义数据类型、库定义数据类型、字节
集型、文本型数据,则无论此属性是否为真,都将传递指针。如果所传递过来
数据的类型与相应位置处参数的数据类型不一致但可以相互转换,譬如将“整
数型”数据传递到“小数型”的参数中,则在数据被实际传递前,系统将首先
自动将“整数型”数据转换为“小数型”数据,然后再进行传递。因此在这种
情况下,即使本属性为真,系统也无法传递指向原参数数据的指针,只能传递
数据本身。如果系统将数据指针成功地传递过来,那么在子程序中对此参数的
内容的更改将会相应地反映到调用子程序时所提供的参数数据上。
子程序可以返回数据,但必须首先定
义返回数据的类型,并且在程序中使用
“返回()”命令进行返回。
①将“信息框子程
序”的返回值类型设
置为整数型。
176:.
②删除下面两行代码。
参数2=123
信息框(“参考的使用方法。”+#换行符+“变量2==”+到文本(变量2),0,)
③在按钮1被单击
事件子程序中添加名
称为“返回值”的整数
型变量。
④“返回值”变量
保存“消息框子程
序”返回的整数型数
值。
⑤在“消息框子程
序”的每个分支处添加
返回命令。
⑥将“消息框子程
序”里的两个信息框
复制到按钮1被单击
子程序的判断语句
中。
⑦最后按“F5键”运行。
每次调用子程序时,子程序中的所有语句都将被从第一条开始顺序执行,
当执行到子程序尾部或者遇到“返回”命令时即返回到调用此子程序语句的下
一条语句处。
177:.
(1)练习子程序的建立与调用。
①新建“Windows窗口程
序”添加一个按钮。
②添加如图上的代码。
完成试运行一下。
这两个地方添加什么
值,才可以使程序运
行,并且能够正确显
示。
178:.
(2)练习编写用子程序的方式表示两数相加,返回和的例程。
,
①新建易程序,放两个
编辑框组件与一个按钮
组件,双击按钮组件,进
入程序代码界面。
②新建一个子
程序,名称为:“和
是几”。加入两个
数。参数类型为整
数型。返回值类型
为整数型。
③在“”子程序下输入以下程序代码:
信息框(和是几(到数值(),到数值()),0,)
在“和是几”子程序下输入以下程序代码:
返回(数1+数2)
最后按“F5键”试运行一下。
179:.
(2)用子程序的方式表示判断两个数谁大,并返回最大数。
①开始也同上一题一样,也是新建易程
序,放两个编辑框组件与一个按钮组件,
双击按钮组件,进入程序代码界面。
②新建一个
子程序,名称
为:“谁最大”。
加入两个数。参
数类型为整数
型。返回值类型
为整数型。
在“”子程序下输入以下程序代码:
信息框(谁最大(到数值(),到数值()),0,)
在“和是几”子程序下输入以下程序代码:
.如果(数1>数2)
返回(数1)
.否则
返回(数2)
最后按“F5键”试运行一下。
180
十天学会易语言易语言教程第8章易语言的子程序 来自淘豆网m.daumloan.com转载请标明出处.