易语言程序设计 第七章 子程序和模块 免费
易语言编程系统全书(第七章)

第七章组件介绍7.1 易语言组件简介在易语言程序开发中经常要用到组件,前面章节已经提过,窗口是一种特殊的组件,它可以作为其他组件的载体。
这里所说的其他组件,和窗口一样,都是创建界面的基本结构模块。
一个Windows窗口程序一般都要包含若干个不同的组件,相互组合分别实现不同的功能。
如果将开放的程序形象地比喻成一个产品的话,那么组件就好比组成这件产品的一个个“零件”。
而将这些“零件”组成一件“产品”的过程,起始就是开发者为组件编写代码和集成组件程序的过程。
易语言新版本中,各种常用组件已达到80个之多。
这些组件涉及软件开发中各方面的应用。
随着版本不断升级,组件数量还将不断地增加,限于篇幅,不能对每个组件都进行详细的介绍,只能列举几个常用组件的属性、方法和事件,侧重培养大家对组件使用的自学能力。
今后即使遇到没有用过的新组建,也能很快地了解该组件的特性并熟练掌握。
7.1.1 易语言内控部组件在新建一个易程序后,可以再程序主界面右边的窗口组件箱中看到当前系统所支持的所有组件,包括基本组件、扩展组件、外部组件和外部组件四类。
如图7-1所示。
易语言基本组件是最常用的组件,可按照功能大致分为十类。
如表7-1所示。
常用标准扩展组件分类如表7-2所示。
除基本组件和扩展组件以外,还有两个分类是:外部组件和外部事件组件。
外部组件是由注册到易语言中的OCX或类型库自动增加的,外部事件组件是注册的类型库对象所拥有的组件事件。
这两类组件的具体使用方法将在后续章节中单独介绍。
组件分类还可以根据其可否容纳其他组件划分为容器类和非容器类,或按运行时是否具有可视外形划分为界面类和功能类。
容器类组件内可以包容其他的组件,如选择夹、图片框、外形框的呢过组件;而功能类组件仅用作提供某种功能,运行时不可见,如时钟、打印机等组件。
易语言为程序开发人员所提供的组件相当的全面,只要在编程中合理地使用这些组件,灵活搭配,就能使程序拥有漂亮的界面和强大的功能,并且能提高程序开发的效率。
第7章子程序设计

程序如下: ; 7-5.asm 堆栈传参。实现两个矩阵的乘法c=a*b data segment a db 1,1,1,1 db 2,2,2,2 db 3,3,3,3 b db 1,1,1 db 2,2,2 db 3,3,3 db 4,4,4 m dw 3 ;A矩阵3行4列 n dw 4 ;B矩阵4行3列 p dw 0 c db 9 dup(?) ;C矩阵3行3列 data ends code segment assume cs:code,ds:data main proc far
;子程序2:查表,显示十六进制 let2: mov dx,offset mess2 ;显示提示2 mov ah,9 int 21h mov bx,x mov ch,4 mov cl,4 rept1: rol bx,cl ;0031→0310→3100→1003→0031 mov al,bl and ax,000fh ;保留最低4位 mov si,ax mov dl,hex[si] ;查表显示高位、低位 mov ah,2 out1: int 21h mov ah,4ch dec ch int 21h jnz rept1 code ends ret end start
7.2 调用和返回
CALL指令和RET指令是机器指令。调 用指令CALL与无条件转移指令JMP一 样,都是对指令指针寄存器IP作修改 后,转移到子程序执行。 有时也需要修改代码段寄存器CS的值, 作跨段调用。因此都有转移地址的寻 址方式问题。
7.2.1 调用指令CALL
格式: CALL 子程序名 功能:转移到指令指定的地址(子程序 名)去执行子程序。CALL指令必须指定 转移的目标地址。执行时,先将断点入 栈保存,再修改IP或修改IP、CS。
;子程序3,将bx中的数显示为十进制数 subr3 proc near mov ax,bx ;bx为传参寄存器 mov cx,0 mov bx,10 let1: ;将ax变为十进制数 mov dx,0 inc cx ;统计余数个数 idiv bx ;除以10,商在AX,余数在DX push dx ;保存余数 cmp ax,0 jnz let1 let2: ;循环显示余数 pop ax add ax,0030h mov dl,al mov ah,2 int 21h loop let2 ret subr3 endp ;将余数弹入ax ;调整为ASCII码
易语言调用子程序

