多语言展示
当前在线:674今日阅读:113今日分享:31

易语音编程常见的问题/常用语句

在易语言简单编程常用到的那些事
工具/原料
1

电脑

2

易语言

常用语句
1

这是我们学易语言首先会接触的一类语句。比如:标签1.标题 = “祖国,您好!” ,这句代码的意思是:标签1的标题是:“祖国,你好!”——即将标签1的标题属性值定为“祖国,你好!”(所谓赋值也)。我们所见的给变量赋值就是用此类语句。赋值语句常见有以下两类: ...⑴、将某一对象的某种属性值赋给另一对象。     比如:标签1.标题=编辑框5.内容。意思即是“标签1的标题跟编辑框5中的内容一样”。比如我们在编辑框5中输入“易语言使英语盲也学会了编程”,那么在相关事件(比如单击按钮)的驱动下,标签1的标题也相应显示为“易语言使英语盲也学会了编程”。 ...⑵、将某一类型的属性值赋予某个对象。     比如:标签1.标题=“祖国,你好!”,将“祖国,你好!”赋给标签1的标题。 所赋予的属性值可以是各种类型的,比如:窗口1.可视=真,这个“真”是一个逻辑型数值。如果是文本型数值要用双引号,比如刚才的例子:标签1.标题=“祖国,你好!”即是。     又如,我们会发现这类句子:标签2.标题 = 到文本 (取小时 (取现行时间 ())) + “:” + 到文本 (取分钟 (取现行时间 ())) + “:” + 到文本 (取秒 (取现行时间 ()))。因为标签类对象只接受文本型数据,所以要把时间型数据转化为文本型,否则测试时会提示:“所接受的数据类型与传递给它的数据类型不一致”。     有时我们会发现此类句子:容器1=容器1+10,这个语句的意思是:“将容器1加10之后,再将新值传回给容器1”。 从这里可以看出,这里的“=”号跟数学中的“=”号在含义上是不同的,在数学中不可能忌驼出现b=b+2之类的表达式,而在易语言中这种表达式却是允许的,而且是经常运用的。     另外,我们又会看到这类句子:编辑框1.高度=取用户区高度 ()。“=”号的右边表示操控程序的命令,也即是说有时可以将系统命令、执行条件、项目、常量、子程序、函数、资源乃至其他对象的方法等,都可以当作是属性值赋给对象。“编辑框1.高度=取用户区高度 ()”可以理解为取得“取用户区高度 ()”的返回值(运算结果),然后将此值赋给编辑框1。   预告:以下我们将会继续介绍方法型语句、命令型语句、流程控制型语句、运算型语句、函数型语句等。   由于我也是菜鸟,所以分类可能不太严密。请高手帮我看看上面有哪些地方说错了,我自己是不太清楚的。【赋值型语句。(也可称属性型语句)(特征:有一个“=”号将左右两边连起来)】

2

①、注释型语句。    易语言的注释型语句的格式是:                    ※ 注释语句   注释语句不能执行程序,只是用来解释上一行代码的意思。易语言是把注释代码隐藏起来的。显示某行冷欧倘代码的注释语句的方法是:选中某行代码,如果在该行代码前出现“+”号,说明该行代码有注解,点击该“+”号可以打开该行代码的注解,点击“-”可以重新隐藏注解。   上述注释型语句是易程序中固有的,我们也可以自己添加注释型语句。方法:直接改动某一备注或用右键选“修改备注”。   除了上述的备注方法外,在下方的“提示夹”里有对该行代码更详细的解释。   我们也可以把下面的草稿型语句作为备注。 ②、草稿型语句。      易语言的草稿型语句的格式是:   ※草稿:程序代码  草稿型语句也不能被程序执行,有两种情况会出现草稿型语句:①、没有转为正式语句,在代码前会有“※草稿:”字样,转化为可以运行的正式代码的方法:双击该行代码使之变灰,然后按回车键(即Enter键)。②、该行代码有错误,不能转化为正式语句。处理:修改错误。 ③、测试型语句。(等等再解释)【非运行语句。     非运行语句包括以上几种。】

3

