易语言学习笔记——基础篇

易语言学习笔记20180710

一、 易语言的数据类型可以分为基本数据类型和特殊数据类型

1.     其中基本数据类型分为:

①   数值型

②   逻辑型

③   日期时间型

④   文本型

⑤   字节集型

⑥   子程序指针型

2.     然后基本数据类型中的数值类型有包含了:

①   字节型

②   短整数型

③   整数型

④   长整数型

⑤   小数型

⑥   双精度小数型

3.     数据类型可以用来描述不同变量的类型或者组件属性的类型

 

第三个程序:数据类型转换

.版本 2.程序集 窗口程序集_启动窗口.子程序 __启动窗口_创建完毕.子程序 _按钮1_被单击' 转换数据类型
' 信息框 (到小数 (编辑框1.内容) > 3.14, 0, , )
信息框 (到时间 (编辑框1.内容) > 日期框1.今天, 0, , )

4.     特殊数据类型是指除易语言基本数据类型之外的其他数据类型。其中包括了:

①   通用数据类型

②   库定义数据类型

③   自定义数据类型

④   内部组件数据类型

5.     通用型数据类型:通用型数据类型仅在系统内部使用,它能够匹配所有的系统基本数据类型、库定义数据类型、自定义数据类型

6.     库定义数据类型:库定义数据类型由易语言支持库提供,用户在程序中可以直接使用,就如同是系统基本数据类型一样

7.     自定义数据类型:用户可以随时在程序中自行定义新的数据类型。但是自定义数据类型时需要设置数据类型的名称以及成员,其中数据类型成员各个属性的设置方法等同于变量设置方法

8.     内部组件数据类型:在一语言中,每一种内部组件都可以作为一种数据类型来使用

 

第四个程序:自定义数据类型

.版本 2.程序集 窗口程序集_启动窗口.子程序 _按钮1_被单击
.局部变量 人物1, 英灵信息人物1.姓名 = “001”
人物1.性别 = 真
人物1.职阶 = “saber”
人物1.斗级 = 100

第五个程序:内部组件数据类型

.版本 2.程序集 窗口程序集_启动窗口.子程序 _按钮1_被单击
.局部变量 变量1, 标签变量1 = 标签1
变量1.左边 = 10
变量1.顶边 = 10
变量1.标题 = “我是一个标签”

第六个程序:动态添加组件

.版本 2.程序集 窗口程序集_启动窗口.子程序 _按钮1_被单击
.局部变量 变量1, 按钮
.局部变量 个数, 整数型, 静态
.局部变量 n, 整数型' 复制窗口组件 (按钮1, 变量1)
' 变量1.左边 = 50 + 个数 × 按钮1.宽度
' 变量1.顶边 = 10
' 变量1.可视 = 真
' 个数 = 个数 + 1
' 结果是从左到右增加按钮,但是当窗体大小容不下的时候还是依次往后添加,思考怎么换行?
.' 如果 (个数 < 5)' 复制窗口组件 (按钮1, 变量1)' 变量1.左边 = 50 + 个数 × 按钮1.宽度' 变量1.顶边 = 10' 变量1.可视 = 真' 个数 = 个数 + 1
.否则' 复制窗口组件 (按钮1, 变量1)' 变量1.左边 = 50 + (个数 - 5) × 按钮1.宽度' 变量1.顶边 = 10 + 按钮1.高度' 变量1.可视 = 真' 个数 = 个数 + 1.如果结束
' 这样可以两行了但是不是自动换行太死了,继续想想怎么改进?
.' 如果 ((个数 + 1) % 5 ≠ 0)' 复制窗口组件 (按钮1, 变量1)' 变量1.左边 = 50 + 个数 × 按钮1.宽度' 变量1.顶边 = 10 + 到整数 (个数 ÷ 5) × 按钮1.高度' 变量1.可视 = 真' 个数 = 个数 + 1
.否则' 复制窗口组件 (按钮1, 变量1)' 变量1.左边 = 50 + 到整数 (个数 ÷ 5) × 按钮1.宽度' 变量1.顶边 = 10 + 按钮1.高度' 变量1.可视 = 真' 个数 = 个数 + 1
.如果结束
复制窗口组件 (按钮1, 变量1)
n = 到整数 (个数 ÷ 5)
变量1.左边 = 50 + (个数 - 5 × n) × 按钮1.宽度
变量1.顶边 = 10 + 到整数 (个数 ÷ 5) × 按钮1.高度
变量1.可视 = 真
个数 = 个数 + 1
' 成功实现自己想要达到的自动换行的效果

