《十天学会易语言图解教程》第八章子程序D

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功