我们如果看过《控件的属性、事件和方法》,就会理解方法是一个具体对象能够执行的动作。有的方法会有参数表,有的方法则不用参数,“参数”大概相当关醒于调用这个方法的各种相关数据,包括相关对象属性值、系统命令、执行条件、项目、常量、子程序、函数乃至其他对象的方法等,都是可以调用的参数。不同的方法有不同的参数,一种方法可以有多种类型的参数。执行、调用一个对象的方法的一般格式如下:           对象名.方法名(参数1,参数2,...)。       例如需要在一个名为“购物篮”的列表框里添加一个叫“苹果”的列表项目,其语句如下:                 购物篮.加入项目(苹果)。   上面这句话的意思可以理解为:“将购物篮的加入项目(方法)定为苹果”。在这个例句中,“加入项目”是“购物篮”的方法,“苹果”是其参数。其中调用列表框的“加入项目”方法的句式是:          列表框.加入项目 (欲加入项目的文本,[与欲加入项目相关的数值])   同时我们又会发现另一类句式,比如“销毁()”,这个句式跟命令型句式很象,但其实它是下面这个句式的省略表达:窗口单元.销毁 ()。也即是说调用当前窗口单元的方法句式可省略前面的对象名前缀,它仍然是一种方法型语句。再举另一例子,“窗口单元.弹出菜单 (欲弹出的菜单,[水平显示位置],[垂直显示位置])”可以省略表达成“弹出菜单 (欲弹出的菜单,[水平显示位置],[垂直显示位置])”。   欲查看某类窗口单元具有哪些方法、这些方法的详细解释以及有哪些可用参数等,请到易语言设计界面的支持库夹中的“数据类型”分枝中寻找。譬如:想了解画板的所有方法,可以到“数据类型 -> 画板”下查看。   下面列举几个调用对象方法的例子,以便让各位菜鸟举一反三:        ①、在程序中使用常量时其名称前必须加上“#”符号,所以如果调用的参数中有常量,就在常量前面加上“#”符号,比如:           列表框1.调整层次 (#底层)    ②、调用系统命令作为参数。例句:           画板1.滚动写行 (数值到人民币 (100, 假)) 。    这句的意思是,调用“画板1”的“滚动写行”方法。而其欲写出的数据(参数)是“数值到人民币 (100, 假)”(这句的语法请看帮助),这是一种数值转换命令语句。    ③、调用相关对象的属性值作为方法的参数。例句:            列表框.加入项目 (编辑框1.内容,)【方法型语句。】

4

命令型语句跟方法型语句差不多,看看下面两者的对比就知道它们的差别了——方法型语句:对象名称.方法名称(参数,......),而命令型语句的基本格式是:                             命令名称 (参数,......)    “命令”的意思也跟“方法”差不多,都是一种程序运行动作指令,只不过“方法”是某个具体对象所具有的能供调用的指令,而“命令”则是整个易语言系统固有的、可以供任何程序任何对象调用的指令,所以命令名称前面没有前缀的对象名。     有时候命令的参数不是必需的(即“可选的”),比如:取随机数 ([欲取随机数的最小值],[欲取随机数的最大值]),“[]”表示该参数不是必需的。如果是这种情况,该参数可为空,比如:取随机数 ()。     那么,我们怎样调用命令呢(怎样编辑命令代码)?怎样查找易语言系统提供的命令呢?也是有两种方法:①、请到易语言设计界面的支持库夹中的“数据类型”分枝中寻找。譬如:想了解文件读写的“插入文本”命令,可以到“核心支持库-> 文件读写->插入文本”查看。点击该命令名称可以快速地在代码编辑区插入该命令的代码;②、选“帮助→易语言知识库→目录→参考手册首页→系统核心支持库”,我们会发现那里列举了易语言提供的所有命令类别,可以选中某类命令类别来查看。    通过查找,我们会发现易语言提供以下几种类型的命令可供调用:   ①、调用核心支持库命令,包括以下几大类型:              流程控制 算术运算 逻辑比较 位运算              容器操作 数组操作 环境存取 拼音处理              文本操作 字节集操作 数值转换 时间操作              磁盘操作 文件读写 系统处理 媒体播放              程序调试 其他 数据库 网络通信        比如“取现行时间 ()”是属于时间操作命令,而“数值到人民币 (100, 假)”是一种数值转换命令。   ②、调用其他程序(包括窗口程序集、子程序等)、函数、API函数等的命令。有时候我们会发现某个命令在核心支持库里找不到,那可能是调用以上的东西,比如在某一个例子中有一个“添加用户()”的命令,这个命令在系统命令列表里找不到,我们再看下面有一个子程序叫“添加用户”,原来该命令是调用“添加用户”子程序。    下面再列举一些常见的命令以便举一反三:   ①、载入窗口命令。我们想通过一个窗口启动其他窗口,可用此命令,其句式是:           载入 (欲载入的窗口,[父窗口],是否采用对话框方式)      它的意思请查看有关说明。   ②、运行命令。使本程序或其他程序运行,其句式为:          运行 (欲运行的命令行,是否等待程序运行完毕,[被运行程序窗口显示方式])。          示例:运行(程序1,,假)。   ③、信息框命令 。有时我们想使系统反馈指令,比如弹出相关提示,但又找不到有“信息框”这个控件(窗口单元),原来易语言是通过命令调用信息框的(类似的还有输入框命令),其格式是:          信息框 (提示信息,按钮,[窗口标题])。   ④、关闭命令。这是一种数据库操作命令,当指定数据库操作完毕后,关闭已经被打开的指定数据库,以便清空数据变量,节约系统资源,其句式是:            关闭 ([数据库别名或名称])   ⑤、结束命令。本命令结束当前易程序的运行,参数为空(无返回值),其格式是:           结束 ()【命令型语句。】

