易语言学习笔记(2)

易语言学习笔记(2)

  • 1 数据类型
    • 1.1 基本数据类型
      • 1.1.1 数值型
    • 1.2 特殊数据类型
    • 1.3 数据类型长度
    • 1.4 各数据类型初始值
    • 1.5 数据类型间转换命令
  • 2 易语言的命令
    • 2.1 学会查找命令
    • 2.2 方法型语句
    • 2.3 命令型语句
  • 3 命令表(系统核心支持库)
    • 3.1 数值处理命令
    • 3.2 判断命令
    • 3.3 循环命令
    • 3.4 跳转命令
    • 3.5 常用命令

1 数据类型

易语言的数据类型从数据结构来区分,可分为基本数据类型,特殊数据类型。

1.1 基本数据类型

数值型、逻辑型、日期时间型、文本型、字节集型、子程序指针型

1.1.1 数值型

字节型、短整数型、整数型、长整数型、小数型、双精度小数型
它们之间的区别在于所容纳数值范围的不同和数据尺寸的不同。

1.2 特殊数据类型

包括通用型数据类型、库定义数据类型、自定义数据类型、内部组件数据类型

  1. 通用型数据类型仅在系统内部使用,它能够匹配所有的系统基本数据类型、库定义数据类型、自定义数据类型。
  2. 库定义数据类型由易语言支持库提供,用户在程序中可以直接使用,如同系统基本数据类型。
  3. 用户可以随时在程序中自行定义新的数据类型,需要设置数据类型的名称及其成员。
  4. 内部组件数据类型:在易语言中,每一种内部组件都可以作为一种数据类型来使用。

1.3 数据类型长度

数据类型名称 数据类型长度
namelalala(~~) length
字节型 0~255个字节
短整数型 -32,768 到 32,767 之间的数值,尺寸为 2 个字节
整数型 -2,147,483,648 到 2,147,483,647 之间的数值,尺寸为 4 个字节
长整数型 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 之间的数值,尺寸为 8 个字节
小数型 3.4E +/- 38 (7位小数) 之间的数值,尺寸为 4 个字节
双精度小数型 1.7E +/- 308 (15位小数) 之间的数值,尺寸为 8 个字节
逻辑型 “真”或“假”,尺寸为 2 个字节
日期时间型 记录日期及时间,尺寸为 8 个字节
文本型 可记录一段文本,文本由以 0 结束的一系列字符组成
字节集 用作记录一段字节型数据。字节集与字节数组之间可以互相转换,在程序中允许使用字节数组的地方也可以使用字节集,或者相反。字节数组的使用方法,譬如用中括号对(“[ ]”)加索引数值引用字节成员,使用数组型数值数据进行赋值等等,都可以被字节集所使用。两者之间惟一的不同是字节集可以变长,因此可把字节集看作可变长的字节数组
子程序指针 用作指向一个子程序,尺寸为 4 个字节。具有此数据类型的容器可以用来间接调用子程序

1.4 各数据类型初始值

易语言学习笔记(2)_第1张图片

数据类型名称 初始值(默认值)
数值型 0
逻辑型
日期时间型 1899年12月30日
文本型 空文本 “” →到文本()不显示
字节集型 空字节集 {}→到文本()不显示

如果变量为数组,其每个数组成员的初始值都与单个容器相同。

1.5 数据类型间转换命令

到数值()、到小数()、到整数()、到文本()、到字节集()、到时间()

2 易语言的命令

在《易语言入门教程(1)》中,用到了一个到文本()命令,类似于javascripttoString(),这就是易语言的命令

命令是由易语言提供的能够完成某一特定功能的指令,书写格式为:命令名称 (参数,...... )

一组命令就形成了程序。
(1)命令名称是程序中调用时所使用的名称。
(2)命令所能接收参数的数目和各参数的数据类型由命令本身所决定。所有参数必须用括号一起括住,多个参数之间用逗号隔开。
(3)命令执行完毕后还可能返回数据,是否返回数据及所返回数据的数据类型同样由命令本身所决定。
如 “到文本()”命令就将返回文本型数据。

2.1 学会查找命令

在支持库面板中,所有的系统库函数被分为20类依次列出。单击某个分类前的“+”号使其变为“-”号,即可查看该分类中的命令。而点击其中的任意一个命令名称,立刻就可以在提示面板中看到关于该命令的详细帮助。这是在易语言中寻求帮助的很重要的方法。
易语言学习笔记(2)_第2张图片

2.2 方法型语句