易语言调用子程序易语言调用子程序一直是易语言编程中重要的一环,它有效地提高了编程效率,节省了大量时间。
本文将通过介绍易语言调用子程序的基本概念、调用方法以及解释子程序的常见结构特点,以更自然的方式来介绍易语言调用的基本原理和运用。
首先,什么是易语言调用子程序?易语言调用子程序主要通过函数调用的方式实现,是指易语言程序在运行的时候对其他的子程序进行调用,以达到完成复杂功能的目的。
易语言调用子程序,实际上是将子程序“插入”到易语言主程序中,以便在运行子程序中独立定义的变量,函数和结构体等细节时,能够让主程序优先调用子程序的定义。
易语言调用子程序的过程是通过“调用”的指令来完成的,也就是向子程序发送函数调用请求,要求子程序执行指定的任务。
易语言调用子程序可以分为两种:函数调用和消息调用。
函数调用是指易语言在运行主程序时,调用子程序中定义的函数进行任务执行,它通过使用指令“CALL”来调用。
消息调用是指易语言支持调用子程序中定义的消息,它向子程序发送消息,要求子程序响应或执行指定任务,使用指令“SEND”来调用。
在使用易语言调用子程序的时候,还需要注意解释子程序的常见结构特点。
易语言调用子程序的结构主要包括了四个部分:头部、调用部分、参数部分以及返回值部分。
头部部分是指子程序的开始定义,用来规定函数名称以及函数所产生的参数和返回值类型;调用部分指由主程序发出函数调用请求时所执行的内容;参数部分指函数调用时头部定义的参数赋值问题;返回值部分指用来返回函数执行结果与判断条件。
此外,在调用易语言子程序的时候,程序中包含的控件也很重要。
易语言中的控件可以用来显示所需要的信息,也可以存储和传递所需的子程序数据,它们既可以在主程序中直接使用,也可以在子程序中直接使用,并且可以在两个程序之间传递数据。
易语言调用子程序是易语言编程过程中 Must Have技术。
它有效地提高了编程效率,节省了大量时间,极大地提升了工作效率,为易语言程序的开发带来了极大的便利。
模块七 子程序调用

模块七 子程序调用
武汉船舶职业技术学院 周兰
一、子程序调用指令
1.子程序定义
●把程序中某些固定顺序和重复出现的 程序段单独抽出来编成一个程序供调用, 这个程序就称为子程序。利用子程序可 简化主程序的编制,缩短程序长度,提 高编程效率。 ●子程序可以被主程序调用,也可被另 一子程序调用。
2.子程序的格式(1)
三、编程示例
1.编程示例(1)
【示例7-1】零件图 如图所示,编写零 件加工程序(工件 厚度25㎜)
1.编程示例(2)
(1)刀具选择:
●选择φ40钻头进行孔的预加工,刀具长 度160㎜; ●选择φ30平底铣刀进行φ80孔加工,刀 具长度130㎜;
1.编程示例(3)
(2)编程思路: ●工件上表面中心位置确定为G54原点,每 个孔的中心位置分别确定为工件坐标系 G55~G58原点,如图所示。
(2)调用格式二 M98 P_; ●P后最多可跟8位数字,如后面的数字不超 过4位,表示调用该子程序一次;如超过4位, 后4位为被调用的子程序名,其余的为调用 次数。 ●举例:M98 P11表示调用程序O0011一 次(在FANUC系统里O11与O0011是同一 程 序 ) , M98 P53211 表 示 调 用 子 程 序 O3211五次。
子程序
1.编程示例(8)
多个工件坐 标系设定画 面
1.编程示例(9)
多个工件坐 标系设定画 面
1.编程示例(10)
刀补参数 设定画面
1.编程示例(11)
零件加工完工画面
四、编程练习
练习1
零件图如图所示,完成下面工作任务:
●选择零件加工的装夹方式;
●选择零件加工用刀具并列出刀补表; ●建立工件坐标系并画出加工走刀路线示意 图;
一步一步跟我学易语言

