吾爱分享资源网

 找回密码
 立即注册
查看: 188|回复: 9

[易语言] 十章教程学会易语言第三章易语言的命令相关知识

  [复制链接]

1198

主题

1305

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
11509
发表于 2017-9-23 19:58:23 | 显示全部楼层 |阅读模式
3“易语言”的命令
本章主要介绍“易语言”的命令概念,并举出一个大小数判断的例子,介绍判断语句,以及介绍选择语句和循环语句。
本章学习内容
3.1  初识命令                  3.5  跳转类流程控制命令
3.2  大小数问题,判断命令     3.6  易语言常用语句
3.3  选择命令                  3.7  课后练习

3.4  循环类流程控制命令     

命令是比较重要的概念。程序实际上是由很多的命令组成的。
“易语言”依靠众多的命令支持着程序的运行。若干命令即组成程序。
“易语言”提供了五百种以上的命令供用户随时调用。通过本章的学习,可以熟练使用命令以及查看命令的即时帮助文件。学习查看命令的即时帮助是本书的教学目的之一,因为“易语言”还在不断的增加命令,对于新增加的命令,在你拿到最新版本时,就可以通过这样的方法去学习命令的使用方法。
3.1  初识命令
QQ截图20170923193640.png
QQ截图20170923193706.png
命令是由系统提供的能够完成某一特定功能的指令。它在“易语言”中的书写格式为:
命令名称 (参数,...... )
一组命令就形成了程序。
命令名称是程序中调用时所使用的名称。
命令所能接收参数的数目和各参数的数据类型由命令本身所决定。所有参数必须用括号一起括住,多个参数之间用逗号隔开。命令执行完毕后还可能返回数据,是否返回数据及所返回数据的数据类型同样由命令本身所决定。如“到文本()”命令就将返回文本型数据。

下面通过具体编程来理解上述概念。这个程序列举了几个简单命令的用法。
QQ截图20170923193831.png
QQ截图20170923193858.png
初学者可能对第二、三行语句的首部不大理解,稍后会讲到,现在只需要知道此语句就是将“取现行时间()”、“数值到金额()”这两个命令的返回数据显示出来就可以了。

在上面的程序中使用了3个不同的命令:“鸣叫()”、“到文本()”、“取现行时间()”、“数值到金额()”。
QQ截图20170923193943.png
QQ截图20170923194000.png
QQ截图20170923194017.png
QQ截图20170923194027.png
QQ截图20170923194036.png
从“数值到金额(变量1,真)”语句可以看出,命令的参数数据可以通过变量来提供。而“数值到金额(四舍五入(变量1,1),假)”说明,命令的参数数据还可以通过另外一个命令的返回值来提供。
QQ截图20170923194138.png
QQ截图20170923194150.png
3.2  大小数问题与判断命令
在这里,我们将对两个数字进行判断,以找出其中的最大数。

接下来会详细分析一下易语言的判断命令。通过全可视化设计界面,我们可以非常清楚的了解程序的走向。

“易语言”中的流程控制类命令目前有下面几种,请先在系统中查看有关各命令的详细解释(指在支持库面板中找到命令后按“F1”即时帮助键查看)。
l  分支类: 如果、如果真、判断
l  循环类: 判断循环首、循环判断首、计次循环首、变量循环首

l  跳转类: 到循环尾、跳出循环、返回、结束
QQ截图20170923194258.png
QQ截图20170923194307.png
QQ截图20170923194316.png
QQ截图20170923194327.png
QQ截图20170923194338.png
QQ截图20170923194346.png
3.3循环类命令
前面讲的是判断型命令,在这里要讨论的是循环类命令。
QQ截图20170923194529.png
QQ截图20170923194544.png
QQ截图20170923194554.png
QQ截图20170923194604.png
QQ截图20170923194613.png
QQ截图20170923194622.png
通过以上四种循环命令,我们都得到了同样的结果,但在实际  应用中,只用其中一种即可。
3.5跳转类流程控制命令
流程跳转在前两节中已有介绍,当条件满足后,就会循环或不循环,有时会在中途回到第一个循环命令,有时也会提前结束。本节即是讨论这些特别的跳转命令:到循环尾()、跳出循环()、返回()、结束()。

“返回()”命令因与子程序相关,留到以后讲解。“结束()”命令结束当前易程序的执行。

下面结合例程来具体讲述 “到循环尾()”、“跳出循环()”命令。
QQ截图20170923194822.png
QQ截图20170923194832.png
例子中有一个计次循环,里面有“到循环尾()”和“跳出循环()”命令。“到循环尾()”命令用作跳到当前循环的尾部,即循环尾类命令。“跳出循环()”命令用作跳出当前循环。
“返回()”是指返回一个值,用于程序的反馈。这个命令多用于子程序。在以后的章节中再细论。
而“结束()”语句出现时,即提前结束整个程序的运行。

