易语言-子程序和模块

 

子程序

子程序可以用来完成一件事情,如加法、打开文件、打开数据集、播放音乐、关闭电脑等。

快捷键 CLTR + N 为创建一个新的子程序 或 鼠标右键新子程序 或 插入—子程序。

使用子程序主要是为了代码的可读性和减少重复的代码。

写子程序时要注意的三个点:

  1. 作用:表示这个子程序是用来做什么的,可以填在备注那里。
  2. 参数:子程序做这件事需要什么。
  3. 返回值:子程序做完这件事有什么结果。

命令和子程序的区别

命令和子程序实际上是一样的,只是在支持库中叫做命令,在易语言中叫做子程序 ,只是叫法的不同,没有实质性的区别。

子程序、函数、命令、方法都等于一个功能,就是叫法不同而已。

子程序的参数

子程序可以没有参数,也可以有很多参数,具体取决于子程序完成一件事所需要哪些东西。

如果子程序需要参数就要传入参数,参数也可以是一个数组,勾选数组属性即为=当前子程序的该参数可以接收数组。

示例:

传入参数就是传入这个功能所需要的数据,如登陆账号需要账号密码、充值Q币需要QQ号。

子程序的返回值

子程序处理完一件事情后,如果需要知道执行的结果,就返回一个值,来告诉它完成的结果。

调用返回之后就会直接结束这个子程序的执行。可以根据返回值的作用来规定类型。

示例:

如登陆账号返回登陆成功或失败的信息。

参考

参考就相当于又多了一个返回值,因为返回值只有一个。

数据如果在子程序里面修改,会直接返回到子程序外面,表示修改这个参数的值就相当于修改了传入变量的值。

注:该参数传递时需是变量,固定的数据无法进行修改。

注:如果所传递过来的参数数据为数组、用户定义数据类型、库定义数据类型、文本型、字节集型数据,则无论此属性是否为真,都将传递指针。

可空-参数拥有默认值

有时候可以给参数提供一个默认值,这样用户就不需要输入了。

勾选可空属性就可以不为此位置的参数传递数据了。

是否为空

可以通过这个命令判断用户是否为指定参数传递了数据,该命令和可空属性是配套使用的。

返回一个逻辑值,如未提供,返回真,否则返回假。

注:如果不勾选可空属性,就不可以用是否为空命令去判断它。

注意事项

系统自动添加的子程序不能修改它的返回值类型、公开以及参数等等,如果改变了这个子程序系统就不认识它了。

如修改了按钮,单击的时候就不会执行了 ,也就是系统认为这个按钮没有这个事件。

子程序执行完后会自动释放内存的。

模块

模块就是易语言子程序的一个封装,模块编译后是一个.ex文件,不能独立的执行,只能去引用。

就是把许多有用的命令封装起来,方便重复使用的。

如何创建模块

程序—新建易语言模块。

备注和公开

备注就是写一些模块的定义说明之类的。

只有在模块中选择公开的命令才能被外部调用,如果没公开的编译时这个命令在外面是看不见的,只能在模块内部使用。

公开只是给模块或动态链接库用的,公开后外部可以调用 ,在同一个程序中的子程序无论在哪个程序集中都可以调用的,无需勾选公开。

_启动子程序

_启动子程序是程序运行时第一个被调用的子程序,是系统自动生成的,可以在里面写初始化代码,如读取配置、设置系统环境等。

_启动子程序不光在模块中,在其它类型中都有(如windows窗口程序、控制台应用程序、动态链接库)。

小问题:窗口程序为什么没有__启动子程序

这是因为易语言的一个系统配置,可以选择从_启动窗口_启动子程序启动,从_启动窗口启动相当于省略了一步,如果选择_启动子程序就需要像模块中一样填写需要载入的窗口,这是一个启动的方式。

选择地址:工具—系统配置—通常—windows窗口程序启动方式。

_临时子程序

用来调试模块的,非常的方便,极大的简化了编程,模块编译时里面的代码都会被清空。