一第8易语部的程廓一 第8章易语言的子程序 本章主要介绍“易语言”子程序 的调用方法、子程序参数的使用方法 以及参数属性的相关使用方法 本章学习内容 8.1新建子程序 86参数的参考属性 82调用子程序 8.7子程序的返回值 83与事件子程序的区别 88课后练习 84子程序参数 8.5参数的可空属性 将程序分割成较小的逻辑单元就可以简化程序设计任务,这些 部件被称为子程序。子程序可用于压缩重复任务或共享任务,例 如,压缩频繁的计算处理等等。 子程序可使程序划分成离散的逻辑单元,每个单元都比无子程序 的整个程序容易调试及理解 个应用程序中的子程序,往往不必修改或只需稍作改动,便可 以成为另一个程序的子程序
163 将程序分割成较小的逻辑单元就可以简化程序设计任务,这些 部件被称为子程序。 子程序可用于压缩重复任务或共享任务,例 如,压缩频繁的计算处理等等。 • 子程序可使程序划分成离散的逻辑单元,每个单元都比无子程序 的整个程序容易调试及理解; • 一个应用程序中的子程序,往往不必修改或只需稍作改动,便可 以成为另一个程序的子程序。 本章主要介绍“易语言”子程序 的调用方法、子程序参数的使用方法 以及参数属性的相关使用方法。 第 8 章 易语言的子程序 本章学习内容: 8.1 新建子程序 8.6 参数的参考属性 8.2 调用子程序 8.7 子程序的返回值 8.3 与事件子程序的区别 8.8 课后练习 8.4 子程序参数 8.5 参数的可空属性
一囫一易语言图解教程一 8.1新建子程序 下面我们就开始新建第一个自定 义子程序。方法十分简单,一步一步 跟我来吧 窗口程序集名 备注 窗口程序 ①首先在 子程序名返回值类型公开 备注 启动窗口添 按钮1被单击 加一个按 钮,默认名 新子程序 称为“按钮 子程序名 撒消 Ctrl+ 1”。双击按 子程序1 .册除 另一种更快 钮1进入代 T.剪切 Ctrltx 捷的方法是,在 码编辑界 c复制 Ctrl+C 代码编辑面板 面 P.粘贴 Ctrlty 获得焦点时,同 时按下“Ctrl 新建子程 ②将光标移到代码编辑 键”和“N键”, 序的默认名称行,右键单击在弹出菜单选 也可以新建子 为“子程序1”,择“新子程序”,左键单击就 程序,而不用弹 依此类推。 可以新建子程序。 出右键菜单了 罗E程序E编辑y查看工插入B数据库D调试B 第三种方法,到主 国它品电启新现行组件c1下菜单上选择“插入 当回M新程序集 在弹出菜单中选择“插 s.新子程 入”,在弹出菜单中选 窗口程序集名 置新窗口 择“新子程序”也可新 建子程序 164
164 8.1 新建子程序 下面我们就开始新建第一个自定 义子程序。方法十分简单,一步一步 跟我来吧! ②将光标移到代码编辑 行,右键单击在弹出菜单选 择“新子程序”,左键单击就 可以新建子程序。 ①首先在 启动窗口添 加一个按 钮,默认名 称为“按钮 1”。双击按 钮 1 进入代 码编辑 界 面。 另一种更快 捷的方法是,在 代码编辑面板 获得焦点时,同 时按下“Ctrl 键”和“N 键”, 也可以新建子 程序,而不用弹 出右键菜单了。 新建子程 序的默认名称 为“子程序 1”, 依此类推。 第三种方法,到主 菜单上。选择“插入”, 在弹出菜单中选择“插 入”,在弹出菜单中选 择“新子程序”也可新 建子程序
一第8易语部的程廓一 注意 在同 “子程序 子程序名返回值类型公开备注 个程序集中, 1”已经存在, 子程序1 子程序名不 当另一个子程 能重复。特别 序被修改成 在修改的时 “子程序1 候,“易语 时,“易语言” 言”会提示 弹出信息框提 并修改已经 被使用过的 子程序名返信息 错误¢):指定名称“子程序1”已经被使用 被“易语言”修改的子程序名 新建的子程序没有参数和变量,这需要操作者自行添加和自定义参数的 数量以及每个参数的类型、可空、参考、数组属性 特别应该注意的是,每个新建的子程序都不会被“易语言”或其它子程 序自动调用,下面将讲解如何调用子程序。 8.2调用子程序 前一节中讲了如何建立子程序, 下面演示如何调用一个简单的子程 165
165 8.2 调用子程序 注意: 在同一 个程序集中, 子 程 序 名 不 能重复。特别 在 修 改 的 时 候 , “ 易 语 言 ” 会 提 示 并 修 改 已 经 被 使 用 过 的 名称。 “ 子程序 1” 已经存在, 当另一个子程 序被修改成 “ 子程序 1” 时,“易语言” 弹出信息框提 示。 被“易语言”修改的子程序名。 新建的子程序没有参数和变量,这需要操作者自行添加和自定义参数的 数量以及每个参数的类型、可空、参考、数组属性。 特别应该注意的是,每个新建的子程序都不会被“易语言”或其它子程 序自动调用,下面将讲解如何调用子程序。 前一节中讲了如何建立子程序, 下面演示如何调用一个简单的子程 序
一囫一易语言图解教程一 窗口程序集名 备注 ①在按钮 ②在“子 窗口程序集1 1被单击事 程序1”中添 子程序名返回值类型公开 件子程序中 加代码‘信 按钮1被单击 添加程序代 息框(“你 码“子程 好!我是信 子程序10 序1() 息框。”,#信子程序名返回值类型公开 备注 或直接复制 息图标, 子程序 名称,将其 +息框了“你好!我是信息框:信息度标 粘贴过来。 匚子程序名遞回值类型公开备注 按钮1被单己 同一个 子程序10 子程序可以 被多次调用。 ③在“按 子程序名返回值类型公开 钮2”事件子 程序1 程序中添加 信息框(“你好!我是信息框。”,#息图标,〕 代码‘子程 序1() 匚子程序名返回值类型公开 注 按钮2被单击 子程序10 ④按“F5键”运行程序,分别单击“按钮1”和“按钮2”, 都能弹出“子程序1”里的信息框。 子程序可以在其它事件子程序和新建子程序中多次被调用,也可以被 其它程序集的事件子程序和新建子程序调用,就像单击“按钮1”,“ 按钮1_被单击”被调用。要注意的是,子程序只能在本程序中使用 每次调用子程序时,子程序中的所有语句都将被从第一条开始顺序执 行,当执行到子程序尾部或者遇到“返回”命令时即返回到调用此子程序 语句的下一条语句处 166
166 ②在“子 程序 1”中添 加代码‘ 信 息 框 (“ 你 好!我是信 息框。”,#信 息图标,) ’ ①在按钮 1 被单击事 件子程序中 添加程序代 码 “ 子 程 序 1() ” 或直接复制 名称,将其 粘贴过来。 ③在“按 钮 2”事件子 程序中添加 代码‘ 子程 序 1() ’。 同一个 子 程 序 可 以 被多次调用。 子程序可以在其它事件子程序和新建子程序中多次被调用,也可以被 其它程序集的事件子程序和新建子程序调用,就像单击“按钮 1”,“_ 按钮 1_被单击”被调用。要注意的是,子程序只能在本程序中使用。 每次调用子程序时,子程序中的所有语句都将被从第一条开始顺序执 行,当执行到子程序尾部或者遇到“返回”命令时即返回到调用此子程序 语句的下一条语句处。 ④按“F5 键”运行程序,分别单击“按钮 1”和“按钮 2”, 都能弹出“子程序 1”里的信息框
一第8易语部的程廓一 子程序名返回值类型公开 这里的 ①把“子 “子程序1”同 程序1”修改 按钮1被单击 时被修改为‘信 为“信息框 信息框子程序0一 息框子程序 子程序”。 子程序名返回值类型公开 信息框安程序 上节中提到了子程序名称的问题,这里我们还要提一个小建议。当要修 改一个子程序名称时,应该直接到这个子程序的位置处进行修改。这样可 以使其它调用处的名称一同被修改。 子程序必须由其它事件子程序调用。子程序的调用方法与命令的调用方 法完全一致。所谓事件子程序,就是“易语言”组件自带的触发事件。如:按 钮被按下 8.3与事件子程序的区别 Y 虽然新建子程序和事件子 程序的调用方法都一样,但它们 之间也有一些不同之处 167
167 8.3 与事件子程序的区别 ①把“子 程序 1”修改 为“信息框 子程序”。 上节中提到了子程序名称的问题,这里我们还要提一个小建议。当要修 改一个子程序名称时,应该直接到这个子程序的位置处进行修改。这样可 以使其它调用处的名称一同被修改。 这里的 “子程序 1”同 时被修改为‘信 息框子程序’。 子程序必须由其它事件子程序调用。子程序的调用方法与命令的调用方 法完全一致。所谓事件子程序,就是“易语言”组件自带的触发事件。如:按 钮被按下。 虽然新建子程序和事件子 程序的调用方法都一样,但它们 之间也有一些不同之处