易语言教程

更新时间:2024-03-21 11:19:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第6章 深入学习变量 在实际编程过程中,经常用变量交换临时的数据或资源,前面已经了解了变量的概念,这一章来学习静态变量、变量数组及动态管理变量。 本章学习内容: 6.1 认识静态变量 6.5 动态管理数组变量 6.2 静态变量的应用 6.6 定时提醒小程序练习 6.3 变量的命令操作 6.7 课后练习 6.4 变量数组的定义

合理的运用变量在编程过程中,能简化或优化程序代码运行的效率。全 局变量、程序集变量或局部变量,建立时默认为非静态变量,只有在子程序 里局部变量才有“静态”属性设置。

116

6.1 认识静态变量

117

在子程序里面建立两个变量。分别命名为“静态变量”和“非静态变量”,用鼠标在静态变量的“静态”属性栏里点击,出现“√”符号,这样,静态变量就具有了静态属性。 “静态”属性栏里没有“√”符号,说明该变量为非静态变量。 1.静态变量与动态变量的区别: 非静态变量在其所在子程序开始被执行前自动分配存储空间并初始化,在所在子程序执行完毕后自动释放所分配的存储空间,也就是说,变量的存储空间仅在其所在子程序执行过程中存在;而静态变量则保留现行内容以供下次继续使用。 2.全局变量和程序集变量具有“静态”属性吗? 虽然在全局变量和程序集变量里没有设置“静态”选项,但是全局变量一旦赋值,变量数据就占据了指定的存储空间,并在程序运行期间永久存在仅在应用程序启动运行前被初始化一次,只有程序结束,存储空间才被释放。程序集也是一样,在程序集里面,程序集变量一旦赋值,只有程序集退出时,存储空间才被释放。

6.2 静态变量应用

下面跟着实例来演示静态变量的应用。 ①新建一个易语言程序,加入一个画板和一个按钮组件,更改画板的“边框”属性为“凹入式”,“画板背景色”属性为白色。 ②双击按钮进入程序设计界面,在“_按钮1_被单击”子程序里面建立两个整数型变量,分别命名为“静态变量”和“非静态变量”,在静态变量的“静态”属性栏里用鼠标点击,出现“√”符号,使其具有“静态”属性。 118

③顺序输入以下程序代码。 画板1.滚动写行 (静态变量) 画板1.滚动写行 (非静态变量) 静态变量 = 静态变量 + 1 非静态变量 = 非静态变量 + 1 ④按F5运行程序,连续单击3次按钮。在画板得出如下结果。 0 0 1 0 2 0 从结果可以看出,整数型静态变量和非静态变量的初始化值都是119 0,子程序结束后非静态变量的数据清空,而静态变量的数据依旧保留。

6.3 变量的命令操作

变量建立好并指定了数据类型后,如果不进行赋值操作,变量会默认初始化数值。 在系统核心支持库里面有变量两个操作命令。 输入“赋值”命令按回车,代码行会变为“??=??”,在易语言里面赋值操作的符号是“=”,后者数据赋予给前者。 可以直接输入变量名加“=”加变量值。如: 变量1=100

120

加入文本型变量3,输入“连续赋值”命令, 第一个参数是用作赋于的值或资源,第二个参数是被赋值的变量或变量数组,可以被重复添加。 连续赋值 (“全中文全可视易语言”, 变量2, 变量3) 6.4

运行程序后,变量2和变量3的值都等于“全 中文全可视易语言”。 这里不可以用连续变量数组的定义 赋值命令给变量1和变量2赋值,因为它们是不同类型的变量。 请打开上一章所完成的程序,将“_按钮1_被单击”子程序中的内容全 部删除,然后进行以下输入操作:

①加入一个名为单维变量的整数型变量,在其数组属性中输入“3”,表明此变量为一个单维数组,共有 3 个成员。

121 ②加入一个名为多维变量的整数型变量,在其数组属性中输入

