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