在上述例子中,即可以将第五行的“跳出循环()”,改为“结束()”。大家可以观察一下改过之后的区别。
3.6 易语言常用语句
前面的命令介绍了很多,对于输入程序代码来说,有些语句可以分为四类,大家必须对语句的分类有所了解。

下面列举易语言常见的各类语句供大家学习或编程时参考。

1.非运行语句。
非运行语句包括以下几种。
(1)注释型语句
易语言的注释型语句的格式是:
‘ 注释语句内容
注释语句不能被程序执行,只是用来解释上一行或前面代码的意思。编译时易语言不会把注释代码也编译到可执行文件中。

2.值型语句。(也可称属性型语句)
特征:有一个“=”号将左右两边连起来
这是大家学习易语言时首先会接触的一类语句。例如:
标签1.标题 = “中文编程技术,易语言!”
这句代码的意思是:标签1的标题是:“中文编程技术,易语言!”——即将标签1的标题属性值定为“中文编程技术,易语言!”(所谓赋值)。我们所见的给变量赋值就是用此类语句。赋值语句常见有以下两类:
(1)将某一对象的某种属性值赋给另一对象。例如:
标签1.标题 = 编辑框5.内容
意思即是“标签1”的标题跟编辑框5中的内容一样。比如我们在编辑框5中输入“易语言使英语盲也学会了编程”,那么在相关事件(如单击按钮)的驱动下,标签1的标题也相应显示为“易语言使英语盲也学会了编程”。
(2)将某一类型的属性值赋予某个对象。例如:
标签1.标题 = “中文编程技术,易语言!”
将“中文编程技术,易语言!”赋给标签1的标题。
所赋予的属性值可以是各种类型的,例如:
窗口1.可视 = 真
这个“真”是一个逻辑型数值。如果是文本型数值要用双引号,比如刚才的例子:“汉语言编程技术,易语言!”即是。
又如,我们会发现这类句子:
标签2.标题 = 到文本 (取小时 (取现行时间 ())) + “:”+ 到文本 (取分钟 (取现行时间 ())) + “:” + 到文本 (取秒 (取现行时间 ()))


因为标签类对象只接受文本型数据,所以要把时间型数据转化为文本型,否则测试时会提示:“所接受的数据类型与传递给它的数据类型不一致”。
有时我们会发现此类句子:
变量1 = 变量1+10
这个语句的意思是:“将变量1加10之后,再将新值传回给变量1”。 从这里可以看出,这里的“=”号跟数学中的“=”号在含义上是不同的,在数学中不可能出现b=b+2之类的表达式,而在易语言中这种表达式却是允许的,而且是经常运用的。
另外,我们又会看到这类句子:
编辑框1.高度 = 取用户区高度 ()
上述程序可以理解为取得“取用户区高度 ()”的返回值(运算结果),然后将此值赋给编辑框1的高度属性。
“=”号的右边表示操控程序的命令,也即是说有时可以将系统命令、执行条件、项目、常量、子程序、函数、资源乃至其它对象的方法等,都可以当作是属性值赋给对象。

3.方法型语句。
方法是一个具体对象能够执行的动作。有的方法会有参数,有的方法则不用参数,“参数”大概相当于调用这个方法的各种相关数据,包括相关对象属性值、系统命令、执行条件、项目、常量、子程序、函数乃至其他对象的方法等,都是可以调用的参数。不同的方法有不同的参数,一种方法可以有多种类型的参数。执行、调用一个对象的方法的一般格式如下:
对象名.方法名(参数1,参数2,...)
例如需要在一个名为“购物篮”的列表框里添加一个叫“苹果”的列表项目,其语句如下:
购物篮.加入项目(苹果)
上面这句话的意思可以理解为:“将购物篮的加入项目(方法)定为苹果”。在这个例句中,“加入项目”是“购物篮”的方法,“苹果”是其参数。其中调用列表框的“加入项目”方法的句式是:
列表框.加入项目 (欲加入项目的文本,[与欲加入项目相关的数值])
同时我们又会发现另一类句式,比如:
销毁()
这个句式跟命令型句式很象,但其实它是下面这个句式的省略表达:
组件.销毁()
也即是说调用当前组件的方法句式可省略前面的对象名前缀,它仍然是一种方法型语句。
再举另一例子:
组件.弹出菜单(欲弹出的菜单,[水平显示位置],[垂直显示位置])
可以省略表达成:

弹出菜单 (欲弹出的菜单,[水平显示位置],[垂直显示位置])
QQ截图20170923195025.png