③顺序输入下列语句行: 单维变量 [1] = 100 多维变量 [2] [1] = 200 画板1.滚动写行 (单维变量 [1], 多维变量 [2] [1]) 画板1.滚动写行 (多维变量 [3]) 多维变量 [4] = 300 画板1.滚动写行 (多维变量 [2] [2]) ④按F5运行程序,连续单击按钮。在画板得出如下结果。 100 200 200 300 通过上面的程序可以知道: 数组变量可以有多个成员变量,每个成员变量等同于一个单独变量。各成员变量的引用方法为: 数组变量名 + “[” + 从 1 开始的成员位置 + “]” + ...... 譬如上面的单维变量,它有“单维变量 [1]”、“单维变量 [2] ”、122 “单维变量 [3] ”3个成员。 多维变量有“多维变量 [1] [1] ”、“多维变量 [1] [2] ”、“多

该表是将经过上述运算后,各变量变更后的数值。 变量名 单维变量 [1] 单维变量 [2] 单维变量 [3] 多维变量 [1] [1] 多维变量 [1] [2] 多维变量 [2] [1] 多维变量 [2] [2]

初始值 0 0 0 0 0 0 0

运行后的值 100 0 0 0 0 200 300

多维变量的成员也可以使用单维的方式来引用。譬如上面的“多维变量 [3]”等同于“多维变量 [2] [1] ”,“多维变量[4] ”等同于“多维变量 [2] [2] ”。此方法可用来遍历数组的所有成员。 请继续输入进行以下操作: (1)加入一个名称为变量1的整数型变量。 (2)添加以下程序代码。 计次循环首 (取数组成员数 (多维变量), 变量1) 画板1.滚动写行 (多维变量[变量1]) 计次循环尾 () 123

从运行结果可以看出,此段程序可以顺序显示出多维变量中所有成员的内容。其中前4行是第一次的运行结果,后4行是刚才输入新程序后的运行结果,

再试一试将上面添加的程序段中的多维变量改为单维变量。 计次循环首 (取数组成员数 (单维变量), 变量1) 画板1.滚动写行 (单维变量[变量1]) 计次循环尾 () 运行后查看结果。 124

前面已说过了数组变量的每个成员可以当成单个变量应用,但是每个成员的数据类型必须相同。如果数组变量是整数型,里面对应的每个成员也必须是整数型,否则变量赋值时会提示错误。

6.5 动态管理数组变量

125 下面将继续讲述如何动态管理数组变量,它是易语言的高级特性之一。 在系统核心支持库下有一组数组操作命令,我们通过一个简单的例子来了解它们。 ①在窗体上创建一个按钮组件。把其宽度拉长,更改窗口标题为“动态显示文字”。

②分别建立文本变量1和整数型变量2,在变量1的数组属性里输入0,请继续输入进行代码: 重定义数组 (变量1, 假,7) //把变量1的成员数重定义为7 变量1={ “中”, “文”, “编”, “程”, “易”, “语”, “言” } //赋值给变量1每个成员对应的文本 按钮1.标题=“” //清除按钮1的标题文字 计次循环首 (取数组成员数 (变量1), 变量2) //循环次数为变量1的成员数 按钮1.标题 = 按钮1.标题 + 到文本 (变量1 [变量2]) // 取变量1每个成员文字给按钮1的标题 延时(300) //每次取变量1成员内容间隔的时间 计次循环尾 () 按F5运行程序,点击按钮1,按钮的标题会动态显示“中-文-编-程-易-语-言”。

126

下面删除代码段: 重定义数组 (变量1, 假, 7) 再运行程序,发现结果一样,所以得出结论: 变量1 = { “中”, “文”, “编”, “程”, “易”, “语”, “言” } 这种赋值给变量1的操作,可以重新改变变量成员数目,并清除原先所有数据。原来成员数为0个成员,执行后改为7个成员。 ③再清除循环的一组代码,添加一个新的文本型变量3,数组成员为0,继续输入: 变量3=变量1 ④运行后,弹出信息框,得出“7”个变量3的成员数,也就是说明:变量3=变量1 这行代码把变量1的成员数及其内容同时赋给变量3,等同于:“复制数组”命令: 复制数组(变量1,变量3)。 127

