易语言基础编程知识〖E语言手册〗
在易语言应用程序的编写过程中,用户涉及到定义各类名称,如:子程序名、变量名、数据类型名等等,这些名称的命名规则为:名称的首字母必须为全半角字母或汉字,其它字符必须为全半角字母、全半角数字或者汉字。虽然名称中允许半角字符“_”存在,但它被保留为系统专用,因此不要使用。与其它的编程语言相比,易语言的命名规则有以下特点:
无长度限制,用户可以尽情地使用长名称来进行名称描述;
永远不会与易语言的关键字产生冲突。譬如:现已存在“如果”命令,但用户仍然可以定义一个名称为“如果”的变量,两者之间不会产生任何冲突。
程序的启动方式
每个易语言应用程序都可以在两种启动方式中选择一种,即:
通过名称为“_启动窗口”的窗口启动;
通过名称为“_启动子程序”的子程序启动。
系统安装后默认为第一种启动方式,用户可以使用“程序” → “系统配置 - 通常夹 - 程序启动方式”菜单功能进行更改。
在第一种启动方式下,程序运行时系统将自动查找并载入名称为“_启动窗口”的窗口。在第二种启动方式下系统将自动执行名称为“_启动子程序”的子程序。
易语言的语言要素
所有的易应用程序,都由下列语言要素或其中的一部分组成:
一、 数据类型
数据类型分为系统基本数据类型、库定义数据类型、用户自定义数据类型三类。
· 系统基本数据类型列表及其说明如下:
1. 字节型。可容纳 0 到 255 之间的数值。
2. 短整数型。可容纳 -32,768 到 32,767 之间的数值,尺寸为 2 个字节。
3. 整数型。可容纳 -2,147,483,648 到 2,147,483,647 之间的数值,尺寸为 4 个字节。
4. 长整数型。可容纳 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 之间的数值,尺寸为 8 个字节。
5. 小数型。可容纳 3.4E +/- 38 (7位小数) 之间的数值,尺寸为 4 个字节。
6. 双精度小数型。可容纳 1.7E +/- 308 (15位小数) 之间的数值,尺寸为 8 个字节。
7. 逻辑型。值只可能为“真”或“假”,尺寸为 2 个字节。“真”和“假”为系统预定义常量,其对应的英文常量名称为“true”和“false”。
8. 日期时间型。用作记录日期及时间,尺寸为 8 个字节。
9. 文本型。用作记录一段文本,文本由以字节 0 结束的一系列字符组成。
10. 字节集。用作记录一段字节型数据。字节集与字节数组之间可以互相转换,在程序中允许使用字节数组的地方也可以使用字节集,或者相反。字节数组的使用方法,譬如用中括号对(“[]”)加索引数值引用字节成员,使用数组型数值数据进行赋值等等,都可以被字节集所使用。两者之间唯一的不同是字节集可以变长,因此可把字节集看作可变长的字节数组。
11. 子程序指针。用作指向一个子程序,尺寸为 4 个字节。
在以上的基本数据类型中,字节型、短整数型、整数型、长整数型、小数型、双精度小数型被统称为“数值型”,它们之间可以任意转换。不过编程需要注意转换可能带来的精度丢失。譬如:将整数 257 转换为字节后的结果为 1 ,这是因为值 257 超出了字节型数据的最大上限 255 ,从而产生了溢出。
另外,通用型数据类型仅在系统内部使用,它能够匹配所有的系统基本数据类型、库定义数据类型、自定义数据类型。
· 库定义数据类型:
库定义数据类型由运行支持库提供,用户在程序中可以直接使用,就如同是系统基本数据类型一样。
· 自定义数据类型:
用户可以随时在程序中自行定义新的数据类型。自定义数据类型时需要设置数据类型的名称及其成员。数据类型成员各属性的设置方法等同于变量设置设置方法。
· 引用库定义或自定义数据类型对象的成员:
数据类型成员等同于对象的属性,必须通过具有该数据类型的对象来引用。引用方法参见编程基础知识中的《引用对象的属性及方法》节。
二、命令及操作符
命令由运行支持库提供给用户在程序中使用,它们被分为很多类。有些命令的最后一个参数可以被扩展,譬如“相加”,它的“加数”参数可以被无限制地扩展,用作支持连续相加。这些命令在录入到程序中后在编辑窗口内其首部会显示出一个右双箭头作为标志。命令中的某些参数也有可能可以被省略,即调用时可以不提供参数数据。具体情况请参阅《支持库手册》。
下面列出所有具有操作符的命令及其操作符运算优先级,值越小运算优先级越高。优先级高的命令在计算表达式时将被先执行,同优先级的命令按顺序执行:
命令名称 优先级 中文操作符号 英文操作符号
负 1 - -
相乘 2 × *
相除 2 ÷ / 整除 3 \ \
求余数 4 % % 或 Mod
相加 5 + +
相减 5 - -
不等于 6 ≠ <> 或 !=
等于 6 = = 或 ==
小于 6 < <
大于 6 > >
小于等于 6 ≤ <=
大于等于 6 ≥ >=
近似等于 6 ≈ ?=
并且 7 且 And 或 &&
或者 8 或 Or 或 ||=
赋值 9 = =
三、子程序
将程序分割成较小的逻辑组件就可以简化程序设计任务,这些逻辑组件被称为子程序。 子程序可用于压缩重复任务或共享任务,例如,压缩频繁的计算处理等等。
用子程序编程有两大好处:
· 子程序可使程序划分成离散的逻辑组件,每个组件都比无子程序的整个程序容易调试及理解;
· 一个应用程序中的子程序,往往不必修改或只需稍作改动,便可以成为另一个程序的子程序。
每次调用子程序时,子程序中的所有语句都将被从第一条开始顺序执行,当执行到子程序尾部或者遇到“返回”命令时即返回到调用此子程序语句的下一条语句处。
子程序可以接收参数数据和返回值。参数数据由调用子程序的语句传递过来,子程序的返回值被返回到调用子程序的语句处。
子程序如需要返回值,必须先在子程序定义表的“返回值类型”栏中定义欲返回值的数据类型,然后在子程序中使用“返回”命令返回相应格式的数据。
子程序如需要接收参数数据,必须先在子程序定义表中参数表部分定义与欲接收数据数目相同的参数。调用子程序时所传递过来的数据将被顺序地填入对应的参数中。如果所传递过来的数据与对应位置处的参数数据类型不一致,在可以互相转换时,系统将自动进行转换,否则会产生运行时错误。参数仅能在子程序内部使用。
定义子程序参数时需要定义以下几项主要属性:
· 参数名。 定义该参数在子程序中的使用名称。参数可以如同变量一样使用;
· 类型。所定义的数据类型应该与欲接收数据的数据类型相同或者能够互相转换;
· 参考。设置系统为当前子程序参数传递数据时是否为传递指向数据的指针。如果所传递过来的参数数据为数组、用户定义数据类型、库定义数据类型、字节集型、文本型数据,则无论此属性是否为真,都将传递指针。如果所传递过来数据的类型与相应位置处参数的数据类型不一致但可以相互转换,譬如将“整数型”数据传递到“小数型”的参数中,则在数据被实际传递前,系统将首先自动将“整数型”数据转换为“小数型” 数据,然后再进行传递。因此在这种情况下,即使本属性为真,系统也无法传递指向原参数数据的指针,只能传递数据本身。如果系统将数据指针成功地传递过来,那么在子程序中对此参数的内容的更改将会相应地反映到调用子程序时所提供的参数数据上。
· 可空。如果本属性为真,那么在调用本子程序时,调用方可以不为此位置处的参数传递数据。主要用作支持具有默认值的参数,也可以在为子程序添加了新参数后又不想去更改以前调用此子程序的语句时使用。在子程序中可以使用“是否为空”命令来查询调用方是否提供了参数数据。
· 数组。设置当前子程序参数是否为接收数组数据。如果本属性为真,则调用方应该为本参数传递数组数据,否则只能传递非数组数据。
四、Dll 命令
在易应用程序中可以直接调用系统外部动态连接库(即 Dll 库)中的命令。在调用前,必须首先进行定义,定义Dll 命令涉及到以下主要属性:
· Dll 命令名。定义该 Dll 命令在易程序中的使用名称;
· 返回值类型。定义 Dll 命令返回值的数据类型,只能为无、字节、短整数、整数、逻辑及文本型;
· Dll 库文件名。 定义当前 Dll 命令所在动态连接库的文件名。如果不指定库文件名,系统将默认在 Kernel32.dll、Gdi32.dll、User32.dll、Mpr.dll、Advapi32.dll 等 Windows 系统的基本应用程序界面函数(API)库中搜寻指定命令;
· Dll 命令在 Dll 库中的对应命令名。定义当前 Dll 命令在其所在动态连接库中的名称,如果不指定,系统将默认等同于 Dll 命令名;
· 定义 Dll 命令参数时的主要属性:
1. 类型。Dll 命令参数所定义的数据类型应该与实际的 Dll 库命令一致。可以使用除了文本数组及字节集数组外的任何数据类型,包括库自定义和用户自定义数据类型。
2. 传址。某些实际 Dll 库命令的参数需要接收数据地址,设置本属性为真可以确保将参数数据的地址传递过去。如果参数数据的类型为数组、文本、字节集、用户定义数据类型、库定义数据类型,则无论此属性是否为真,都将传递数据地址。如果本属性为真且调用 Dll 命令时所传递过来数据的类型与相应位置处所定义参数的数据类型不一致但可以相互转换,则系统先分配一块临时内存空间,然后进行转换并将转换后的数据存放到该空间,最后将此内存空间的地址传递到实际的 Dll 库命令。参见例程 sample.e 中的相应部分。
3. 数组。意义同上.
转载于:https://www.cnblogs.com/fgpgy/archive/2008/08/11/3000172.html
易语言基础编程知识〖E语言手册〗相关推荐
- 实验四 数据库SQL语言基础编程
-- 实验四 数据库SQL语言基础编程 -- 实验目的: -- 掌握数据库查询语句的编写方法 -- 掌握利用查询语言完成基本查询 -- 掌握利用SQL语句完成数据的添加.删除.修改操作 -- 实 ...
- 实体类 接口_Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口)
原文:Java 语言基础编程题 (二维数组, 五子棋游戏, 实体类和接口, 视频讲解) 这里分享三道编程题, 下面是我个人的视频讲解 二维数组, 五子棋游戏, 实体类和接口_哔哩哔哩 (゜-゜)つロ ...
- n1 c语言程序,C语言基础编程练习
<C语言基础编程练习>由会员分享,可在线阅读,更多相关<C语言基础编程练习(94页珍藏版)>请在人人文库网上搜索. 1.1.屏幕上输入:This is a C program# ...
- c语言基础编程题文库,C语言基础编程题资料.doc
C语言基础编程题资料.doc |5-1 求幂之和 15 分本题要求编写程序,计算 sum21 22 23 cdots 2nsum2122232n.可以调用 pow 函数求幂.输入格式输入在一行中给出正 ...
- java语言编程基础王晓华_Java语言基础编程练习
Java语言基础编程练习 1. 运算符练习 提示用户输入正整数类型的秒数,拆分秒数后输出x小时x分x秒. 如:输入7199,输出1小时59分59秒 System.out.println("请 ...
- C语言基础编程题——喝水问题,译码问题
C语言基础编程题--喝水问题,译码问题 有这样一道智力题:"某商店规定:三个空汽水瓶可以换一瓶汽水.小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?"答案是5瓶,方法如下:先用9 ...
- python有哪些软件包用来考察变量之间的相关性_Python语言基础考察点:python语言基础常见考题(一)...
一.python是静态还是动态类型?是强类型还是弱类型? 1.动态强类型语言(不少人误以为是弱类型) 不要傻傻分不清 2.动态还是静态指的是编译期还是运行期确定类型 3.强类型指的是不会发生隐式类型转 ...
- c语言中aver是什么意思_嵌入式C语言基础编程—5年程序员给你讲函数,你真的懂函数吗?...
本文主要讲述的内容: 1函数概述 2函数定义的一般形式 3函数的参数和函数的值 3.1形式参数和实际参数 3.2函数的返回值 4函数的调用 4.1函数调用的一般形式 4.2函数调用的方式 4.3被调用 ...
- C语言基础-编程规范!代码不规范,自己两行泪!
前言 一个好的程序编写规范是编写高质量程序的保证.清晰.规范的源程序不仅仅是方便阅读,更重要的是能够便于检查错误,提高调试效率,从而最终保证软件的质量和可维护性. 说明 l 本文档主要适用于刚刚开始接 ...
最新文章
- 解决Eclipse添加新server时无法选择Tomcat7的问题
- 最深刻最通俗的HTTPS 原理详解,图文并茂
- python newbie——PE No.5
- 机器学习系列(2)_从初等数学视角解读逻辑回归
- java遍历对象属性_java开发中遍历一个对象的所有属性并set值 缓存优化
- boost::hana::when用法的测试程序
- gpgga格式读取MATLAB,GPS编码格式及读取.doc
- 【tool】构造朴实的测试用例
- Git 删除本地分支和远程分支
- MyBatis(七)------MyBatis映射器(resultMap元素)
- 自主开发的3D打印软件
- 微机实验报告6 并行接口实验
- EPlan 下载和破解
- 中职学校计算机技能大赛总结,中职学校技能大赛总结
- 博士申请 | 香港城市大学计算机学院徐伟涛老师组招收人工智能全奖博士生
- 捋一捋Python中的数学运算math库之三角函数
- 某网站登录接口password参数还原
- 维度建模之缓慢渐变维
- 第4章第6节-水管工游戏
- 目录-Amira用户指南
热门文章
- 窗口属性 客户矩形_航空公司客户价值分析
- openocd调试Linux内核,Ubuntu下配置OpenOCD+FT2232
- 经常玩电脑正确的坐姿_初级茶艺师工作技能培训:第一节礼仪(正确的坐姿)...
- spss相关性分析_SPSS有话说:如何得出问卷或量表的结构或维度——探索性因素分析...
- 开发日记-20190802 关键词 读书笔记《Linux 系统管理技术手册(第二版)》DAY 18
- 鸿洋android屏幕适配四部曲-传送门
- 【编程开发】Python隐藏属性——使用双下划线标识私有属性,外部不可直接访问...
- DNS RR代码和含义
- flask Blueprint蓝图
- 拼接字符串时去掉最后一个多余逗号