易语言学习笔记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
' 通过以上代码就能够实现播放的时候切换背景图片了,同样的道理也能够做到切换背景音乐
' 可以通过点击不同的按钮切换背景图片和背景音乐达到类似音乐播放器的点歌效果
' 可以进一步考虑歌词的显示功能?

易语言学习笔记——基础篇相关推荐

  1. 易语言学习笔记——命令篇

    易语言学习笔记20180711 一. 命令概述 1.     什么是命令:命令是一个功能调用的开始. 2.     命令的参数:调用一个功能方法时候输入的数据或者条件. 3.     命令的返回值:调 ...

  2. 易语言学习笔记——入门篇

    易语言学习笔记20180709 最早接触易语言是三年前的事情了,那时候是因为DNF这个游戏我才知道了易语言这个编程语言,当时对他就非常的憧憬.只不过那时候易语言的学习资源比较少,而且自身的学业比较重就 ...

  3. MySQL学习笔记-基础篇1

    MySQL 学习笔记–基础篇1 目录 MySQL 学习笔记--基础篇1 1. 数据库概述与MySQL安装 1.1 数据库概述 1.1.1 为什么要使用数据库 1.2 数据库与数据库管理系统 1.2.1 ...

  4. R语言学习笔记——入门篇:第一章-R语言介绍

    R语言 R语言学习笔记--入门篇:第一章-R语言介绍 文章目录 R语言 一.R语言简介 1.1.R语言的应用方向 1.2.R语言的特点 二.R软件的安装 2.1.Windows/Mac 2.2.Lin ...

  5. R语言学习笔记——高级篇:第十四章-主成分分析和因子分析

    R语言 R语言学习笔记--高级篇:第十四章-主成分分析和因子分析 文章目录 R语言 前言 一.R中的主成分和因子分析 二.主成分分析 2.1.判断主成分的个数 2.2.提取主成分 2.3.主成分旋转 ...

  6. R语言学习笔记——入门篇:第三章-图形初阶

    R语言 R语言学习笔记--入门篇:第三章-图形初阶 文章目录 R语言 一.使用图形 1.1.基础绘图函数:plot( ) 1.2.图形控制函数:dev( ) 补充--直方图函数:hist( ) 补充- ...

  7. Redis学习笔记①基础篇_Redis快速入门

    若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 资料链接:https://pan.baidu.com/s/1189u6u4icQYHg_9_7ovWmA( ...

  8. MySQL学习笔记-基础篇2

    MySQL学习笔记-基础篇2 目录 MySQL学习笔记-基础篇2 8.子查询 8.1 需求分析与问题解决 8.1.1 实际问题 8.1.2 子查询的基本使用 8.1.3 子查询的分类 8.2 单行子查 ...

  9. 易语言练习笔记-大叔篇(3)-加减计算器

    易语言练习笔记-大叔篇(3)-加减计算器 省约时间,直接上代码,界面设计如下: 看代码输入效果,运行效果如下: 看懂的掌声.回复.关注,感谢! 以下没时间不需要看.... 到数值( ) 调用格式: 〈 ...

最新文章

  1. 企业IM-1功能需求
  2. php 开源建站工具 -- 资料收集
  3. js字符串转数字(小数),数字转字符串
  4. 【ES6】什么是Promise?解析Promise的基本用法
  5. 【高校宿舍管理系统】第四章 创建前端项目以及完成登录页面
  6. 在32位windows 7下安装PyLucene
  7. curl 慢 不稳定_徐工起重机:龟速一样"慢"的机器,竟还有人抢着买?
  8. 畅管进销存管理系统 v6.0
  9. 杭电 1142 十字链表存储
  10. vab EXCEL 日历制作
  11. 传奇源码分析-服务器端
  12. 关于在电脑单机上面运行魔兽世界的方法
  13. 简历太空白怎么办?如何写简历
  14. 2022年R1快开门式压力容器操作最新解析及R1快开门式压力容器操作新版试题
  15. 智能合约开发 基于Hardhat(实操)
  16. 基于单片机的水壶自动加热系统_基于单片机电热水壶控制系统的设计
  17. FZU 2158 数字密码
  18. exception java_总结java的exception
  19. CVPR 2021 自动驾驶相关论文解读
  20. 「军民链智合创」科技美学出海 BitCEO比特维度全球CEO发展大会参展台北

热门文章

  1. Linux之截图快捷键
  2. 2022年信息物理系统与物联网国际会议(CPSIOT 2022)
  3. 目前工资最高的几家外包公司汇总!(2023最新版)
  4. 施耐德PLC TM218如何实现远程上传下载程序?
  5. MATLAB画折线图时自定义颜色
  6. 读取STM32F207/40x的CPU唯一ID(Unique Device ID)号方法
  7. 【NLP】自然语言处理的序列建模
  8. 直播礼物特效-快手直播礼物分析
  9. 一、Unity环境安装
  10. layui富文本编辑器(layedit)的使用