⑤用Ctrl+回车键把信息框代码行置为草稿,接着输入以下代码: 重定义数组 (变量3, 真, 3, 4) //把单维变量3重定义为二维变量 信息框 (取数组下标 (变量3, 1), 0, ) //得出变量3第一维的成员数 运行后得出变量3第一维的成员数为3;第二维的成员数为4。

6.6 定时提醒小程序练习

变量数组是编程中临时存储多个数据的“小仓库”,其类型可以是整数、文本、字节集等等,在实际编程中会常常读成员内容时,遇到超出下标的错误,好多出现在循环代码中,需注意! 128

下面就来练习本节的定时提醒小程序。 ①在新建的易程序窗口上添加如图所示的组件,调整位置大小并更改标题内容。 ②选住时钟组件,在属性面板上更改“时钟周期”为1000,单位是毫秒,1秒=1000毫秒,目的是每1秒都执行对应的周期事件。 129 ③双击标题为“加入提示”的按钮,进入代码编写窗口。新建 “提示内容”、“提示时间”两个文本型和“变量1”整数型程序集变量,并设置“提示时间”变量的数组属

④在“_按钮1_被单击” 子程序下输入: 提示内容 = 编辑框1.内容 提示时间 = 分割文本 (编辑框2.内容, “:”, ) ⑤切换到时钟1属性面板,点击独有的周期事件,进入“_时钟1_周期事件”子 程序代码编写窗口,也可以直接用双击时钟1组件进入“_时钟1_周期事件”子程 序代码编写窗口。输入以下代码: 上面的命令代码是取现在时间的小时部 分和分钟部分与指定提示的时间判断,相同则 执行信息框提示。变量1的目的是控制一分钟 只提示一次,当然你也可以让程序提示两次或 多次。只需更改“如果真 (变量1 % 10 = 0)”代码,等于每间隔10秒 提示一次。 130

⑥按钮F5运行程序,立刻会弹出错误信息,问题在哪里呢?原来“提示时间”数组变量的成员默认是0,判断提示时间[1]当然出错了。 先把时钟1的时钟周期设为0,再“_按钮1.被单击”子程序中添加代码,判断分割后的提示时间数组的成员数,如果等于2,就分配时钟1的时钟周期为1000,不等于2还设为0。 如果 (取数组成员数 (提示时间) = 2) 时钟1.时钟周期 = 1000 时钟1.时钟周期 = 0 动态赋予时钟1的时钟周期可以很好的节约系统资源。 时钟周期事件是经常用到的即时判断条件的事件,但一直会占用系统资源,不需要时时钟周期最好设为0。 131

⑦按钮F5运行程序,在提示文本后面编辑框输入一段文字,“我爱易语言!”,输入提示时间,格式为“小时:分钟”,因为程序是分割“:”到提示时间数组,点击“加入提示”按纽,程序到指定时间会谈出提示的内容。 上面提示程序的原理就是输入时间数字,以“:”分割出小时和分钟与实际时间判断,相符则执行提示信息。如果输入带“:”符号的数字是分解不成功的。可以在_按钮1_被单击子程序里加入如下代码: 如果真 (取数组成员数 (提示时间) ≠ 2) 提示时间 = 分割文本 (编辑框2.内容, “:”, )

132

6.9 课后练习

133

(1)说一说静态变量与动态变量的区别,并利用时钟组件制作一个秒表记次程序。

(2)练习把单维数组变量的内容改为多维数组变量,并保留变量内以前的数据。 (3)根据定时提醒小程序的原理,练习制作一个定时关机程序。 134

135

本文来源:https://www.bwwdw.com/article/6gw8.html

Top