方法是一个具体对象能够执行的动作,调用格式为:对象名.方法名(参数1,参数2,...),相当于js的对象方法

2.3 命令型语句

命令语句是整个易语言系统固有的、可以供任何程序任何对象调用的指令,所以命令名称前面没有前缀的对象名。命令调用格式为:命令名称 (参数,......)

3 命令表(系统核心支持库)

类别 命令集
name(~~~) ----------------
流程控制 如果 如果真 判断 判断循环首 循环判断首 计次循环首 变量循环首 到循环尾 跳出循环 返回 结束
算术运算 相乘 相除 整数 求余数 相加 相减 负 取符号 取绝对值 取整 绝对取整 四舍五入 求次方 求平方根 求正弦 求余弦 求正切 求反正切 求自然对数 求反对数 是否运算正确 置随机数种子 取随机数
逻辑比较 等于 不等于 小于 大于 小于或等于 大于或等于 近似等于 并且 或者 取反
0-》1位运算 位取反 位与 位或 位异或 左移 右移 合并整数 合并短整数
变量操作 赋值 连续赋值
数组操作 重定义数组 取数组成员数 取数组下标 复制数组 加入成员 插入成员 删除成员 清除数组 数组排序 数组清零
环境存取 取命令行 取运行目录 取执行文件名 读环境变量 写环境变量
拼音处理 取所有发音 取发音数目 取拼音 取声母 取韵母 发音比较 输入字比较
文本操作 取文本长度 取文本左边 取文本右边 取文本中间 字符 取代码 寻找文本 倒找文本 到大写 到小写 到全角 到半角 到文本 删首空 删尾空 删首尾空 删全部空 文本替换 子文本替换 取空白文本 取重复文本 文本比较 分割文本 指针到文本 文本到UTF8 UTF8到文本
时间操作 到时间 增减时间 取时间间隔 取某月天数 时间到文本 取时间部分 取年份 取月份 取日 取星期几 取小时 取分钟 取秒 指定时间 取现行时间 置现行时间 取日期 取时间
数值转换 到数值 数值到大写 数值到金额 数值到格式文本 取十六进制文本 取八进制文本 到字节 到短整数 到整数 到长整数 到小数 十六进制 二进制 反转整数字节序
字节集操作 取字节集长度 到字节集 到字节集数据 取字节集左边 取字节集右边 取字节集中间 寻找字节集 倒找字节集 字节集替换 子字节集替换 取空白字节集 取重复字节集 分割字节集 指针到字节集 指针到整数 指针到小数 指针到双精度小数 取字节集内整数 置字节集内整数
磁盘操作 取磁盘总空间 取磁盘剩余空间 取磁盘卷标 置磁盘卷标 改变驱动器 改变目录 取当前目录 创建目录 删除目录 复制文件 移动文件 删除文件 文件更名 文件是否存在 寻找文件 取文件时间 取文件尺寸 取文件属性 置文件属性 取临时文件名 读入文件 写到文件
文件读写 打开文件 打开内存文件 关闭文件 关闭所有文件 锁住文件 解锁文件 移动读写位置 移到文件首 移到文件尾 读入字节集 写出字节集 读入文本 写出文本 读入一行 写文本行 读入数据 写出数据 是否在文件尾 取读写位置 取文件长度 插入字节集 插入文本 插入文本行 删除数据 打开加密文件
系统处理 运行 取剪辑板文本 置剪辑板文本 剪辑板中可有文本 清除剪辑板 取屏幕宽度 取屏幕高度 取鼠标水平位置 取鼠标垂直位置 取颜色数 输入框 信息框 鸣叫 取启动时间 置等待鼠标 恢复鼠标 延时 取文本注册项 取数值注册项 取字节集注册项 写注册项 删除注册项 注册项是否存在 取默认底色 快照 读配置项 写配置项 取配置节名 取操作系统类别 多文件对话框 取程序名称 交换变量 强制交换变量 取运行时数据类型 宏 类自身 取操作系统类别2 取最后错误 取统一文本 取统一文本长度
媒体播放 播放音乐 停止播放 播放MID 播放MP3 同步播放MP3 暂停播放MP3 继续播放MP3 取MP3播放状态
程序调试 输出调试文本 暂停 检查 是否为调试版
其他 载入 选择 多选选择 是否为空 是否已创建 取数据类型尺寸 取颜色值 取事件组件 事件转移 复制窗口组件 处理事件 载入图片 卸载图片 取硬盘特征字 取系统语言 写到内存 DLL命令调用转向 置错误提示管理 置DLL装载目录 取组件名称 取对象类型 寻找组件 取找到组件数目 取所找到组件 清除组件寻找句柄 置入代码 运行控制台程序 取核心库版本
数据库 是否支持多用户 取错误码 取错误信息 创建 打开 替换打开 置当前库 取当前库 关闭 全部关闭 取库文件名 是否已打开 取记录数 取创建时间 取字段数 取字段名 改字段名 取字段类型 取字段尺寸 新建索引 置当前索引 取当前索引 更新索引 取索引数 取索引名 取索引字段 置加锁重试时间 锁住数据库 解锁数据库 锁住增删 解增删锁 锁住记录 解锁记录 全部解锁 取平均值 求和 取最大值 取最小值 取最大时间 取最小时间 计算数目 复制结构 复制记录 计算排序 排序 分类计算 添加 加记录 加空记录 替换 修改 删除 是否已删除 恢复删除 彻底删除 清空 读 写 读字段 写字段 附加字节集 附加备注 索引查找 查找 到首记录 到尾记录 跳过 取记录号 跳到 取标签 记录是否存在 标签跳转 首记录前 尾记录后 写出缓存 写出所有缓存 编辑 是否已加密 置数据库密码 密码输入框 复制密码
网络通信 取主机名 通信测试 转换为主机名 转换为IP地址
控制台操作 标准输出 标准输入
易包 载入易包文件 载入易包数据 卸载易包 易包是否被载入 复制易包常量