下面列举几个调用对象方法的例子,以便让大家举一反三:
(1)在程序中使用常量时其名称前必须加上“#”符号,所以如果调用的参数中有常量,就在常量前面加上“#”符号,例如:
列表框1.调整层次 (#底层)
(2)调用系统命令作为参数。例如:
画板1.滚动写行 (数值到金额 (100, 假))
这句的意思是,调用“画板1”的“滚动写行”方法。而其欲写出的数据(参数)是“数值到金额 (100, 假)”(这句的语法请看帮助),这是一种数值转换命令语句。
(3)调用相关对象的属性值作为方法的参数。例句:
列表框.加入项目 (编辑框1.内容,)

其它用法就不一一列举了。
4.命令型语句。
命令型语句跟方法型语句差不多,看看下面两者的对比就知道它们的差别了。方法型语句为:
对象名称.方法名称(参数,......)
而命令型语句的基本格式是:
命令名称 (参数,......)
“命令”的意思也跟“方法”差不多,都是一种程序运行动作指令,只不过“方法”是某个具体对象所具有的能供调用的指令,而“命令”则是整个易语言系统固有的、可以供任何程序任何对象调用的指令,所以命令名称前面没有前缀的对象名。
有时候命令的参数不是必需的(即“可选的”),比如:
取随机数 ([欲取随机数的最小值],[欲取随机数的最大值])
“[]”表示该参数不是必需的。如果是这种情况,该参数可为空。
比如:

取随机数 ()
QQ截图20170923195116.png
下面再列举一些常见的命令以便举一反三:
(1)载入窗口命令。我们想通过一个窗口启动其它窗口,可用此命令,其句式是:
载入 (欲载入的窗口,[父窗口],是否采用对话框方式)
它的意思请查看有关说明。
(2)运行命令。使本程序或其他程序运行,其句式为:
运行 (欲运行的命令行,是否等待程序运行完毕,[被运行程序窗口显示方式])。
示例:
运行(“C:\windows\notepad.exe”, ,假)
(3)信息框命令 。有时我们想使系统反馈指令,比如弹出相关提示,但又找不到有“信息框”这个组件(组件),原来易语言是通过命令调用信息框的(类似的还有输入框命令),其格式是:
信息框 (提示信息,按钮,[窗口标题])
(4)关闭命令。这是一种数据库操作命令,当指定数据库操作完毕后,关闭已经被打开的指定数据库,以便清空数据变量,节约系统资源,其句式是:

关闭 ([数据库别名或名称])
3.8 课后练习
(1)用“如果()”、“如果真()”、“判断()”分别实现同一个结果。看看哪一种更加方便、容易。思考一下是否因为某些功能实现结果相同,所以其它命令可以不要,只留一个“判断()”命令即可?
(2)用循环命令在编辑框内显示从11到20。
QQ截图20170923195456.png
实际上用其它流程控制命令均可实现。
QQ截图20170923195530.png
(3)试着将前述程序中的“+ #换行符”删除,运行后观察一下效果。

“#换行符”是引用了一个系统常量,将在有关常量的章节中讲述。
QQ截图20170923195341.png
(4)编写一个程序,计算从1到某数的累加结果。
QQ截图20170923195657.png

本章到此结束 记得做课后习题哦 加深印象
下章预告:易语言的常数,常量与资源







上一篇:十章教程学会易语言第二章易语言编程的基础概念
下一篇:十章教程学会易语言第四章易语言常量,常数、资源的说明

0

主题

190

帖子

386

积分

中级会员

Rank: 3Rank: 3

积分
386
发表于 2018-4-18 03:56:52 | 显示全部楼层
支持楼主

0

主题

189

帖子

398

积分

中级会员

Rank: 3Rank: 3

积分
398
发表于 2018-5-5 14:32:15 | 显示全部楼层
非常不错,感谢分享!

0

主题

188

帖子

382

积分

中级会员

Rank: 3Rank: 3

积分
382
发表于 2018-5-14 23:59:17 | 显示全部楼层
还是看不懂,复杂

0

主题

174

帖子

368

积分

中级会员

Rank: 3Rank: 3

积分
368
发表于 2018-5-21 17:25:28 | 显示全部楼层
看下~什么好东西

0

主题

169

帖子

345

积分

中级会员

Rank: 3Rank: 3

积分
345
发表于 2018-6-12 10:11:20 | 显示全部楼层
很不错的哦,支持,加油

0

主题

176

帖子

360

积分

中级会员

Rank: 3Rank: 3

积分
360
发表于 2018-6-19 18:48:43 | 显示全部楼层
太感谢了。试试看~

0

主题

192

帖子

414

积分

中级会员

Rank: 3Rank: 3

积分
414
发表于 2018-6-23 00:25:23 | 显示全部楼层
谢谢。。。非常开心

0

主题

198

帖子

412

积分

中级会员

Rank: 3Rank: 3

积分
412
发表于 2018-6-23 22:52:27 | 显示全部楼层
好好 学习了 确实不错

0

主题

195

帖子

408

积分

中级会员

Rank: 3Rank: 3

积分
408
发表于 2018-7-4 06:34:28 | 显示全部楼层
吾爱分享资源网不错哦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|吾爱分享资源网 ( 苏ICP备17042175号 | 苏公网安备 32108102010177号 )

GMT+8, 2018-12-14 21:06 , Processed in 0.253894 second(s), 38 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表