第一章:入门本章及以后所有叙述都假设您在安装易语言后没有使用程序->系统配置菜单项修改过系统的初始配置信息。
如果不能确定,请在启动易语言的同时一直按住Shift键,出现系统界面后再放开,此时将自动清除以前的设置信息。
我们以软件中自带的一个例程开始讲述,例程名称为:“第一个程序”,启动易语言后请在“打开例程”子夹中选中该程序,然后再按下确定按钮。
另外,此程序您也可以根据首页上的《三分钟就能学会编程序》文章自己建立。
进入后我们可以看到易系统的主界面,界面中间用作设计E程序的程序窗口,现在里面已经有了一个,该程序窗口中有两个窗口单元:一个“标签”(上面中部)及一个“按钮”(下面中部)。
请单击系统界面左边工作夹内的“程序”子夹,然后双击列表树中的“窗口程序集1”项目,您现在可以看到易程序代码的编辑界面,里面现已有一个“窗口程序集1”程序集和一个“_按钮1_被单击”子程序。
至此为止您已经看到了此易程序的全部组成部分,可以使用“窗口”菜单或者Ctrl+Tab键在程序窗口设计界面和程序代码编辑界面之间跳转查看。
易程序由程序窗口、程序集、子程序、自定义数据类型、全局容器、DLL 命令定义、常量、资源等组成。
您现在不需要了解那么多,目前只要知道以下基本知识就可以了:1、程序窗口是易程序用作接收来自用户的输入信息或者显示某项输出信息的界面;2、程序窗口由窗口单元组成。
窗口单元具有很多种类,譬如在此例程中被使用的标签及按钮,还有编辑框、选择框等等,以后还将不断增加。
在易系统主界面右边的单元栏工具箱中您可以看到当前可以使用的各种窗口单元;3、子程序为一系列语句的排列集合,用作完成某一功能,执行子程序即是执行其中的所有语句;4、程序集用作将子程序进行分类集合。
我们按下F5键运行该例程,然后单击窗口中的按钮,窗口中会显示出“祖国,您好!”文本。
下面关闭被运行的例程,我们来分析为什么此程序能够完成这样的功能:1、请跳转到程序窗口设计界面,然后单击左边工作夹内的“属性”子夹,在属性表中您可以看到“名称”一栏的内容为:“_启动窗口”,该名称就是此已被选中的程序窗口的名称。
易语言模块的制作与使用资料

模块的制作与使用在编程的时候,有些代码可以解决某一类的事情,在一个程序里用,在别的程序里如果处理同样的事情,也是可以用的。
那么,我们在新的程序里是不是还要把这些代码重新输入一次?在使用模块以前,我们每做一个程序,都需要把所有的代码重新输入一遍。
出现了模块之后,我们就可以把能够解决一类事情的代码写成一个模块,以后使用的时候直接调用就可以了。
所以,模块也就是一段特殊的程序,是一种可以公用的,解决一类事情,完成一种功能的程序。
那么,怎样写模块呢?我把模块分成两个类:带窗口的模块和不带窗口的模块。
一、不带窗口的模块这类模块只是为了处理某种事情,并不把结果显示给你看。
下面我们一步一步做一个模块来判断某一个数字是单数还是双数。
或者直接点击工具栏“新建”按钮,启动新建易语言程序的对话框:选择“Windows易语言模块”,点击“确定”,即可新建一个易语言模块。
这是易语言模块初始的状态:系统已经为我们建立了两个子程序:“_启动子程序”和“_临时子程序”。
启动子程序是用来放置模块的初始化代码的。
比如,模块中的变量初始值等。
“_临时子程序”是为了方便我们写易语言模块的时候才用,存放一些临时查看模块效果的代码。
在编译的时候,该子程序里的代码都将被清空。
那么,我们的模块在哪里?得我们自己写。
制作:1、新建子程序。
2、修改子程序名称、返回值类型,并勾选“公开”属性。
然后在子程序表格中按回车,插入一个参数。
完成后,如下图:选择“公开”,那么这个子程序就可以被别人调用,否则的话,别人是看不到这个子程序的。
“备注”是用来说明该子程序的功能或者对该参数的要求。
代码呢?只要这么一句就行了,如图:3、完成代码之后,我们来测试一下。
怎么测试呢?我们需要插入一个窗口,通过窗口中控件的动作来看模块的代码是否正确。
测试:1、插入一个新窗口:2、在窗口中放入一个标签、一个编辑框和一个按钮:3、把“编辑框1”的输入方式改成“整数文本输入”,然后双击“按钮”控件,进入代码编辑区,在“_按钮1_被单击”子程序中输入如下代码:3、通过菜单“窗口->程序集:程序集1”4、回到模块代码编辑区,在“_临时子程序”中输入代码:5、然后我们就可以运行一下看看效果了。
《易语言教程》目录