还有数据类型和常量待整理

3.1 数值处理命令

  1. 【新建】-》【 windows控制台程序】,在子程序名下输入下列示例代码,运行后,在易语言底部的【输出】窗口查看结果。具体示例在下方。
    易语言学习笔记(2)_第3张图片
    先跟着官方教程敲一遍代码
' 单引号+单个空格=》本行为易语言的注释
' 响一声windows提示音
鸣叫 ()

' 数值命令
输出调试文本 (到文本 (取现行时间 ()) + #换行符)
' 数值到金额---这个必须给个赞!毕竟其他语言没有
输出调试文本 (数值到金额 (123.45,) + #换行符)
金额12323.25656767
输出调试文本 (数值到金额 (四舍五入 (金额1, 1),) + #换行符)

易语言程序的控制台会打印输出:

* 20191217155711* 壹佰贰拾叁元肆角伍分
* 贰仟叁佰贰拾叁元叁角整

易语言学习笔记(2)_第4张图片
数值到人民币(欲转换形式的数值, 是否转换为简体)命令返回文本型数据并且接收两个参数:参数1类型为双精度小数型;参数2类型为逻辑型,其默认值为“假”。

3.2 判断命令

' 判断命令
num1 = 10
num2 = 20

' 如果真----执行虚线箭头范围内的代码
' 相当于if
.如果真 (num1 > 15)
    输出调试文本 (1015大”)
.如果真结束


' 单个的“判断”语句可以代替“如果”语句。多个判断语句进行判断时是进行同一时间的判断,并且最后有一个默认判断分支。
' 相当于switch
.判断开始 (num1 > 1)
    输出调试文本 (101大”)
.判断 (num2 > 10)
    输出调试文本 (2010大”)
.默认
.判断结束


' 选择命令的第一个参数是成立条件,第二个参数在条件为真时返回本项。第三个参数在条件为假时返回此项。
' 相当于函数
输出调试文本 (“选择命令:” + 到文本 (选择 (num1 > num2, num1, num2)))


' 如果:有两个虚线箭头,真----执行:如果指向的虚线箭头范围
' 假----执行:另一个虚线箭头范围
' 相当于if(){}else{}
.如果 (num1 > num2)
    输出调试文本 (1020大”)
    输出调试文本 (“滴沥沥沥~~~~~)
.否则
    输出调试文本 (1020小”)
    输出调试文本 (“啦啦啦啦啦~~~~~)
.如果结束
返回 (0)  ' 可以根据您的需要返回任意数值
* 101* 选择命令:20
* 1020* 啦啦啦啦啦~~~~~

3.3 循环命令

这里介绍了好几种循环命令,用的时候选一个适合需求的就行。

' 循环类命令
num3 = 0

' 判断循环首----先判断再循环
' 相当于while(){}
.判断循环首 (num3 ≠ 10)  ' 当变量1不为10时即进行循环
    num3 = num3 + 1  ' 变量1累计加1
    输出调试文本 (“判断循环首:num3-------” + 到文本 (num3))
.判断循环尾 ()  ' 返回循环首

' 循环判断首----先循环再判断
' 相当于do{}while()
.循环判断首 ()
    num3 = num3 + 1
    输出调试文本 (“循环判断首:num3········” + 到文本 (num3))
.循环判断尾 (num3 ≠ 15)

' 计次循环首
' 相当于for
输出调试文本 (“计次循环首开始:num3======” + 到文本 (num3))
.计次循环首 (3, num3)  ' 重置num3为1
    输出调试文本 (“计次循环首start:num3======” + 到文本 (num3))
    num3 = num3 + 1
    输出调试文本 (“计次循环首:num3======” + 到文本 (num3))
.计次循环尾 ()

' 变量循环首
' 相当于for循环里定义 i 步进值
.变量循环首 (1, 6, 1, num3)   ' 从1开始,到6结束,步进为1,存入num3; 重置num3为1
    num3 = num3 + 1
    输出调试文本 (“变量循环首:num3_________” + 到文本 (num3))
.变量循环尾 ()
* 判断循环首:num3-------1
* 判断循环首:num3-------2
* 判断循环首:num3-------3
* 判断循环首:num3-------4
* 判断循环首:num3-------5
* 判断循环首:num3-------6
* 判断循环首:num3-------7
* 判断循环首:num3-------8
* 判断循环首:num3-------9
* 判断循环首:num3-------10
* 循环判断首:num3········11
* 循环判断首:num3········12
* 循环判断首:num3········13
* 循环判断首:num3········14
* 循环判断首:num3········15
* 计次循环首开始:num3======15
* 计次循环首start:num3======1
* 计次循环首:num3======2
* 计次循环首start:num3======2
* 计次循环首:num3======3
* 计次循环首start:num3======3
* 计次循环首:num3======4
* 变量循环首开始:num3_________4
* 变量循环首:num3_________2
* 变量循环首:num3_________3
* 变量循环首:num3_________4
* 变量循环首:num3_________5
* 变量循环首:num3_________6
* 变量循环首:num3_________7

3.4 跳转命令

' 跳转命令
.计次循环首 (5, num4)  ' 重置num4为1
    .如果真 (num4 = 2)  ' 易语言的相等只有一个=
        到循环尾 ()  ' 进行下一次循环 相当于continue
    .如果真结束
    .如果真 (num4 = 4)
        跳出循环 ()  ' 相当于break
    .如果真结束
    输出调试文本 (“跳转命令示例:num4-----------” + 到文本 (num4))
.计次循环尾 ()
* 跳转命令示例:num4-----------1
* 跳转命令示例:num4-----------3

下面来分析为什么会有此结果。
当第1次循环时,变量1的值为1,到循环尾时被显示在编辑框中。
当第2次循环时,变量1的值为2,到第二行如果判断命令时,由于条件成立,被立即跳到循环尾,所以没有显示在编辑框中。又立即跳到循环头,开始新的循环了。
当第3次循环时,变量1的值为3,到循环尾时被显示在编辑框中。
当第4次循环时,变量1的值为4,到第四行如果判断命令时,由于条件成立,被立即跳出了循环,提前结束了循环,所以第五次循环没有,也没有再显示任何内容了。

3.5 常用命令

  1. 当前时间
    输出调试文本 (“当前时间:” + 到文本 (取年份 (取现行时间 ())) + “-” + 到文本 (取月份 (取现行时间 ())) + “-” + 到文本 (取日 (取现行时间 ())) + “ ” + 到文本 (取小时 (取现行时间 ())) + “:” + 到文本 (取分钟 (取现行时间 ())) + “:” + 到文本 (取秒 (取现行时间 ())))
    
    * 当前时间:2019-12-18 9:43:51
    
  2. 运行命令。使本程序或其他程序运行
    ' 运行 (欲运行的命令行,是否等待程序运行完毕,[被运行程序窗口显示方式])。
    运行 (“C:\Program Files (x86)\KuGou\KGMusic\KuGou.exe”,, )
    
  3. 信息框命令
    ' 信息框 (提示信息,按钮,[窗口标题])
    信息框 (“你好呀”, 0, “麻烦确认一下哦”, )
    
    易语言学习笔记(2)_第5张图片
  4. 关闭命令。当指定数据库操作完毕后,关闭已经被打开的指定数据库,以便清空数据变量,节约系统资源,格式:关闭 ([数据库别名或名称])
  5. 结束命令。本命令结束当前易程序的运行,参数为空(无返回值),其格式是:结束 ()

你可能感兴趣的:(易语言)