《十天学会易语言_易语言教程_第⑥章_深入学习变量电子教案.doc》由会员分享,可在线阅读,更多相关《十天学会易语言_易语言教程_第⑥章_深入学习变量电子教案.doc(21页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Good is good, but better carries it.精益求精,善益求善。十天学会易语言_易语言教程_第章_深入学习变量-第6章深入学习变量在实际编程过程中,经常用变量交换临时的数据或资源,前面已经了解了变量的概念,这一章来学习静态变量、变量数组及动态管理变量。本章学习内容:6.1认识静态变量6.5动态管理数组变量6.2静态变量的应用6.6定时提醒小程序练习6.3变量的命令操作6.7课后练习6.4变量数组的定义合理的运用变量在编程过程中,能简化或优化程序代码运行的效率。全局变量、程序集变量或局部变量,建立时默认为非静态变量,只有在子程序里局部变量才有“静态”属性设置。6.1认
2、识静态变量在子程序里面建立两个变量。分别命名为“静态变量”和“非静态变量”,用鼠标在静态变量的“静态”属性栏里点击,出现“”符号,这样,静态变量就具有了静态属性。“静态”属性栏里没有“”符号,说明该变量为非静态变量。1静态变量与动态变量的区别:非静态变量在其所在子程序开始被执行前自动分配存储空间并初始化,在所在子程序执行完毕后自动释放所分配的存储空间,也就是说,变量的存储空间仅在其所在子程序执行过程中存在;而静态变量则保留现行内容以供下次继续使用。2全局变量和程序集变量具有“静态”属性吗?虽然在全局变量和程序集变量里没有设置“静态”选项,但是全局变量一旦赋值,变量数据就占据了指定的存储空间,并
3、在程序运行期间永久存在仅在应用程序启动运行前被初始化一次,只有程序结束,存储空间才被释放。程序集也是一样,在程序集里面,程序集变量一旦赋值,只有程序集退出时,存储空间才被释放。6.2静态变量应用下面跟着实例来演示静态变量的应用。新建一个易语言程序,加入一个画板和一个按钮组件,更改画板的“边框”属性为“凹入式”,“画板背景色”属性为白色。双击按钮进入程序设计界面,在“_按钮1_被单击”子程序里面建立两个整数型变量,分别命名为“静态变量”和“非静态变量”,在静态变量的“静态”属性栏里用鼠标点击,出现“”符号,使其具有“静态”属性。顺序输入以下程序代码。画板1.滚动写行(“静态变量:”到文本(静态变
4、量)画板1.滚动写行(“非静态变量:”到文本(非静态变量)静态变量静态变量1非静态变量非静态变量1按“F5键”运行程序,连续单击3次按钮。两个变量的值在画板中输出如下结果。001020从结果可以看出,整数型静态变量和非静态变量的初始化值都是0,子程序结束后非静态变量的数据清空,而静态变量的数据依旧保留。6.3变量的命令操作变量建立好并指定了数据类型后,如果不进行赋值操作,变量会默认初始化数值。在系统核心支持库里面有变量两个操作命令。输入“赋值”命令按下光标键,代码行会变为“=”,在易语言里面赋值操作的符号是“=”,后者数据赋予前者。可以直接输入变量名加“=”加变量值。如:变量1100变量2“易
5、语言”加入文本型变量3,输入“连续赋值()”命令,第一个参数是用作赋于的值或资源,第二个参数是被赋值的变量或变量数组,可以被重复添加。连续赋值(“全中文全可视易语言”,变量2,变量3)运行程序后,变量2和变量3的值都等于“全中文全可视易语言”。这里不可以用连续赋值命令给“变量1”和“变量2”赋值,因为它们是不同类型的变量。6.4变量数组的定义请打开上一章所完成的程序,将“_按钮1_被单击”子程序中的内容全部删除,然后进行以下输入操作:加入一个名为“单维变量”的整数型变量,在其数组属性中输入“3”,表明此变量为一个单维数组,共有3个成员。加入一个名为“多维变量”的整数型变量,在其数组属性中输入“
6、2,2”,表明此变量为一个二维数组,共有4(22的结果)个成员。顺序输入下列语句行:单维变量1100多维变量21到文本(200)画板1.滚动写行(“单维变量1:”到文本(单维变量1),“多维变量21:”多维变量21)画板1.滚动写行(“多维变量3:”多维变量3)多维变量4到文本(300)画板1.滚动写行(“多维变量22:”多维变量22)按“F5键”运行程序,连续单击按钮。在画板得出如下结果。100200200300通过上面的程序可以知道:数组变量可以有多个成员变量,每个成员变量等同于一个单独变量。各成员变量的引用方法为:数组变量名+“”+从1开始的成员位置+“”+.譬如上面的单维变量,它有“单
7、维变量1”、“单维变量2”、“单维变量3”3个成员。多维变量有“多维变量11”、“多维变量12”、“多维变量21”、“多维变量22”四个成员。该表是将经过上述运算后,各变量成员变更后的数值。变量名初始值运行后的值单维变量10100单维变量200单维变量300多维变量1100多维变量1200多维变量210200多维变量220300多维变量的成员也可以使用单维的方式来引用。例如上面的“多维变量3”等同于“多维变量21”,“多维变量4”等同于“多维变量22”。此方法可用来遍历数组的所有成员。请继续输入进行以下操作:(1)加入一个名称为变量1的整数型变量。(2)添加以下程序代码。.计次循环首(取数组成
8、员数(多维变量),变量1)画板1.滚动写行(多维变量变量1).计次循环尾()从运行结果可以看出,此段程序可以顺序显示出多维变量中所有成员的内容。其中前4行是第一次的运行结果,后4行是刚才输入新程序后的运行结果,再试一试将上面添加的程序段中的多维变量改为单维变量。.计次循环首(取数组成员数(单维变量),变量1)画板1.滚动写行(“单维变量”“”到文本(变量1)“:”到文本(单维变量变量1).计次循环尾()运行后查看结果。前面已说过了数组变量的每个成员可以当成单个变量应用,但是每个成员的数据类型必须相同。如果数组变量是整数型,里面对应的每个成员也必须是整数型,否则变量赋值时会提示错误。6.5动态管
9、理数组变量下面将继续讲述如何动态管理数组变量,它是易语言的高级特性之一。在系统核心支持库下有一组数组操作命令,我们通过一个简单的例子来了解它们。在窗体上创建一个按钮组件。把其宽度拉长,更改窗口标题为“动态显示文字”。分别建立文本变量1和整数型变量2,在变量1的数组属性里输入0,请继续输入进行代码:重定义数组(变量1,假,7)把变量1的成员数重定义为7变量1“中”,“文”,“编”,“程”,“易”,“语”,“言”赋值给变量1每个成员对应的文本按钮1.标题“”清除按钮1的标题文字.计次循环首(取数组成员数(变量1),变量2)循环次数为变量1的成员数按钮1.标题按钮1.标题到文本(变量1变量2)取变量
10、1每个成员文字给按钮1的标题延时(300)每次取变量1成员内容间隔的时间.计次循环尾()按“F5键”运行程序,点击“按钮1”,按钮的标题会动态显示“中-文-编-程-易-语-言”。下面删除代码段:重定义数组(变量1,假,7)再运行程序,发现结果一样,所以得出结论:变量1“中”,“文”,“编”,“程”,“易”,“语”,“言”这种赋值给变量1的操作,可以重新改变变量成员数目,并清除原先所有数据。原来成员数为0个成员,执行后改为7个成员。再清除循环的一组代码,添加一个新的文本型变量3,数组成员为0,继续输入:变量3变量1信息框(取数组成员数(变量3),0,)运行后,弹出信息框,得出变量2的成员数“7”
11、,也就是说明:变量3变量1这行代码把变量1的成员数及其内容同时赋给变量3,等同于:“复制数组()”命令:复制数组(变量1,变量3)。把信息框代码行置为草稿,接着输入以下代码:重定义数组(变量2,真,3,4)把单维变量2重定义为二维变量信息框(取数组下标(变量2,1),0,)得出变量2第一维的成员数信息框(取数组下标(变量2,2),0,)得出变量2第二维的成员数运行后得出变量3第一维的成员数为3;第二维的成员数为4。6.6定时提醒小程序练习变量数组是编程中临时存储多个数据的“小仓库”,其类型可以是整数、文本、字节集等等,在实际编程中会常常读成员内容时,遇到超出下标的错误,好多出现在循环代码中,需
12、注意!下面就来练习本节的定时提醒小程序。在新建的易程序窗口上添加如图所示的组件,调整位置大小并更改标题内容。选中时钟组件,在属性面板上更改“时钟周期”为1000,单位是毫秒,1秒=1000毫秒,目的是每1秒都执行对应的周期事件。双击标题为“加入提示”的按钮,进入代码编写窗口。新建“提示内容”、“提示时间”两个文本型和“变量1”整数型程序集变量,并设置“提示时间”变量的数组属性为0个成员。在“_按钮1_被单击”子程序下输入:提示内容编辑框1.内容提示时间分割文本(编辑框2.内容,“:”,)切换到时钟1属性面板,点击独有的周期事件,进入“_时钟1_周期事件”子程序代码编写窗口,也可以直接用双击时钟
13、1组件进入“_时钟1_周期事件”子程序代码编写窗口。输入以下代码:上面的命令代码是取现在时间的小时部分和分钟部分与指定提示的时间判断,相同则执行信息框提示。变量1的目的是控制一分钟只提示一次,当然你也可以让程序提示两次或多次。只需更改“如果真(变量1100)”代码,等于每间隔10秒提示一次。按“F5键”运行程序,立刻会弹出错误信息,问题在哪里呢?原来“提示时间”数组变量的成员默认是0,判断提示时间1当然出错了。先把时钟1的时钟周期设为0,再“_按钮1.被单击”子程序中添加代码,判断分割后的提示时间数组的成员数,如果等于2,就分配时钟1的时钟周期为1000,不等于2还设为0。如果(取数组成员数(
14、提示时间)2)时钟1.时钟周期1000时钟1.时钟周期0动态赋予时钟1的时钟周期可以很好的节约系统资源。时钟周期事件是经常用到的即时判断条件的事件,但一直会占用系统资源,不需要时时钟周期最好设为0。按“F5键”运行程序,在提示文本后面的编辑框中输入一段文字,“我爱易语言!”,输入提示时间,格式为“小时:分钟”,因为程序是分割“:”到提示时间数组,点击“加入提示”按纽,程序到指定时间会谈出提示的内容。上面提示程序的原理就是输入时间数字,以“:”分割出小时和分钟与实际时间判断,相符则执行提示信息。如果输入带“:”符号的数字是分解不成功的。可以在_按钮1_被单击子程序里加入如下代码:如果真(取数组成员数(提示时间)2)提示时间分割文本(编辑框2.内容,“:”,)6.9课后练习(1)说一说静态变量与动态变量的区别,并利用时钟组件制作一个秒表记次程序。(2)练习把单维数组变量的内容改为多维数组变量,并保留变量内以前的数据。(3)根据定时提醒小程序的原理,练习制作一个定时关机程序。-