二、 易语言中的变量

1.     虽然在理论上变量是可以任意定义名称的,但是为了提高编程的效率,和便于识别方面的考虑,在定义变量的时候需要给变量起一个有实际意义的名字。

2.     定义变量名时候需要注意的要点:

①   首字符不可以是数字

②   变量名中除了“_”以外不可以使用其他的符号和标点

3.     变量的分类,变量存在几种类型,每个类型的变量都有自己的适用范围,并不是所有的变量都能在程序的任何地方对其进行访问,只有在其作用域范围内才是有效、可访问的。

4.     按照变量的作用范围可以将变量分为局部变量、程序集变量和全局变量。

①   局部变量:只能在所在的子程序中才能被调用的变量

②   程序集变量:仅在本程序集中才能被调用的变量

③   全局变量:所有程序集子程序都可以使用的变量

5.     变量还可以按照变量的属性分为静态变量和数组变量

①   静态变量:静态变量在程序退出后不会被清空

②   数组变量:存放一组数据的变量,数组变量又可以分为单维数组变量和多维数组变量

第七个程序:静态变量与非静态变量的区别

.版本 2.程序集 窗口程序集_启动窗口.子程序 _按钮1_被单击
.局部变量 静态变量, 整数型, 静态
.局部变量 非静态变量, 整数型编辑框1.内容 = 编辑框1.内容 + “当前静态变量的值为:” + 到文本 (静态变量) + #换行符
编辑框1.内容 = 编辑框1.内容 + “当前非 静态变量的值为:” + 到文本 (非静态变量) + #换行符
静态变量 = 静态变量 + 1
非静态变量 = 非静态变量 + 1.子程序 __启动窗口_创建完毕

第八个程序:变量初始值赋予

.版本 2.程序集 窗口程序集_启动窗口.子程序 _按钮1_被单击
.局部变量 字节型变量, 字节型
.局部变量 短整数型变量, 短整数型
.局部变量 整数型变量, 整数型
.局部变量 长整数型变量, 长整数型
.局部变量 小数型变量, 小数型
.局部变量 双精度小数型变量, 双精度小数型
.局部变量 逻辑型变量, 逻辑型
.局部变量 日期时间型变量, 日期时间型
.局部变量 文本型变量, 文本型
.局部变量 字节集变量, 字节集' 给变量赋值
字节型变量 = 255
短整数型变量 = 32767
整数型变量 = 65535
长整数型变量 = 58736232332
小数型变量 = 3.14
双精度小数型变量 = 3.141592654
逻辑型变量 = 真
日期时间型变量 = [2018年7月10日]
文本型变量 = “易语言学习”
字节集变量 = { 255, 255, 255, 0 }编辑框1.内容 = 编辑框1.内容 + “字节型变量初始值:” + 到文本 (字节型变量) + #换行符
编辑框1.内容 = 编辑框1.内容 + “短整数型变量初始值:” + 到文本 (短整数型变量) + #换行符
编辑框1.内容 = 编辑框1.内容 + “长整数型变量初始值:” + 到文本 (长整数型变量) + #换行符
编辑框1.内容 = 编辑框1.内容 + “整数型变量初始值:” + 到文本 (整数型变量) + #换行符
编辑框1.内容 = 编辑框1.内容 + “小数型变量初始值:” + 到文本 (小数型变量) + #换行符
编辑框1.内容 = 编辑框1.内容 + “双精度小数型变量初始值:” + 到文本 (双精度小数型变量) + #换行符
编辑框1.内容 = 编辑框1.内容 + “逻辑型变量初始值:” + 到文本 (逻辑型变量) + #换行符
编辑框1.内容 = 编辑框1.内容 + “日期时间型变量初始值:” + 到文本 (日期时间型变量) + #换行符
编辑框1.内容 = 编辑框1.内容 + “文本型变量初始值:” + 文本型变量 + #换行符
编辑框1.内容 = 编辑框1.内容 + “字节集变量初始值:” + 到文本 (字节集变量) + #换行符