5

学过其他编程语言的朋友初次用易语言一般会不太适应,因为代码都是用中文表示的,呵呵。其实易语言的语法规则跟其他编程语言是差不多的,可能他们比较不习惯的是声明型语句是用表格来表达。  比如VB中声明变量的句式是“dim  变量名 as 变量类型”之类,而易语言是用表格声明容器来表示,表格所要填写的内容包括容器名(变量名)、容器类型(变量类型)等项目。用表格能更直观地了解、查找或插入所要声明的东西,例如变量、子程序、常数、dll函数、声音或图片资源等。   如果我们把易语言的表格型代码复制粘贴到记事簿等文件中,会发现表格型代码转化为文字型代码,比如对子程序的声明会变成类似下面的语句:子程序:_按钮1_被单击返回值类型:字节型下面来列举一下声明型语句的几种类型和声明方法:   ㈠、建立(声明)容器(变量)。需要声明(定义)的项目包括容器名、容器类型、是静态容器还是非静态容器、数组、备注等。    建立容器的方法:⑴、局部容器—在子程序下面按下“Ctrl + L” 加入一个空容器。 ⑵、窗口程序集容器—在窗口程序集下面按回车键。⑶、全局容器—在工作夹里选“程序→全局容器”,或在菜单里选“插入→新全局容器”。   ㈡、建立子程序。声明项目包括子程序名、返回值类型、参数名等。    建立子程序的三种方法:⑴、在菜单里选“插入→新子程序”,⑵、或者按“Ctrl + N”插入一个新子程序,⑶、也可以选定需要对其事件进行编程的控件对象(如按钮1)然后在属性夹里选取相关事件(如“被单击”),会同时在代码编辑区插入“按钮1.被单击”之类的子程序。   ㈢、建立dll命令(api函数)。    跟其他编程语言一样,易语言本身提供的系统命令是有限的,但在易应用程序中可以直接调用系统外部动态连接库(即 Dll 库)中的命令。在VB里声明api函数的语句类似于下面的句子:           Declare Function ClipCursor& Lib 'user32' (lpRect As RECT)     这句话翻译成中文是:  声明函数:ClipCursor  函数所在库:user32(函数参数名:lpRect  参数类型:RECT)     那么在易语言里,声明dll命令也包括api函数名、函数所在库、函数参数名和参数类型等项目。     建立dll命令来调用api函数的两种方法:⑴、在工作夹里选“程序→dll命令”。⑵、菜单里选“插入→新dll命令”。    ㈣、其他的表格型语句还包括建立程序集、建立新数据类型、建立常量、建立声音或图片资源等。一般来说用表格来插入以上这些东西的方法有两种:⑴、在工作夹里选“程序→”。⑵、菜单里选“插入→”。【表格型语句(声明型语句)。】

常见问题
1

什么叫做赋值1:把一个常量定义给一个变量吧,就像方程式中的 令X=102:“属性”即事物的性质,“属性值”即事物性质的具体表现,比如“颜色”是事物的性质(即“属性”),而“红色”是“颜色”这个属性中的一种属性值,我们知道,“红色”是系统中的一种常量值,它的颜色属性值是“255”,也可以表达为“#红色”。确定事物的具体性质即是确定事物的属性值(赋值),比如给你女朋友送一套红色的衣服,那么你女朋友这件衣服的属性值是“红色”。衣服.颜色=红色 ,即将衣服的颜色的属性值定(赋)为红色,这个行为就叫“赋值”,是“赋予属性值”的简称。   或者可以这样理解:用代码来设置对象的属性,就称为“赋值”。3:其实就是把一个东西放进一个空的箱子里的过程。