第一章易语言概述1.1 了解易语言1.1.1 易语言简介1.1.2 易语言的特点1.2 易语言的安装1.3 易语言的基本操作1.3.1 易语言的界面1.3.2 如何添加组件1.3.3 如何使用易语言帮助系统1.3.4 如何配置易语言1.4易语言代码输入技巧1.4.1 内置输入法1.4.2 系统输入法1.4.3 参数分步输入1.4.4 输入草稿与备注1.4.5 四种输入语句分类1.4.6 易语言中的关键字1.5 第一个易程序1.6 易程序进阶1.7 课后练习第二章数据类型、运算符与表达式2.1易语言的数据类型2.2 基本数据类型2.2.1 了解基本数据类型2.2.2给变量和返回值定义数据类型2.2.3给数据正确赋值2.2.3数据的比较2.2.4数据类型的存储字节与溢出2.3 特殊数据类型2.3.1了解特殊数据类型2.3.2 动态添加组件2.4 自定义数据类型2.5 易语言运算符2.6运算符与表达式2.6.1算术运算符和算术表达式2.6.2赋值运算符和赋值表达式2.7课后练习第三章变量、常量与资源3.1 变量3.1.1 了解变量3.1.2变量类型3.1.3变量的赋值3.1.4变量的初始值3.2 静态变量3.3 数组变量3.3.1数组变量的定义及赋值3.3.2动态管理数组变量3.4 易语言常量3.4.1了解常量3.4.2 ASCII码3.4.2常量的使用3.4.3自定义常量及使用方法3.5 易语言资源表3.5.1向资源表中添加资源3.5.2使用资源表中的资源3.5.3将资源表中的资源导出3.5.4向资源表中导入可执行文件3.6 课后练习第四章常用命令4.1了解易语言命令4.1.1 命令的格式4.1.2 即时帮助和帮助文档4.1.3 命令的返回值4.1.4 命令的嵌套调用4.1.5 数组类型的参数与返回值4.2 流程控制命令4.2.1 了解流程控制类命令4.2.2 分支类流程控制命令4.2.2 循环类流程控制命令4.2.3 跳转类流程控制命令4.3 其它常用命令4.3.1 文本操作类命令4.3.2 时间操作类命令4.3.3 位运算命令4.3.4 其它常用命令4.4 课后练习第五章子程序的编写与调用5.1 子程序的初步应用5.1.1 子程序的分类5.1.2 用户自定义子程序的创建5.1.3 子程序的调用5.1.4 返回值和参数的定义5.1.5 编写第一个子程序5.1.5子程序指针5.2 子程序的参数属性5.2.1 参数的“参考”属性5.2.2 参数的“可空”属性5.2.3 参数的“数组”属性5.3 编写寻找文件子程序5.4 课后练习第六章窗口组件、菜单和对话框6.1 窗口组件6.1.1 窗口的基本属性6.1.2 窗口的基本事件6.1.3 增加新窗口和弹出窗口6.1.4 窗口的重要方法6.2 编辑菜单6.2.1 新建菜单6.2.2 菜单的热键及属性6.2.3 弹出菜单6.3 对话框6.3.1 “信息框()”命令6.3.2 “信息框()”命令的返回值6.3.3 “输入框()”命令6.3.4 “输入框()”命令的应用6.4 课后练习第七章组件介绍7.1 易语言组件简介7.1.1 易语言内部组件7.2 组件的属性7.2.1 组件的共有属性7.2.1 组件的专有属性7.2.3 动态修改组件属性7.3 组件的专有方法7.4 事件的触发7.4.1 事件子程序7.4.2 组件事件的应用第八章多媒体8.1 声音(音频)8.1.1 媒体播放命令8.2 图片处理(图形图像)8.2.1 图片的合并8.2.2 图片框组件8.3 动画8.3.1 图片框的GIF动画8.3.2 窗口动画8.4 图片转场8.4 影视8.4.1 影像框组件8.4.2 高级影像框组件8.4.3 外部影像组件第九章网络与通讯9.1基础知识9.2网络应用型程序9.2.1 网络组件9.2.3 互联网支持库9.3数据通讯程序9.3.1网络通信命令9.3.2 数据通讯组件9.4硬件通信型程序9.4.1 硬件通信组件9.4.2 端口访问支持库9.5 小结第十章系统控制10.1 运行命令10.2 系统信息类命令10.3配置文件和注册表10.3.1 配置文件10.3.2 调用系统配置工具10.3.3 注册表第十一章易数据库11.1易数据库文件的组成11.2 使用工具创建和维护数据库11.3 用命令创建数据库11.3.1 编程前的准备11.3.2 创建数据库11.3.3 打开数据库11.3.4 置当前数据库11.3.4 关闭数据库11.4 用命令维护数据库11.4.1 记录操作11.4.2 当前记录指针11.4.3 读写字段11.4.4 添加记录11.4.5 删除记录11.4.6 查找记录11.5 数据库实例11.6数据库相关组件11.6.1 通用提供者、数据库提供者11.6.2 数据源11.6.3 表格11.6.4 数据库相关组件的应用11.6.5 制作表格模板第十二章外部数据库调用12.1外部数据库相关知识12.1.1 易外部数据库组件简介12.1.2 ODBC与ADO简介12.1.3 SQL语言简介12.1.4 常用的SQL语句12.2 ODBC连接数据库组件12.2.1 “外部数据库”组件属性12.2.2 “外部数据库”组件重要方法12.2.3 “外部数据库提供者”组件12.3 ADO操作数据库组件12.3.1 “数据库连接”组件12.3.2 “记录集”组件12.4 外部数据库应用12.4.1 外部数据库操作例程12.4.2 用表格组件显示数据库12.5 Access数据库12.5.1 Access数据库简介12.5.2 Access数据库综合例程12.6 SQL Server数据库12.6.1 SQL Server简介12.6.2 SQL Server 2000 安装12.6.3 创建SQL Server 2000 数据库及表12.6.4 使用易语言操作SQL SERVER数据库12.7 MYSQL数据库12.7.1 MySQL常用命令12.7.2 易语言操作MySQL数据库第十三章 API的调用13.1 API简介13.2 API的定义13.3 API的应用13.3.1 内部API13.3.2 外部API13.4 本章练习第十四章易模块14.1 易模块的作用14.2 易模块的调用方法14.3 易模块的开发与编译14.3.1 易模块的开发14.3.2 易模块的编译14.3.3 易模块的改写实例14.4 本章练习第十五章 DLL的编写与调用15.1 DLL与API函数的关系15.2 DLL的开发与编译15.3 调用DLL的方法15.4 DLL应用实例15.5 课后练习第十六章 OCX组件与类型库16.1 OCX组件16.1.1 OCX的安装16.1.2 OCX的汉化16.1.3 OCX的使用方法16.2 类型库的封装和使用16.2.1 类型库的封装16.2.2 类型库的使用第十七章 COM对象17.1 基本概念17.1.1 COM17.1.2 COM对象17.1.3 COM接口17.2 COM对象的使用17.2.1新的数据类型“对象”17.2.2 使用COM对象的一般步骤17.2.3 一个完整的例子17.3 本章小结第十八章易语言面向对象编程18.1 基础知识18.1.1 类18.1.2 类和对象的关系18.1.3 类中私有成员的特性18.1.4 派生类和继承性18.1.5 子类中直接调用父类方法18.1.6 类的多态性与虚拟方法18.2 类的实际应用例程第十九章 Linux 程序编写19.1 Linux简介19.2 创建Linux程序19.3 Linux程序开发与运行19.3.1 了解例程的相关情况19.3.2 例程服务端代码讲解19.3.3 例程客户端代码讲解19.3.4 编译与运行19.4 本章练习第二十章数据结构支持库20.1 数据结构基础20.1.1 节点20.1.2 链表20.1.3 栈20.1.4 队列20.1.5 树20.1.6 二叉树20.2 栈的应用例程第二十一章数据操作支持库一21.1 加密技术21.2 数据校验第二十二章数值计算支持库22.1 数值计算支持库简介22.2 科学运算支持库的各数据类型22.2.1 复数运算22.2.2 矩阵运算22.2.3傅立叶变换22.2.4 微积分22.2.5概要统计22.2.6联立方程22.2.7曲线拟和22.2.8大数22.2.9其他计算22.2.10算式解析22.3 大数计算器第二十三章文本语音转换支持库23.1 文本语音转换简介23.2 机读文本23.3 语音识别23.4 练习第二十四章电话语音支持库24.1 支持库简介24.2 支持库重要方法24.3 支持库相关例程第二十五章数码设备支持库25.1 支持库简介25.2 支持库属性与方法25.2.1 数码设备的重要属性25.2.2 数码设备的方法25.3 支持库相关例程第二十六章脚本语言支持组件26.1组件简介26.2 属性和方法26.3组件应用实例26.3.1 四则表达式计算器26.3.1 外部程序调用第二十七章 Word2000支持库27.1 Word2000支持库简介27.2 Word2000支持库组件27.2.1 “Word程序”组件27.2.2 “Word文档集”组件27.2.3 “Word图形”组件27.3 Word2000支持库例程第二十八章 Excel2000支持库28.1 Excel2000支持库简介28.2 Excel2000支持库的相关方法28.3 Excel2000支持库例程28.4 课后总结第二十九章PowerPoint2000支持库29.1 PowerPoint 200029.1.1 PowerPoint2000的视图29.1.2 PowerPoint2000创建文稿29.1.3 PowerPoint2000的保存29.1.4 PowerPoint2000设置放映方式29.1.5 PowerPoint2000的幻灯片切换效果29.2 创建和设计文稿29.3 幻灯播放和切换29.3.1人工切换29.3.2 自动播放附录一程序调试调试工具调试输出命令调试应用总结附录二易语言编译与发布非独立编译独立编译程序发布更改图标样式。
易语言模块的制作与使用