三、 易语言的资源表

1.     便捷的导入图片资源和音频资源,其中音频资源只支持.mid和.wav格式

第九个程序:资源表的导入导出

.版本 2.程序集 窗口程序集_启动窗口.子程序 __启动窗口_创建完毕' _启动窗口.底图 = #图片1
' _启动窗口.底图方式 = 3
' 成员属性“底图方式”所在数据类型为“窗口”,英文名称为“BackPicMode”,类型为“整数型(int)”。
' 如果设定了底图,本属性指定窗口背景上底图的显示方式。
' 可供选择的属性值:
' 0. 图片居左上
' 1. 图片平铺
' 2. 图片居中
' 3. 缩放图片
写到文件 (“F:\易语言练习\契约.JPG”, #图片1)

注意导入文件的格式必须和导入的一样,比如导入的是JPG导出的也必须是JPG

四、 易语言中的运算符

1.     在易语言中根据预算符的性质可以分为算术运算符、比较(关系)运算符、逻辑运算符和赋值运算符。


2.     易语言运算符优先级:


五、 易语言中的子程序

1.     事件子程序:对应组件所发生事件的子程序,称为事件子程序

第十个程序:子程序

.版本 2.程序集 窗口程序集_启动窗口.子程序 _按钮1_被双击, 逻辑型
.参数 横向位置, 整数型
.参数 纵向位置, 整数型
.参数 功能键状态, 整数型信息框(“当按钮被双击时候我就出来了”,0,+#信息图标,“”)

2.     用户自定义子程序:

①   子程序参数的“参考”属性:

表示子程序的该参数在传递数据的时候是否为传递指向数据的地址

第十一个程序:子程序的参数的“参考”属性

.版本 2.程序集 窗口程序集_启动窗口.子程序 _按钮1_被单击
.局部变量 变量1, 整数型
.局部变量 变量2, 整数型参数赋值 (变量1, 变量2)
编辑框1.加入文本 (“参考参数中的变量:” + 到文本 (变量1) + #换行符, “非参考参数属性中的变量:” + 到文本 (变量2) + #换行符).子程序 参数赋值
.参数 参考参数, 整数型, 参考
.参数 非参考参数, 整数型参考参数 = 100
非参考参数 = 100
'不知道为什么这里的换行符不起作用?

②   子程序参数的“可空”属性

第十二个程序:子程序参数的“可空”属性

.版本 2.程序集 窗口程序集_启动窗口.子程序 __启动窗口_创建完毕.子程序 子程序取得随机密码, 文本型
.参数 参数_位数, 整数型
.参数 参数_模式, 整数型, 可空
.局部变量 局部_变量, 整数型
.局部变量 局部_文本, 文本型置随机数种子 ()
.判断开始 (参数_模式 = 1).计次循环首 (参数_位数, 局部_变量)局部_文本 = 局部_文本 + 字符 (取随机数 (48, 57)).计次循环尾 ()
.判断 (参数_模式 = 2).计次循环首 (参数_位数, 局部_变量)局部_文本 = 局部_文本 + 多项选择 (取随机数 (1, 2), 字符 (取随机数 (65, 65 + 25)), 字符 (取随机数 (97, 97 + 25))).计次循环尾 ()
.判断 (参数_模式 = 3).计次循环首 (参数_位数, 局部_变量)局部_文本 = 局部_文本 + 多项选择 (取随机数 (1, 3), 字符 (取随机数 (65, 65 + 25)), 字符 (取随机数 (97, 97 + 25)), 字符 (取随机数 (48, 57))).计次循环尾 ()
.判断 (是否为空 (参数_模式) = 真)局部_文本 = “666”
.默认.判断结束
返回 (局部_文本).子程序 _按钮默认_被单击编辑框1.内容 = 子程序取得随机密码 (到整数 (编辑框2.内容), ).子程序 _按钮数字_被单击编辑框1.内容 = 子程序取得随机密码 (到整数 (编辑框2.内容), 1).子程序 _按钮字母_被单击编辑框1.内容 = 子程序取得随机密码 (到整数 (编辑框2.内容), 2).子程序 _按钮混合_被单击编辑框1.内容 = 子程序取得随机密码 (到整数 (编辑框2.内容), 3)

③   子程序参数的“数组”属性

第十三个程序:子程序参数的“数组”属性

.版本 2.程序集 窗口程序集_启动窗口.子程序 __启动窗口_创建完毕.子程序 子程序_数组排序
.参数 参数_数组, 整数型, 数组
.局部变量 局部_计次1, 整数型
.局部变量 局部_计次2, 整数型
.局部变量 局部_临时存放, 整数型.计次循环首 (取数组成员数 (参数_数组), 局部_计次1).计次循环首 (取数组成员数 (参数_数组), 局部_计次2).如果真 (参数_数组 [局部_计次1] < 参数_数组 [局部_计次2])局部_临时存放 = 参数_数组 [局部_计次2]参数_数组 [局部_计次2] = 参数_数组 [局部_计次1]参数_数组 [局部_计次1] = 局部_临时存放.如果真结束.计次循环尾 ()
.计次循环尾 ().子程序 _按钮_数组排序_被单击
.局部变量 数组, 整数型, , "0"
.局部变量 局部_计次, 整数型数组 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }
子程序_数组排序 (数组)
编辑框1.内容 = “”
.计次循环首 (取数组成员数 (数组), 局部_计次)编辑框1.内容 = 编辑框1.内容 + 到文本 (数组 [局部_计次]) + “,”
.计次循环尾 ()

3.     子程序的递归调用:

一般情况下子程序都是调用其他程序的,但是也存在子程序自己调用自己的情况,而这种特殊的调用就被称为递归。

一般来说递归分两种方式:

①   一种是在调用一个子程序的过程中,又调用了该子程序自身,这种方式称为直接递归 ;

②   另一种是在调用一个子程序(程序1)的过程中,该子程序调用了另外一个子程序(程序2),而在子程序2中又调用了子程序1,这种方式称为间接递归。

4.     使用递归方法的注意点:

①   编程中使用递归方法解决 问题对内存的开销比较大

②   使用递归调用必须有一个明确的递归结束条件,无条件的递归调用将会造成死循环

第十四个程序:递归调用求阶乘

.版本 2.程序集 窗口程序集_启动窗口.子程序 __启动窗口_创建完毕.子程序 求阶乘, 长整数型
.参数 n, 整数型.如果 (n = 0)返回 (1)
.否则返回 (n × 求阶乘 (n - 1))
.如果结束.子程序 _按钮1_被单击标签2.标题 = 编辑框1.内容 + “的阶乘等于:” + 到文本 (求阶乘 (到整数 (编辑框1.内容)))

第十五个程序:播放器二

.版本 2.程序集 窗口程序集_启动窗口.子程序 _按钮1_被单击' 播放的音乐需要和程序文件在同一个文件夹下
' 播放MP3 (1, “藍井エイル - 流星.mp3”)
' 尝试不在同一文件夹下要如何处理 ?
' 增加完全路径试试
播放MP3 (1, “F:\CloudMusic\Ace组合 - 楚地无歌.mp3”)
' 尝试成功!通过增加全路径也能够实现跨文件夹的mp3播放' 尝试不通过修改源代码就能够播放其它的音乐?
' 暂时没尝试出来。。。。' 上面是之前写的我的播放器一的代码,现在对我的播放器一进行升级
_启动窗口.背景音乐 = {  }
_启动窗口.底图 = #图片2.子程序 __启动窗口_创建完毕_启动窗口.底图 = #图片1
' 通过以上代码就能够实现播放的时候切换背景图片了,同样的道理也能够做到切换背景音乐
' 可以通过点击不同的按钮切换背景图片和背景音乐达到类似音乐播放器的点歌效果
' 可以进一步考虑歌词的显示功能?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/253353.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

易语言简介

易语言(EPL)是一门以中文作为程序代码编程语言,其以“易”著称,创始人为吴涛。易语言早期版本的名字为E语言。其最早的版本的发布可追溯至2000年9月11日。创造易语言的初衷是进行用中文来编写程序的实践,方便中国人以中…

“易语言.飞扬”十分钟入门教程

“易语言.飞扬”十分钟入门教程 作者:liigo 2007.1.1 原文链接:http://blog.csdn.net/liigo/archive/2007/01/01/1472077.aspx 转载必须注明出处:http://blog.csdn.net/liigo 第 1 分钟:序曲 第 2 分钟:“易语言.飞…

《MYSQL必知必会》读书笔记1

目录 行 主键 MYSQL工具 使用MYSQL 连接 检索数据 检索(SELECT) 限制结果(LIMIT) 排序检索(ORDER BY) 过滤数据(WHERE) 过滤数据(AND、OR) 通配符…

【SpringCloud】SpringAMQP

文章目录 1、AMQP2、基本消息模型队列3、WorkQueue模型4、发布订阅模型5、发布订阅-Fanout Exchange6、发布订阅-DirectExchange7、发布订阅-TopicExchange 1、AMQP Advanced Message Queuing Protocol,高级消息队列协议。是用于在应用程序之间传递业务消息的开放标…

黑马Redis视频教程实战篇(一)

目录 一、短信登录 1.1、导入黑马点评项目 (1)导入黑马点评sql脚本 (2)导入后端项目 (3)导入前端项目 1.2、基于Session实现登录流程 1.3 、实现发送短信验证码功能 1.4 、实现登录拦截功能 1.5 、隐…

创建第一个.NET MAUI应用

1.打开VS2022,创建新项目,并选择.NET MAUI应用,然后点击下一步 2.输入项目相关配置,然后点击下一步 3. 选择框架版本,然后点击创建 4.项目创建成功后会自动打开概述页 5.平台框架切换 6.启动应用,如有下图提示,启动开发者模式 成功启动应用 7.修改应用 修改MainPage.xml如下图…

阿里直播平台面临的技术挑战

大流量、高并发场景下,大型直播的技术挑战一般体现在如下几个方面: 视频流的处理、分发 播放质量保障 视频可用性监控 超大直播间实时弹幕及聊天互动 高性能消息通道 内容控制,如算法鉴黄、文本过滤 系统可用性、稳定性保障 本文将针对其中的…

龙珠直播php,斗鱼、全民TV、龙珠等直播平台排行榜 看视频直播发展趋势

从2015年下半年起,视频直播市场便显露出了火爆之势。除了越来越多的人喜欢观看、愿意参与直播之外,直播类 App也如雨后春笋般不断涌出。 而2016年,视频直播领域更是出现了火爆场面,尤其是刚刚过去的一个月:先是卷土重来…

短视频和直播,哪个会火得更久呢

短视频和直播,哪个会火得更久呢 曾经,电视剧和综艺节目是人们在工作之余放松的主要方式,目前越来越多的电视剧和网剧依靠着当红明星、大 IP 能够在前期获得大量的热度,但在播出之后收视率往往不理想。随着时间的增长,…

怎么创建直播平台

现在直播应用非常火爆,它以生动直观的方式向用户传达最真实的现场信息,受到广大用户的普遍欢迎。小编作为一名技术人员,经常开发各种直播平台,(娱乐直播、游戏直播、教育直播、财经直播等)下面我把自己积累…

关于linux的ssh(出现的问题以及ubuntu的ssh配置和ssh连接超时问题)

目录 Ubuntu进行ssh连接 关于ssh报错排错 备注:防火墙和selinux可能对ssh连接存在限制,但是我在操作的时候并没对我照成影响 查看selinux状态 ssh_config和sshd_config的区别 Ubuntu进行ssh连接 1.首先需要安装SSH服务器,在ubuntu终端输…

matlab机器人画圆轨迹规划

在这里插入图片描述 function Untitled()clear;clc; L(1)Link([0 0.15055 0 pi/2]); L(2)Link([0 -0.115 0.246 0]); L(3)Link([0 0.1163 0.190 0]); L(4)Link([0 -0.1175 0 pi/2]); L(5)Link([0 0.1175 0 -pi/2]); L(6)Link([0 0.105 0 0]);ZU3SerialLink(L,name,JAKA Z…

Ps制造图标

(作者:翟正兴,撰写时间:2019年6月17日) 首先我们打开ps新建一个文档 ,然后在文档里面用椭圆工具画一个圆出来,画圆的时候把填充禁掉,把描边大小调成30像素首先我们打开ps新建一个文档…

怎么用PS软件图层样式制作图标

1. 2.圆角60px 3. 4.添加图层样式【渐变叠加】 5. 添加【斜面和浮雕】 6. 7.再画一个圆角矩形并添加【图层样式】【渐变叠加】【描边】 8.画圆再次添加【图层样式】【渐变叠加】【内阴影】 9.画圆形并填充黑色【图层样式】【描边】 10. 11.复制圆形最后得到效果图 编辑&#xf…

chatgpt赋能python:Python中最大公约数的函数介绍

Python中最大公约数的函数介绍 在数学中,最大公约数(GCD)是两个或多个整数的最大公约数。 Python是一种高级编程语言,具有内置的GCD函数。在本篇文章中,我们将介绍Python中的最大公约数函数,以及如何使用它…

Python OpenCV画圆

Python OpenCV画圆 PS: 也是从网上各个帖子中学习的Python,因此代码的格式以及内容有粘贴网上其他大神的代码,如有侵权请告知删除 在图片中检测圆,并进行标注 #!/usr/bin/python # -*- coding: UTF-8 -*-import cv2# 加载图片 img cv2.im…

PS-切图

ps学习 1.改设置 新建ctrN ,网页默认选web大小宽度1920 移动工具:设置选择图层 选择自动选择或者按Ctrl鼠标左键可选中 视图:勾标尺显示智能参考线 关掉一些窗口,只留下图层、历史、信息、字符 改信息窗口的面板选项: 改编辑…

C语言画圆(详细解释易懂)

代码 #include<iostream> #include<cmath> using namespace std; int main() { for(double y10;y>-10;y-1){for(int i0;i<10;i) cout<<" ";double x2.5*(10-sqrt(100-y*y)),t;for(t0;t<x;t1) cout<<" ";cout<<…

中点画圆算法----计算机图形学

圆的对称特性&#xff1a; 一个八分圆上的点可以映射为其余七个八分圆的点 利用圆的对称性可以减少计算量&#xff0c;只需要计算出一个八分之一圆上需要画的点&#xff0c;就可以映射出整个圆 中点画圆算法&#xff1a; &#xff08;对于原点为(xc,yc)的圆&#xff0c;假定圆…

Android 自定义View 画圆(奥运五环)

效果图 前言 你会画画吗&#xff1f;你会写代码吗&#xff1f;你会用代码画画吗&#xff1f; 正文 自定义View&#xff0c;实际开发过程中&#xff0c;因为涉及用户体验的时候&#xff0c;UI通常会弄一些骚操作出来&#xff0c;这个时候就有两个选择&#xff0c;你是用GIF…