


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章易语言的子程序本章主要介绍易语言子程序的创 建和调用、子程序参数的使用以及参 数属性的设置方法。本章学习内容:8.1新建子程序8.6参数的参考属性8.2调用子程序8.7子程序的返回值8.3两类子程序的区别8.8课后练习8.4子程序参数8.5参数的可空属性将程序分割成较小的功能单元就可以简化程序设计任务,这些功能单元被称为子程序, 可以把共享的或常调用的功能置于子程序 中,达到简化程序设计、方便代码重用和提高程序维护效率的目的, 这是结构化程序设计的主要特征之一。*子程序可把程序划分成相对独立的功能单元,每个单元都比无子程序的整个程序容易调试和理解; 一个应用程序中的子程序,往往不必修改或
2、只需稍作改动,便可以成为另一个程序的子程序。1638.1新建子程序F面我们就开始新建第一个自定义子程序。方法十分简单,一步一步 跟我来吧!窗口程序集名备庄窗口程序集1首先在 启动窗口添 加一个按 钮,默认名 称为“按钮 1 ”。双击按 钮1进入代 码编辑界 面。子程序i新建子程 序的默认名称 为“子程序1 ”, 依此类推。子程序名返回值类型公开备拄交詡L.被单击2匚乩新子程序4Ctrl+N1kJ11.撤消丛删除Ctrl+H C.复制Ctrl+C 粘贴Ctrl+V子程序名将光标移到代码编辑行, 右键单击,在弹出菜单中选择 “新子程序”命令,就可以新建 子程序。另一种更快 捷的方法是,在 代码编辑
3、区获 得焦点时,同时 按下“ Ctrl键” 和“ N键”,也 可以新建子程 序。窗口程序集名IS閒IBI ?电S新孑程序匸新窗口吠N新现行组件Ctrl+NM.新程序集第三种方法,到主 菜单上。选择“插入”“新子程序”命令也可 新建子程序。注意: 在同 个程序集中, 子程序名不 能重复。特别 在修改的时 候,易语言会 提示并修改 已经被使用 过的名称。厂“子程序1 ”已经存在, 当另一个子程 序被修改成“子程序1 ” 时,易语言弹出 出错提示。新建的子程序没有参数,这需要操作者自行添加所需数目的参数并设置 参数的类型以及参数的可空、参考和数组等属性。特别应该注意的是,每个新建的子程序都不会被易语
4、言或其它子程序自 动调用,下面将讲解如何调用子程序。8.2调用子程序在“子 程序1”中添 加代码:信息 框(“你好!我是信息框。”,# 信息图标,)窗口程序集名备注宙口程序集】子程序名返回值类型公开备注子程序1子程序名 延回值类型公开备注左钮彼单击|子程序1 0 ” M . n m h . . _ n 慣息懂丄 喰麒 寒是信县框齐二.割司昌图逐.)子程序名翹回值类型公开备注歩融1 被单击子程序1 0子惶序名遞回值类型仝幵备注:子程序1 :信息框你妊我是厲息框.”.裤息国标,在“按钮 1_被单击”事件 子程序中添加 程序代码“子 程序1()”或直接复制名称, 将其粘贴过来。同子程序可以 被多次调
5、用。- J子程序名返回值类型公开备注爭站2被单击子皤1 0按F5键运行程序,分别单击“按钮1”和“按钮2 ”,都能弹出“子程序1”里的信息框。在本一个子程序可以在事件子程序和其它新建的子程序中多次被调用,可以被其它程序集的事件子程序和新建的子程序调用。要注意的是,程序中定义的子程序只能在本程序中使用。每次调用子程序时,子程序中的所有命令都将从第一条开始顺序执 行,当执行到子程序尾部或者遇到“返回”命令时即返回到调用此子程序 命令的下一条命令处。把“子 程序1 ”修改 为“信息框 子程序”。子程序名返回值裘型公开臾钮单击信息框子程序0这里的“子程序1”同 时被修改为信 息框子程序。入丿子程序名返
6、回值类型公开备注信區惬罐圧:上节中提到了子程序名称的问题,这里我们还要提一个小建议。当要 修改一个子程序名称时,应该直接到这个子程序的定义位置进行修改。这 样可以使调用它的程序代码同步修改该子程序的名称,如上图所示。这可 以避免因调用无效子程序导致的编译错误。大家可以看到,子程序必须由其它子程序调用才能被执行。子程序的 调用方法与命令的调用方法完全一致。8.3两类子程序的区别行总结一下新建的子程序和事件子程序的区别。而新建子程序可以任意的添加参数。请大家自子程序参数结构被改变,易语言就会把它当作光标选中 子程序名称, 按Enter键添 加一个参数。这是“ 钮1_被单击 程序的原型, 有参数。输
7、入参数 名称并设置 类型。最后 按F5键运行 程序,单击“按钮1 ”, 信息框不见 了。8.4子程序参数可以使用赋值参数名(用来在 (确定参数能够存等属性。参新建的子程序,和“按钮 1”没有任何联系了参数和变量的使用方法一样语句在参数内临时存储数据。参数有 程序中引用一个参数)、数据类型储数据的种类)以及“可空”和“参考 数只能在定义它的子程序中使用,相当于局部变量。信息框看不到的原因是 “按钮1被单击”1子程序名1返回值类型公开备&吐僉西1_菠軍击:子 没子程序名返回值类型公开A钮-被单击-卷数名类型7参敎1n整数型u把8.3中“_按钮1_被单击”事件子程序的“参数1 删除。在“信息 框子程
8、序”添 加两个文本型 参数“参数1 和“参数2”。r孑程序名懸回值类型备信息电子程序类型参考m空数書数1立本型一丄文本型D参数的“类 誹”属性可为 空。如果空,默 认为整数型。丿信息框你好!我是信息框.”,诺息图标看到了 吗?调用子 程序的命令 前多了个“+”号, 我们可以将 它展开。子程序名返回值类型公主7克钮L被車击箱息框子程序C )展开的方 法:直接双击或 用键盘上的右 光标键。言”,当程序运 行时,下面“参 数1 ”保存的数据就是“易语O参数提示和实 际参数的内容 是互相对应的,在上面添加文 本型数据“易语孑程序名返回值类型公开备注参数名类型参考可空数爼备注参数1丈本型参数2文本型接下
9、来我们在程序中为子程序提供具体的参数数据。用 “Ctrl+Tab ”组合键切换到界面设计状态,在窗体上添加两个标签和两 个编辑框,并将标签的标题属性设置为“输入123”,提示用户。标签的标 题在此处设置。这是前面提到的“按 钮1”,下面的是“按钮2”。标签ft标签)可停留言臣*无以*A停留顺序0每题输入也3谑第fMfl/V1在此处 琴弊爭件飪理予程序T1禽1雇性切换到代码编辑 状态,在子程序调用 处,分别为两个参数 提供数据(编辑框提 供的文本型数据)。子程序名題回值类型去开备注炎刚 被单击信息框子程序 饋辑框1.內客_编涓框2.内容1 竦参数1:编辑框1.內容子程序名遞回值类型公开备注信息框
10、子程序参数名类型口空数组备注参数1立本型参数E立本型匸丄+ :主I.如杲够礬!工_ -男竽二.S-. 2 =.:丄竽二丄: 【厂信息框你好辛我是信息框 J 編息團标 :信息框(“輸入错泯或後有输入。”,黠昔误閨标,叫昔误”)码。修 改“信息 框子程 序”代按F5键运行程序,在“编辑框1”和“编辑框2”中输入“123”,单击“按钮1”,第一个信息框被弹出。你也可以输入其它的数据,看一看效果。子程序如需要接收参数数据,必须先在子程序定义处的参数表 部分定义所需的参数。调用有参数的子程序时所传递过来的数据将 被顺序地填入对应的参数中。如果传递过来的数据与对应位置处的 参数数据类型不一致,在可以互相转
11、换时,系统将自动将传递过来 的数据转换成对应参数的数据类型后再赋值给该参数;如果不能转 换,就会产生运行时错误。如上面的第 2步在调用子程序的同时 就把“编辑框1.内容”和“编辑框2.内容”作为参数数据对应地传递 到了编辑框子程序 内的两个参数“参数1”和“参数2”内。子程序容返回值类型公开备注信息框子程序参数名类型可空数组备注参数1文本型:参駆:文本型:口如果 痿数L二 叫?3且参数2 = 卜信息框l你好?我是信息框.j息團标,)将“参数 2”可空属性 选中。方法 是,选中该处 单元格再单 击或选中后 按空格键。8.5参数的可空属性参数可空,就是说该参数是可选 的,从字面上就能理解它的意思。
12、就 是在调用子程序时,可以不提供该参 数所需的数据。看看下面的例子。信息框“输入错误或没有输入.样菅误图标“错谋肝)*把调用处 的“参数 2 ” 删除。把调用处的“参数 2删除。Z如果某个参数的“可空”属性为真,那么在调用本子程序时,可以不给此参数传递数据。可空的参数主要用于支持具有默认值的参数;另外,如果给某个子程序添加了新参数却又不想去更改以前调用此子程序的代码,那么只要将新参数设置为可空参数就行了。8.6参数的参考属性O在“按钮1_被单击”事件子 程序中添加两个局部变量。打个比方,你家的门锁有两把钥匙,分别由两个人拿着。不管是哪一个人都可以打开房门,改变家里家具的摆放位置。如果子过程的参
13、数具有“参考”属性,那么,当调用子程序时负责提供该参数 数据的是一个变量的话,在子程序中修改了该参数 的值,那个变量的值也会跟着被改变。子程序名备注钮1 被单此变昼1 =到数值 康輯框1.内容值I錦辑框E内容1信息框十櫃把编辑框提 供的文本型数据 转换到整数型。把编辑框提供的文本型数据转换到整数型。注意:添加信息框,显文本型数据默认具有参考属性,所以此例中为了演示参数的参考属性,把文示调用子程序后,“变本型数据转换到整数型。量2”的值。*矽厅符+严豊垄的便用方法7鼻变星1 =到数值 福輻框1.内容I变量2 =卿值履辑框2.内容1 信息哆矗陵量匚变量R+ 窗&参 殖爾方罠二祂證二啓空 三 到竝?
14、便範:G改为整数型。将“信息框子程序”两 个参数的类型添加代 码,修改“参 数2”的值。孑程序名返回值类型备注信息框孑程序参数名类型参若可空数爼备注整数型菱数r整数型数2 = 123/口 如果 隆数3 k参数2 = 123)厂/ 厂信息框巧沁混信右框躺扈图标$卜信息框夕唸皓误或明佑输入O#4昔倶團标,叫背倶”)注意:为了更好地了解程序的运行过程,子程序名返回值类型启田匚被单击以通过在关键代码行前设置断点的方法来跟踪代码行的执行情况。站名类型静态吏量1整数型整数型娈提I =到数值饋料El F 吏呈r =到逍値編辑H12. F 倍息IB子程序 段星1,瓷鑒 信息框1“彗芳的使用方法口在代码行前设置
15、断点。设置断点的方法:置断点的代码行,再按子程序名遞回值裘型信息悵子程序类型Hl整数型参数2整数型肆數2 = 123口如果匿数1二瑋3卜-信息框严你好?我是営 信息框错误或没O按F5键运行程序,在启动窗口的编 辑框中输入“123 ”,单击“按钮1”。窗口消失,程序停止,一个断点变黄。这就说明在“按钮1被单击”事件子程序中,第一个断点处的“信息框子程序”将被执行。養数 = 123广 “参数2的值被改变。 k“参数1”的值是“变量T的值。两个条件都成立。再按F5键,“信息框子 程序”里的代码被执行。说 明子程序已经被调用。丸如果隧数1二1Z3且帑咙=心汀 信息框(你好?我是信息框 卜信息框杯输入诸
16、误或没有输O再按F5键,断点变为红 色,弹出条件成立的信息框。十息框(“你好f我是信息框,褊息團标,)4/信息框输入错碳或泯有输入-,捉昔馍图标,叫昔逞单击“确定”按钮。信息框子程序戲量1,变量卩+ 信息框亍谤萼的使用方注厂+顽行寤匚飞吏屋云孑丁孕反衣険1厂 J程序又跳到了“信息框子程序”被调用处的下一行代码处,说明“信 息框子程序”执行完毕。子程序名返回值类型公开1信息框孑程序类型参数1整数型参數2整数型参考的使用方法.“参数2 ”没再按F5键,、弹出“按钮1_ 被单击”事件子 程序中的信息 框。即使“参数 2” 的数据被改变,“变量 2”仍保存原值。有设置参考。I由于运行开始时“编 辑框1
17、”内的数据为空文 本,转换到整数后为“ 0”。单击“确定”按钮,代码运行结束。关闭程序,然后设置“参数2”的参考属性,设置“参数2”的参考属性的方法类似可空属性的设置, 在参数定义表“参考” 栏相应空格内单击使之出现一个“V”号。按F5键运行。最后信息框显示“变量2”的值和“参数2”的值是相同的。当使用变量向子程序的参数传递数据时,如果所传递过来的变量为组、用户定义数据类型、库定义数据类型、字节集型或文本型,则无论参数的“参考”属性是否为真,都将是传递变量的指针(即该变量的内存地址),这 样在子程序中改变该参数的值时相应变量的值也会被改变;如果所传递过来的 变量类型与相应参数的数据类型不一致但
18、可以相互转换,譬如将整数型变量传 递到小数型的参数时,则在数据被实际传递前,系统将首先自动将整数型变量的值转换为小数型数据, 然后再进行传递,在这种情况下,即使参数的“参考 属性为真,系统也无法传递指向原变量的指针,只能传递经过类型转换后的变量的值。如果系统将数据指针成功地传递过来,那么在子程序中对此参数内容 的更改将会相应地反映到调用子程序时负责提供相应参数数据的变量上。8.7 子程序的返回值 将“信息框子程 序”的返回值类型设 置为整数型。 删除下面两行代码。参数2 = 123信息框(“参考的使用方法。” + #换行符 + “变量2=” +至収本(变量2), 0,)变量1 =到数值饋辑框1
19、.內容) /变量2 =到数值饋辑框2內容) 在“按钮1_被单击”事件子程序中 添加名称为“返回值”的整数型变量。“返回值”变量用来保存“信息 框子程序”返回的整数型数值。厂调用一个子程序时,子程序中的所有命令将从第一条开始顺序执行,当执行到子程序尾部或者遇到“返回”命令时即返回到调用此子程序命令的下一条命令处。当一个子程序 有返回值时,如果需要使用该返回值,可以把子程序调用命令嵌在其它命令中,如“变量仁变量2+子程序名(参数)+变量3”(这里假设“子程序名(参数)”有返回值),也可以建立一个与该返回值数据类型相同的变量来接收该返回值,即使用“变量名=子程序名(参数)”的形式(“=”在这里是赋值
20、号)。8.8课后练习(1)练习子程序的建立与调用。新建Windows窗口程序”添加一个按钮。蔚口程存集若备注番口程仔集1歪回值=孑程序1 o:Q如果捱回值=1 卜值息桓广是钮”,口 :h値息框(円否钮”,U,)O遞回恒二信息班(厂q添加如图上的代码。完成后运行一下程序看 看。子程序名延回値类型幻f备汪煲钮1-後单击喪量名类型备注返回眉子程序塔遞回值类型备注孑程序1类型静态數退返回値整數里邀回值二握刨 也回0土嵌理回到调用方的值:o这两个地方添加什么值, 才可以使程序运行,并且能够正确显示呢?请大家来 将这两个命令补充完整。(2)练习编写用子程序的方式表示两数相加,返回和的例程。子程序名返回值类型公开备注和是几整数型参数名类型可空数组备注数1整數型 r数2整数型和晅回僂虹+数门 新建
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 城市交通规划合同终止咨询重点基础知识点
- 轧钢厂租赁合同协议
- 辅导机构学员协议合同
- 暂时离职协议书
- 智联招聘协议书
- 健康养生服务提供协议
- 智力障碍协议书
- 网络游戏道具购买合同
- 市场推广活动策划草案
- 公寓精装修合同书
- 养殖场安全生产培训
- 语法知识-2022-2023学年八年级语文上学期期中考前复习训练(解析版)
- 水利工程中的水环境保护与生态修复
- 矿山生产管理培训课件
- 普及防癌知识宣传
- 高一数学组尖子生培养计划(修改)
- 医疗器械辐射安全管理的要求
- 自动按频率减负荷装置
- 【课件】时代与变革-为人生而艺术+课件高一上学期美术人美版(2019)必修美术鉴赏
- 6朗诵《唐诗里的中国》朗诵稿
- 博士生入学复试面试报告个人简历介绍(完美版)模板两篇
评论
0/150
提交评论