2

什么叫“返回值”要先从对象的方法或系统的命令的含义着手理解。所谓对象的方法或系统的命令可以理解为对所提供的相关数据(即参数:提供给系统处理的一种变量)进行的处理(运算)。    不同的方法或命令有不同的处理方式,比如“载入 (窗口1,,假)”,是对“窗口1”这个已赋值参数用载入的方式进行处理,又如“相加 (被加数,加数)”是对“被加数”和“加数”两个数据用相加的运算方式处理。  有处理结果或运算结果(即能返回一个值)的系统命令我们就称为函数。“返回”即“处理”,“返回值”即对函数参数的处理结果。    系统命令也可以称为系统函数,因为它有返回值。比如信息框函数的返回值有以下几个常量值:    0、#确认钮; 1、#取消钮; 2、#放弃钮; 3、#重试钮; 4、#忽略钮; 5、#是钮; 6、#否钮    比如当我们按下“确认钮”时,信息框函数值为0;若按下“取消钮”,信息框函数值为1......依此类推。

3

谈谈返回值Y=f(X1,X2,...Xn)表达了一个函数关系,如果将X1,X2,...Xn看作参数,f看作过程或算法,那么Y就是结果或是返回值。任何一个过程都有它的结果,函数、子程序、以及事件都是一个过程,理论上都有其返回值,而返回值又是另一个过程的判据。     最有意思的是返回值的传送常常困扰着我们,前不久有个易友提出如何控制小数点问题,是西风帮助解决了,最近我也遇到了类似的问题,最后归纳起来:都是返回值问题。即使已有一知半解,还常常被其击倒。问题如下:道具:一个窗口,一个编辑框,一个按钮子程序:_编辑框1_按下某键  返回值类型:逻辑型局部容器:容器1 数据类型:整数型如果真 (键代码 = 32)编辑框1.内容 = “”编辑框1.可视 = 假计次循环首 (1280, 容器1)编辑框1.加入文本 (“:” + 到文本 (容器1) + “:” + #换行符)计次循环尾 ()编辑框1.可视 = 真编辑框1.获取焦点 ()编辑框1.起始选择位置 = 3如果真结束想让光标处于:1:之后,可怎么运行,光标都在第四个位置,以为是BUG来了,其实不然,易语言的BUG不是那么容易被你发现的。究竟是怎么回事,换另一种方法试试:改由_启动窗口_按下某键,后面的一切照旧,问题没有了,这就说明不是BUG。仔细地思考忽然想到键代码=32不是空格键吗,空格键下按后光标是一定要向右走一步的(一个半角字符的位置),就是说光标原来已在“:1:”后,又由于空格键操作的原因,向右多移了一个字符的位置。那为什么编辑框_按下某键会有这个结果呢,是因为空格键操作的结果传递给窗口没有什么影响,而传递给编辑框(当然是获得了焦点的编辑框)就大不一样了。简而言之就是空格键的操作结果影响了光标的移动,要知道,事件驱动的结果只有返回给编辑框,光标才会做出响应,如果不让其返回问题不就解决了吗!于是就在程序的最后加上一句“返回(假)”。   再如:用鼠标点击编辑框后,选中编辑框中所有的文本,程序如下子程序:_编辑框1_鼠标左键被按下返回值类型:逻辑型参数:横向位置 数据类型:整数型  参数:纵向位置 数据类型:整数型  参数:功能键状态 数据类型:整数型编辑框1.被选择字符数 = -1  编辑框1.起始选择位置 = 0返回 (假)如果不返回假就怎么也不会选中框内的所有字符,因为本来是执行了选中所有字符的命令的,但鼠标左键按下后,编辑框又获得了焦点,就使选中后的光珊又被去掉了,变成了光标在闪动的结果,而返回假就去掉了这后一步的动作,实现了选中所有字符的目标。   由此回想起小数点问题也是某键按下的驱动事件,当你判断出前面已经有小数点存在的时候,小数点键码再次按下时返回为假就可以了。影响的过程总是先有事件后有响应,事件之后切断消息的传递就可以了。   在面向对象的程序结构中,总是一个事件连接着另一个事件,每一个事件都会有一个结果,这个结果有时也会产生负作用,当你利用一个事件的某一方面时,却忽略了另一个方面,最终受另一个方面的困扰,你应经常要想到这个事件会产生什么后果,对你的预定目标有没有影响,多一个想法也许会给你带来福音!

注意事项

以上内容仅供参考

推荐信息