易语言学习笔记(1)
1. 介绍
易语言是中国人拥有自主知识产权的一门编程语言,是一款编译器,也是一套集成开发环境。综合来说,易语言是一个自称体系的软件开发平台。其中包含了用于开发软件产品的几乎所有重要部件:编程语言、编译器、调试器、类库(支持库/模块)、集成开发环境(IDE)及周边工具。
易语言开发的标准DLL(动态链接库)可供其他语言调用,允许在代码中直接嵌入X86机器指令代码以期实现比汇编语言更底层的应用。
1.1 特点
- 全中文支持
- 全可视化编程
- 中文语句快速录入
- 在汉字发音处理、全半角字符处理、人民币金额等提供了完美的支持
- 自动格式化代码
- 无定义类关键字,采用表格填表方式
- 命令格式统一
- 语法格式自动检查,极大减少出错
- 名称自动管理,不需要全局替换某个名称
2. 起步
机缘巧合下知道了易语言的存在,想要学习易语言却发现相关博客文章太少,官网手册的学习文档中的版本又太旧。这次跟着《10天学会易语言图解教程》学习易语言,打算对自己提高要求做个笔记,也希望能给想要学习易语言的伙伴们提供一些帮助。
笔者有前端编程基础,主要是想用易语言编写辅助工具,所以对于一些内容只做个总结。大家可以配合视频教程码:0d4t一起学习。
2.1 下载与安装
- 官网下载地址
- 下载版本:【易语言5.9完全版下载(包括知识库、多媒体教程)】e59_chs_all.exe
- 安装易语言,一直下一步即可。
- 如若打开不了的话,可以百度找下破解补丁,替换下e.exe,有条件的话还是支持正版。
2.2 安装文件目录
2.3 工作台
3 易语言概括
3.1 易语言支持的6种程序
1. windows窗口程序:支持在windows下拥有窗口及组件等标准win32程序
2. windows控制台程序:win32命令行程序(无窗口界面)
3. windows动态链接库:可以生成DLL库文件
4. windows易语言模块:简称易模块,是经过初步编译后的代码集合,供其他易程序重复调用
5. Linux控制台程序:是支持linux操作系统的命令行程序(无窗口)
6. linux易语言模块:是支持linux操作系统且经过初步编译后的代码集合
3.2 易语言语句分类
1. 赋值型语句
2. 非运行语句
3. 命令语句
3.3 易语言帮助手册
【菜单】→【帮助】→【易语言知识库】
4 易语言编辑器
4.1 内置输入法
有四种,首拼、全拼、双拼、英文。首拼、全拼、双拼、英文。
例如:欲输入“取整 (1.23)”语句,各种输入法的输入文本为:
首拼及全拼输入法:qz (1.23) 或者quzheng (1.23)
双拼输入法:quvg (1.23)
英文输入法:int (1.23)
输入字可以用来输入程序中所涉及到的一切名称,包括:
- 所有当前运行支持库中所提供的命令、窗口和报表单元数据类型及其属性和方法、普通数据类型及其成员和方法、库定义常量等等名称;
- 用户在程序中定义的子程序参数、子程序局部容器、程序集容器、全局容器名称;
- 用户定义的子程序、 DLL外部命令名称;
- 用户定义的数据类型及其成员名称;
- 用户所加入的资源和所定义的常量的名称;
- 用户在设计窗口或报表时所定义的窗口单元、菜单项目或报表单元名称;
- 系统数据类型名称,如:“整数型”、“小数型”等等;
- 系统常量名称,如:逻辑值常量“真”和“假”等。
5 第一个程序
1.双击打开易语言,如下图所示:
2. 点击中间的新建,选择Windows窗口程序,并在窗口中创建一个【按钮】和一个【编辑框】。具体方法:点击右边的小组件图标,再到窗口内用鼠标拉开大小就行。
3.双击【按钮】,打开程序设计页面,在子程序名
的表格后面输入:编辑框1.内容=“hello world”
,这句话就是【按钮】所执行的动作或程序或事件了。
点击【三角形运行】按钮,启动hello world程序。
启动成功后,点击【按钮】,【编辑框】的内容就变成hello world了。
5.1 注意
a. 编辑框1
就是windows窗口程序中的编辑框,名字必须一致;输入完整名字后,再输入.
,会有可修改内容的提示框,与其他编辑器一致(如vscode,webstorm)
b.(1)文本变量必须是双引号,一个单引号是注释 (2)注释也可以选中一行代码,右击→选择【屏蔽】,就可以注释选中行。
c. 每输入名称时需要在弹出的提示框内用enter
选择
6 编写一个MP3播放器
- 打开易语言,点击工具栏的快捷按钮【新建】,并在弹框中选择Windows窗口程序,如图所示
- 在新窗体中画一个编辑框和两个按钮控件。各自选中按钮后,打开属性面板,分别将这两个按钮的标题属性改为“播放MP3”和“停止播放”。
- 双击标题为【播放MP3】的按钮,自动切换到
_按钮1_被单击
子程序代码区,输入以下代码:播放MP3(1,编辑框1.内容)
;双击标题为【停止播放】的按钮,自动切换到_按钮2_被单击
子程序代码区,输入以下代码:停止播放()
;
- 菜单中点击【编译】-》【编译】,就可以生成exe文件了。一个简易MP3播放器就完成了。
7 windows窗口程序
windows窗口组件与VB的窗口组件类似。
7.1 事件处理子程序
程序被专门用作接收运行时来自程序窗口的事件,被称为事件处理子程序。它们名称的组成格式为_产生事件的窗口单元名称_事件名称
。
那么名称为_按钮1_被单击
的子程序,就是用来接收名称为“按钮1”的按钮窗口单元上所产生的“被单击”事件。也就是说,易程序运行时用户一旦单击了此按钮,系统将会自动执行具有此名称的子程序。
这类程序名称不能修改
7.2 引用格式
引用一个窗口单元必须使用它的名称,引用窗口单元的某个属性必须使用: 窗口单元名称.属性名称
的格式,如编辑框1.内容
修改其他属性
7.3 windows窗口组件
在新建的Windows易程序中,总有一个_启动窗口
,_启动窗口
是首次运行的窗口,如果没有将不能运行 ,所以是不能更改的。
按钮可修改的属性有:名称、标题、坐标、大小、字体、图片、是否可视、是否禁止
编辑框可修改的属性有:内容、是否允许多行及滚动条、输入方式
8 变量
- 命名格式:中文名称、英文数字;首字符不能是数字
- 从变量的作用范围来区分,可分为“局部变量”、“程序集变量”、“全局变量”。
- 从变量的属性来区分,分为“静态变量”和“数组变量”。
连续赋值(5,变量1,变量1)
8.1 局部变量
只能在其子程序中才能被调用的变量,其他子程序无法调用。这是因为局部变量只有在子程序被调用时才初始化、占用内存;当子程序调用结束后,其变量所占内存空间将被系统收回。
新增: 新增局部变量:【插入】-》【局部变量】,得到一个变量表
,在变量表第一列变量名
中,输入自定义的变量名;在变量表第二列中,点击【空格键】,在出现的数据类型弹框中选择变量类型
。
8.1.1 静态变量
易语言中的静态变量
,相当于es6中函数里的const常量,是不能修改的,而且只有在子程序里局部变量才有“静态”属性设置。用鼠标在静态变量的“静态”属性栏里点击,出现“√”符号,这样,静态变量就具有了静态属性。
静态变量与动态变量的区别
非静态变量在其所在子程序开始被执行前自动分配存储空间并初始化,在所在子程序执行完毕后自动释放所分配的存储空间,也就是说,变量的存储空间仅在其所在子程序执行过程中存在;而静态变量则保留现行内容以供下次继续使用。
静态变量与全局变量和程序集变量的区别
虽然在全局变量和程序集变量里没有设置“静态”选项,但是全局变量一旦赋值,变量数据就占据了指定的存储空间,并在程序运行期间永久存在仅在应用程序启动运行前被初始化一次,只有程序结束,存储空间才被释放。程序集也是一样,在程序集里面,程序集变量一旦赋值,只有程序集退出时,存储空间才被释放。
8.1.2 数组变量
- 数组变量,就是可以存放一组数据的变量。
- 数组变量分为“一维数组变量”和“多维数组变量”
易语言的数组下标是从1开始的
。- 具体应用详见易语言学习笔记(3)
8.2 程序集变量
- 光标移到程序集名称上回车即可添加一个程序集变量。程序集变量仅在本程序集内有效。
- 如果增加了新的窗口,就会为每一个窗口自动生成一个
窗口程序集
。窗口程序集变量
可以作用于本窗口内的所有程序,但不能作用于其它窗口程序集的子程序。 其他窗口需要引用的话,则需要用窗口对象引用:_启动窗口.程序集变量
- 程序集变量所在的程序集中的所有子程序,都可以访问该变量。相当于es6模块内的全局变量。
8.3 全局变量
- 新增全局变量:【插入】-》【全局变量】,得到一个
全局变量表
。 - 全局变量,作用域在整个
程序数据
内,相当于js
的global变量
。在该程序数据
下,每个程序集每个窗口都可以修改赋值。 - 全局变量在程序运行开始后就占用内存空间,运行结束后从内存清除。
各变量作用范围示例
9 常量
9.1 概念
常量用作存储在整个应用程序执行过程中保持不变的数据,其类型可以为数值、文本、逻辑值和日期时间。
9.2 系统常量
系统常量可在易程序的左侧小窗口中找到,用#常量名
调用
9.3 新增常量
【菜单】→【插入】→【常量】,或者用下图所示的方法
引用自定义常量与引用系统常量方法相同,都是#常量名