版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第8章易语言的子程序本章学习内容:8.1新建子程序8.6参数的参考属性8.2调用子程序8.7子程序的返回值8.3与事件子程序的区别8.8课后练习8.4子程序参数8.5参数的可空属性将程序分割成较小的逻辑单元就可以简化程序设计任务, 部件被称为子程序。子程序可用于压缩重复任务或共享任务,例如,压缩频繁的计算处理等等。子程序可使程序划分成离散的逻辑单元,每个单元都比无子程序的整个程序容易调试及理解;一个应用程序中的子程序, 往往不必修改或只需稍作改动,便可以成为另一个程序的子程序63 / 188.1新建子程序首先在 启动窗口添 加一个按 钮,默认名 称为“按钮 1 ”。双击按 钮1进入代 码编辑界
2、 面。窗口程序集名保留备注窗口程序集1子程序名返回值类型公开备注手弧 被单击N.新子程序子程序i消 制Ctrl+N2Ctrl厂另厂新建子程 序的默认名称 为“子程序1 ”, 依此类推。将光标移到代码编辑 行,右键单击在弹出菜单选 择“新子程序”,左键单击就 可以新建子程序。种更快捷的方 1 法是,在代码编辑面板 获得焦点时,同时按下“Ctrl 键”和 “N键”, 也可以新建子程序,而 不用弹出右键菜单了。丿巳程序E编辑YI,插入&数据库E运行匚编译儿工具生宙口乩帮助注意: 在同一个 程序集中,子程 序名尽量不能 重复。特别在修 改名称的时候。- 丿子程序名靈回侑类型公开备注子程序信息框
3、W * 0,)子程序名返回值类型公开备注子稈序信息框(Mr of)“子程序i ”已经存在,当另一个子程序 被修改成“子程序 1”时,“易语言”只会调 用第一个创建的子程序。如果这个子程序被删 除,“易语言”会按子程序的创建顺序进行关联 同名的子程序。/>新建的子程序没有参数和变量,这需要操作者自行添加和自定义参数的数量以及每个参数的类型、可空、参考、数组属性。特别应该注意的是,每个新建的子程序都不会被“易语言”或其它子程 序自动调用,下面将讲解如何调用子程序。<;j8.2调用子程序在“子 程序1 ”中添 加代码信 息框(“你 好!我是信 息框。”,#信 息图标,)'子程序名
4、返回值类型公开备注手孤浚单击子程序i 0子程序名返回值类型公开备注子程的信息框你好T我是信息框.M 椿怠图标在“按 钮2”事件 子程序中 添加代码子程序1()'子程序名返回值类型公开备性娄钮L被单击子程序1 0子程序名返回值类型公开备注子程序1信息框你好?我是信息框-B, #m息图标,)子程序老返回值类型公开备注)JS业-被单击0子程序1 o在按钮 1被单击事 件子程序中 添加程序代 码“子程 序 1()”或直接复制 名称,将其 粘贴过来。同一个 子程序可以 被多次调用。按“F5键”运行程序,分别单击“按钮1 ”和“按钮2”, 都能弹出“子程序1”里的信息框。子程序可以在其它事件子程序
5、和新建子程序中多次被调用,也可以被其它程序集的事件子程序和新建子程序调用,就像单击“按钮按钮1_被单击”被调用。要注意的是,子程序只能在本程序中使用。每次调用子程序时,子程序中的所有语句都将被从第一条开始顺序执行,当执行到子程序尾部或者遇到“返回 ()”命令时即返回到调用此子程j序语句的下一条语句处。上节中提到了子程序名称的问题,这里我们还要提一个小建议。当要修 改一个子程序名称时,应该直接到这个子程序的位置处进行修改。这样可 以使其它调用处的名称一同被修改。8.3与事件子程序的区别法完全一致。所谓事件子程序,就是“易语言”组件自带的触发事件。 如:虽然新建子程序和事件子 程序的调用方法都一样
6、, 但它们之间也有一些不同之处。167 / 18把“子 程序1 ”修改为“消息框子程序”。消息框子程序子程序必须由其它事件子程序调用。子程序的调用方法与命令的调用方按钮1被单击”。这里的'“子程序1”同 时被自动改为'信息框子程 序。,丿子程序名返回值类型公开备注子程序名返回值类型备注歩钮1-被单击消息框子程序0这是按钮i 被单击子程序 的原型,没有参 数。子程序名返回值类型公幵备拄母钮1 被单击光标选中 子程序名称, 按“ Enter 键”子程序名遁回值类型公幵1类型£钮i 被单击添加参数 名称并设置 类型。最后 按“ F5键” 运行程序, 单击“按钮 1 ”,信息
7、框 不见了。生成一个参 数。信息框看不到的原因是击”子程序参数结构被改变,“易语言”就会把它当作新建子程序,和“按钮i ”没有任何关系了,而新建子程序可以任意的 添加参数。子程序参数参数和变量的使用方法一样,可以使用赋值语句在参数内临时存 储数据。参数有“名字”(用来引用参数所包含内容的词)、“数据类型”(确定参数能够存储数据的种类)、“可空”和“参考”。参 数只可以在被定义的子程序中使用,相当于局部变量。把8.3中“_按钮1_被单击”事件子程序的“参数1 删除。在“消 息框子程 序”添加两个文本型参 数“参数1 ” 和“参数2”。子程序名返回值类型公开香注消息框子程序参数名类型参考可空数组备
8、注步数1文本型参数2立本型参数的“类型”属性可为空。如果空,默认为 整数型。子程序名返回值类型公开启钮1 被单击消息框子程序c )a ”在引用子程序处,将光标移到括号中,在括号内添加号。看到了吗?多了个子程序名返回值类型公开香注為钮L被单击>4-消息框子程序C )用Alt + 右光标键展 开。我们可以将 它展开。它们是互相对应的,在上 面添加文本型 数据“易语子程序名返回值类型公开备注国钮丄被单击消息框子程序c ) t-媒参数1: L-進念数2 :言”,当程序运 行时,下面“参 数1”保存的数 据就是“易语言 。子程序名返回值类型公开备注消息框子程序参数名类型参考可空数组备注步数1文本型
9、参数2立本型接下来我们在程序中为子程序提供具体的参数数据。用Ctrl+Tab键切换到界面设置区,在窗体上添加两个标签和两个编辑框, 并将编辑框的标题设置为“输入123”,提示用户。这是前面提到的“按 钮1”,下面的是“按钮2”。一标签代标签)'V可停留焦点*无效*4* 671 UEii 冷hl 1标题输入蛙3|$F7+rWz7|在此处选挥加入爭件处理子程丿-|卧程序渗支持库切换到代码编辑 面板,在子程序调用 处,分别添加数据(编 辑框提供的文本型数 据)。子程序名返回值类型公开备注钮1 被单击扫一 消息框子程序 騙指框L内容.漏辑框Z内容)二探参数1:漏辑框1 一內睿锻参数2:編辑框2
10、 一內容子程序名返回值类型公开备注消息框子程序参数名类型参考可空数姐备注爹数1文本型参数2交本型:如果匮数1二u123,!且参数2 = u123,!)厂信怠框(“你好?我是信怠框#信息團标°卜洁息框辅入诸误或没有输入.”,辫背误图标,“诸课”)修 改“消息 框子程 序”代 码。按“F5键”运行程序,在“编辑框1 ”和“编辑框2 ”中输入“123”,单击“按 钮1”,第一个信息框被弹出。你也可以输入其它的数据,看一看效果。子程序如需要接收参数数据,必须先在子程序定义表中参数表部分定义 与欲接收数据数目相同的参数。调用子程序时所传递过来的数据将被顺序地填入对应的参数中。如果所传递过来的数
11、据与对应位置处的参数数据类型不 一致,在可以互相转换时,系统将自动进行转换,否则会产生运行时错误。1、子程序可以接收参数,所定义的各参数的数据类型及参数数目决定了该子程序所能够接收的参数数据的类型和数目,具有参数的子程序在被调用时必须提供与参数数目相同的数据。如上面的第2步在调用子程序的同时就把编辑框1.内容和编辑框2.内容作为参数数据对应地传递到了 编辑框 子程序内的参数1、参数2参数内;2、参数仅能在子程序内部使用,使用方法等同于变量。8.5参数的可空属性子程序名返回值类型备注消息框子程序参数名类型参考可空数爼备注参数1文本型步数2文本型7 -j厂如果(参數1 =W123H且 参数2 =)
12、信息框(“你好,我是信息框.",#信息團标卜信息框(“输入诸误或没有输入.",辫昔误團标,“错误将“参数 2”可空属性 选中。方法 是,选中单击 或选中按“空 格”键。子程序名返回值类型公并备注英钮单击消息框子程序備辑框1 肉容, :-济蚤数1:漏涓框1.内容 二彖参擁:r 、如果本属性为真,那么在调用本子程序时,调用方可以不为此位置处 的参数传递数据。主要用作支持具有默认值的参数,也可以在为子程序添 加了新参数后又不想去更改以前调用此子程序的语句时使用。)时被改变。参考就是在调用一个子程序之前设置一个提供参数数据的变量的值,在子程序中相对应的参数值被改变,调用后这个变量值
13、同8.6参数的参考属性* _-f *子程序名返回值类型公开备注消息框子程序参数容类型参考可空数组备注"BWr'.整数型参数2将“消息 框子程序”两 个参数的类型 改为整数型。;-如果痿数1二123且步数2二 L信息框'你好f我是信息框-", "卜信息框(“输入惜课或没有输入.'在按钮1被单击事件子程序中添加两个局部变量。子程序名咼/开备注国融1 被单击变量名类型静态数姐备注整数型变量2整数型I I变量1 =到数值 離辑框】.內容) 变量2 =到数值康辑框巳內容) 消息框子程序 陵量1,变量2)- 把编辑框提供的文本型数据转换到整 数型。J
14、+信息框参考的使用方法.” *殲行符*到参考的效果, 整数型。所以把文本型数据转换到“变量2二” +到文本 俠量2),必)添加信息框,显 示调用子程序后,“变 量2”的值。息團标,)误團标,“错谀'添加代 码,修改“参 数2”的值。设置“参数2”的参考属性。像可空属性设置的方法一样,在这里设置参考。注意:为了更好的了解程序的运行过程,可以通过在关键代码前 设置断点的方法知道代码行被J执行的情况。在代码前设置断点。设置断点的方法:用光标 选中将被设置断点的代码行, 按“ F9 键”。壹星2 =刹数范嫔姮框F内容消息框子程序醱虽1.娈量曰子程序名返回值类型备注消息框子程序类型可空«
15、;注整数型123且觀駆=12S)信定框(“参考的便用方法.” * #换行符+ “变扭E ="+到丈奉更量SJ星怒=123厂7口果毋數1|:r il息框怀好?我是箱息框.",#信息图掠,:框输入睹课或没有输入”,拆書溟E1杭 杯7 ««")按“ F5键”运行程序,在启动窗 口的编辑框中输入 “123”,单击“按 钮1”。炉+ 悄息框子程序陵量1,变虽门信息框广参考的使用方法.” *犠行符* “变量2" *到文本陵量机X )窗口消失,程序停止,一个断点变黄。这就说明在按钮 的事件子程序中,第一个断点处的“信息框子程序”被执行。1被单击“参
16、数2 ” 的值被改变。参数2 = 123:対果参数1 = 123且参数2 = 123)厂信息框(“你我是信息框.J躺息图标,)-二時息框(“输入错误或没有输入禅背误團标“诸误”)“参数1”的值是“变量1”的值。两个条件都成立。子程序名厂再按“键”,“消息框子 程序”里的代码 被执行。说明子 程序已经被调用_丿消息框子程序参数名参数1盖数2参数3 = 123类型 整数型 整旋返回值类型再按“ F5 键”,断点变为 红色,弹出条件 成立的信息框。丿"错俣")如果俸数1 = 123 K参数2 = 123)信息框你好?我是信息框.J卅言怠图闵 "卜信息框(“输入错误或没有
17、输入桩昔俣圏标单击“确定”按钮。子程序名返回值类型“参数2 ”没有设置参考。再按“ 键”,弹出按钮1 被单击事件子程 序中的信息框。丿类型整数型整数型消息框子程序雜数名 螯数1参即使“参数 2 的数据被改变,“变量 2”仍保存原值。由于运行开始时“编 辑框1”内的数据为空文 本,转换到整数后为“ 0”。消息框孑程序 陵量1,变量彩1 + 信息框“卷考的使用方法。*!+ 鐵行符+ “变量+就丈本展量门,,)程序又跳到了“消息框子程序”被调用处的下一行代码处,说明“消 息框子程序”执行完毕。单击“确定”按钮,代码运行结束。关闭程序,设置“参数2”的参考,按F5键”运行。最后信息框显示“变量2”的值
18、和“参数2”的值相同。设置系统为当前子程序参数传递数据时是否为传递指向数据的指针。如果所传递过来的参数数据为 数组、用户定义数据类型、库定义数据类型、字节 集型、文本型数据,则无论此属性是否为真,都将传递指针。如果所传递过来 数据的类型与相应位置处参数的数据类型不一致但可以相互转换,譬如将“整数型”数据传递到“小数型”的参数中,则在数据被实际传递前,系统将首先自动将“整数型”数据转换为“小数型”数据,然后再进行传递。因此在这种情况下,即使本属性为真,系统也无法传递指向原参数数据的指针,只能传递 数据本身。如果系统将数据指针成功地传递过来,那么在子程序中对此参数的内容的更改将会相应地反映到调用子
19、程序时所提供的参数数据上。8.7子程序的返回值将“信息框子程 序”的返回值类型设 置为整数型。子程序名返回值类型公开备注消息框子程序参数名类型参考可仝数组备注参数1整数型奉数2整数型删除下面两行代码。参数2 = 123信息框(“参考的使用方法。” + #换行符 + “变量2=” +至収本(变量2), 0,)在按钮1被单击 事件子程序中添加名 称为“返回值”的整数 型变量。孑程序名返回值类型公开备注钮1被单击“返回值”变量 保存“消息框子 程 序”返回的整数型数 值。麦量名类型静态数组备注变量1整数型变量2整数型返回值整数型变虽1 =到数值編辑框L內客)变量2 =到数值鶴辑框乙内容) 返回值二消
20、息框子程厚聂量1变星勺在“消息框子程 序”的每个分支处添加 返回命令。将“消息框子程 序”里的两个信息框子程序名返回值类型公开备注消息框子程序整数型参数名类型参考可空数组备注参数1整数型参数2整数型:如果参数1二123且歩数2 = 123) ;厂返回二卜返回CO)复制到按钮1被单击 子程序的判断语 句 中。;判斷返回值=I)/ I信息框'你好?我是信息框a常信息團标,) 2卜信息框("輸入惜误或没有输入.M,雑首误團标,“错误”)最后按“ F5键”运行。每次调用子程序时,子程序中的所有语句都将被从第一条开始顺序执行,当执行到子程序尾部或者遇到“返回”命令时即返回到调用此子程序语句的下一条语句处。8.8课后练习(1)练习子程序的建立与调用。新建"Windows窗口程序”添加一个按钮。添加如图上的代码。完成试运行一下。厂这两个地方添加什么 值,才可以使程序运 行,并且能够正确显 示。(2)练习编写用子程序的方式表示两数
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026河南安阳殷都区人民医院招聘卫生专业技术人员9人备考题库【典优】附答案详解
- 中国通信服务广东公司2026届春季校园招聘备考题库含答案详解(a卷)
- 初中物理复习第七章 第一课时 固体压强课件
- 缺血性视神经病变的药物代谢与药效学研究
- 维修工岗位技能培训教材
- 教学质量监控与改进工作报告
- 高考文言文阅读理解答题技巧
- 地下连续墙施工技术交底
- 2026年垃圾清运处置计划
- 肺纤维化分子机制
- 中建五局施工方案编制指南(2023年版)351-700
- 【部编版】三年级语文下册全册导学案
- (完整版)xx中学“双积双评”积分入团实施方案
- 西藏色拉寺导游词
- 2023国网蒙东电力有限公司招聘管理类《管理科学与工程》考试题库(含答案)
- 2023年重庆大学机械学院复试题重大机械复试真题
- CBCC中国建筑色卡色
- (完整版)简单儿童对比涂色画画-可打印(干货)
- GB/T 26480-2011阀门的检验和试验
- GB/T 21076-2017证券及相关金融工具国际证券识别编码体系
- 腹腔镜辅助下阴式子宫切除的课件
评论
0/150
提交评论