模块的制作与使用在编程的时候,有些代码可以解决某一类的事情,在一个程序里用,在别的程序里如果处理同样的事情,也是可以用的。
那么,我们在新的程序里是不是还要把这些代码重新输入一次?在使用模块以前,我们每做一个程序,都需要把所有的代码重新输入一遍。
出现了模块之后,我们就可以把能够解决一类事情的代码写成一个模块,以后使用的时候直接调用就可以了。
所以,模块也就是一段特殊的程序,是一种可以公用的,解决一类事情,完成一种功能的程序。
那么,怎样写模块呢?我把模块分成两个类:带窗口的模块和不带窗口的模块。
一、不带窗口的模块这类模块只是为了处理某种事情,并不把结果显示给你看。
下面我们一步一步做一个模块来判断某一个数字是单数还是双数。
或者直接点击工具栏“新建”按钮,启动新建易语言程序的对话框:选择“Windows易语言模块”,点击“确定”,即可新建一个易语言模块。
这是易语言模块初始的状态:系统已经为我们建立了两个子程序:“_启动子程序”和“_临时子程序”。
启动子程序是用来放置模块的初始化代码的。
比如,模块中的变量初始值等。
“_临时子程序”是为了方便我们写易语言模块的时候才用,存放一些临时查看模块效果的代码。
在编译的时候,该子程序里的代码都将被清空。
那么,我们的模块在哪里?得我们自己写。
制作:1、新建子程序。
2、修改子程序名称、返回值类型,并勾选“公开”属性。
然后在子程序表格中按回车,插入一个参数。
完成后,如下图:选择“公开”,那么这个子程序就可以被别人调用,否则的话,别人是看不到这个子程序的。
“备注”是用来说明该子程序的功能或者对该参数的要求。
代码呢?只要这么一句就行了,如图:3、完成代码之后,我们来测试一下。
怎么测试呢?我们需要插入一个窗口,通过窗口中控件的动作来看模块的代码是否正确。
测试:1、插入一个新窗口:2、在窗口中放入一个标签、一个编辑框和一个按钮:3、把“编辑框1”的输入方式改成“整数文本输入”,然后双击“按钮”控件,进入代码编辑区,在“_按钮1_被单击”子程序中输入如下代码:3、通过菜单“窗口->程序集:程序集1”4、回到模块代码编辑区,在“_临时子程序”中输入代码:5、然后我们就可以运行一下看看效果了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
<易语言程序设计>
作者:蔷薇的羽翼
第七章子程序和模块
结构化程序的另外一个特征就是将程序自上而下逐渐分解,逐步求精,每次分解可以形成一些小的子程序。
每个子程序能实现小的功能目标,他们组合起来能实现一些大的功能目标。
初学者可以在学习过程中体会子程序命令带来的好处,不断累积经验后才能熟能生巧
7.1什么是子程序
我们在写程序的过程中时常碰到这样的情况,一个代码段完成的是一项对立的功能,而该功能又会在程序的其他地方重复使用,比如程序中要取得一个文件的不含路径的文件名,因此写了一段代码将该文件的名称和路径分离,可是后来在多个地方需要对多个文件进行这样的处理,将这段代码重复书写多次显然很笨拙,不仅占用空间,而且不利于修改。
其实一个事件就是一个子程序,被触发后,这个子程序之内的代码将运行一遍(可以多次触发,多次运行)。
子程序就是一系列的程序语句封装的一个独立的具有特定功能的单元,都有自己的名称,只要需要就能重程序的其他地方进行调用。
子程序可以具有返回值,这样在代码运行完毕后给调用者提供一个反馈,调用者就能得到该值进行其他的运算。
也可以只去做而不提供返回值
1.如何新建一个子程序。
要想新建一个子程序可以点插入菜单-子程序来完成
也可以在代码编辑区点右键在弹出的菜单中选择新子程序
7.2子程序的编写及使用
1.子程序的编写
新建一个子程序,子程序的默认名为子程序1我们给他重新命名主要用来方便记忆及调用.
【例7-1】利用子程序查询指定数组(随机元素值)中的元素值是否有等于指定的数值。
详见7-1.e
关于数组随机赋值前面第六章已经讲解了不再重复。
可这行代码我们新建的子程序名叫查询带有一个整数型参数所以在调用时
命令就是查询(整数型)。
2.具有返回值的子程序
相对于无返回值的子程序来说,具有返回值的子程序相对复杂些,关键就在退出子程序之前必须完成返回值的确定。
【例7-2】编写子程序实现温度从华氏度转换到摄氏度、从摄氏度转换到华氏度。
详见7-2.e
由于返回值是整数型,标签标题是文本型,所以调用后加入到文本命令转换为文本型与标题匹配。
返回命令用于返回一个值到子程序调用处但是被返回值必须和子程序调用处返回值类型匹配。
有时候在使用易语言自带的命令时,发现有些参数是必学填写,而有的参数可以选,可选的参数在调用时可以不填写。
定义的参数在将前面的可空选中后就可以成为可选参数
而空参数可以使用是否为空(参数)来进行是否填写的判断。
【例7-3】依旧借助刚刚的例程,将转换子程序中的类型参数设置为可选参数,即不选默认为真。
详见7-3.e
按钮1事件中的转换()子程序第一个参数已经空着了
而转换子程序中也添加了对类型是否填写的判断。
组件事件也可以看做一个子程序来调用
比如有按钮1按钮2,2个组件其中按钮1被单击事件已经写好了代码。
而按钮2要想调用按钮1被单击事件中的代码至于要在按钮2事件中加入
_按钮1_被单击()
即可。
7.2什么是模块
模块就是一个特殊的易语言程序,可以实现程序的快速开发,他像EXE文件一样是已经编译好了的,但他留有接口可以让使用者方便调用其中封装好的命令。
但是你却看不到他命令到底咋实现的。
常见的模块除了易语言附带的几个模块以最出名的最多恐怕就是外挂作坊与外挂海提供的系列模块了.
我不推荐初学易语言的朋友过多的依赖模块.毕竟模块中的命令,还是自己知道咋样
做为好。
7.3模块的调用
新版的易语言中已经删除掉了模块管理窗口,这让很多看旧教程的朋友摸不到头脑,其实新版的易语言对模块的调用更加的快捷方便。
具体调用方法:点程序窗口双击模块引用表就会打开一个通用对话框选择自己想要加载的模块点确定即可。
加载模块后双击模块名就能看到模块的接口命令及其说明等等。
这里只是介绍下模块的调用方法至于模块的编写在后面会有详细介绍。
本章小结
子程序是程序的一部分有独立的名称,只要需要就能从程序其他地方进行调用子程序可以带有参数返回值等也可以没有。
模块可以简单的实现对一些复杂命令的处理。