提高篇:深入“易语言”编程
第七天
下面来介绍变量相关的知识。
什么是变量?
顾名思义变量就是一种自身可改变值的可使用的虚拟的质体。简单的说把变量比作一个盒子,当你的东西需要保存时这个盒子派上了用场把你想要存放的东西放到盒子里,如果需要用盒子里的东西就把东西拿出来不需要时再放回去,或这里的部分或全部的不需要了就把这些不需要的拿出去,如果需要更多的就把需要的放进去。
那么我们来创建一个类型为“整数型”的局部变量。
首先在一个子程序下按下 Ctrl+L 插入一个局部变量
就会看见在子程序下出现了变量创建的表格,在类型的那一列格中输入要定义的数据类型,之后我们方便认识把变量名起为“整数变量”(如图)
我们可以看见在常量定义的结构中第三列有的标题为 “静态”,静态意思是说这个变量是否永久保存里面的内容,为了记住上一次的内容我们来把它定义为静态变量 (如图)
我们运行程序来看看定义的这个变量开始装得是什么,在这下面输入“xxk(zsbl)” 那么我们就会在 “__启动窗口创建完毕”的出发事件后,信息框弹出便会显示出整数变量的初始内容了(如图)
我们得知整数型的初始值为0,另文本型及字节集的初始值为空,如果要置回初始值文本型及字节集分别表示为“”及{}。
现在我们来认识一下 数组变量 。
什么是数组?
数组就是变量的集合。我们为了节省少用类型重复的变量可把它设为数组。
首先我们把光标停在程序集标题上按下 回车键 就会插入一个程序集变量,我们发现没有静态那一列,可以说明“程序集变量”可以永久储存变量里的内容 (如果有多窗口,许多窗口都需要这个变量我们可把它设为全局变量) ,(如图)
(如果想创建全局变量如下图所示)
在上面我们把 “程序集变量”数组的初始成员定为 4 个成员的文本型数组
再创建一个 四个 超级编辑框 和 按钮 及 标签 (如图)
再触发以下按钮的单击事件。
l
标题为 “设定完毕” 的按钮的代码步骤如下:
以上代码 重定义数组 是因为重第四个成员保存的是钥匙所以可已增加钥匙数量,另参数二设为假是因为每次都要改变变量里的值。
变量循环 是因为 超级编辑框4 中每一行为一个钥匙。
再上面代码中我们可以知道数组变量的成员数是可以动态增加减少的,变量里的内容在创建时内容是否改变自己可决定。另 如果只想加入数组可用命令 加入成员 (如图)
以及 插入成员 命令。
l
标题为 “取得钥匙数量”
的按钮的代码步骤如下:
此命令由 设计时 超级编辑框4 的行数决定的
取数组成员数 这个命令非常方便如果你要为一个成员非常多的数组进行赋值利用这个命令在循环中赋予值。
l
标题为 “查看内容” 的按钮的代码步骤如下:
把提示的内容显示出准备解开密码。
在上面的代码中我们看到 文本变量 后跟着中括号括号中放着数字,显然数组变量的提取成员的方法是在变量名后加上中括号括住预提取的成员位置。另数组分有单维数组及多维数组
它的定义和书写如下:
我们可以把多维数组看成为一个立体的存储器,它们的每一维都被前一维包含,以这代码来说他有二维成员前面的一维中每一个成员包含有第二维的成员数。
注:多维数组被使用 加入成员 命令后,就会变成单维数组,要用 重定义数组 来加成员,
重定义数组 上面已介绍过所以第二个成员要设为 真 这样变保存住数组原有数据,第三个参数是可以扩充的就是说这可参数扩充的数量是预被重定义数组的维数。
l
标题为 “解锁” 的按钮的代码步骤如下:
这段代码很好理解,就是利用循环判断 超级编辑框4 每一行与 文本数组 的存放钥匙的那几个成员是否一致 之后再用信息框显示。
在上面的代码中我们学会了怎样定义变量和使用变量还有变量数组的定义方法以及数组成员提取方法和怎样动态定义数组,接下来我们来认识程序的基本知识。
什么是程序?
程序就是运行代码的处发事件。首先我们来认识一下 程序集 ,程序集就是许多子程序的集合每个窗口都有自己的程序集,程序集也可没有窗口如图所示:
下面的 “__启动窗口_创建完毕”程序是窗口组件的触发子程序,那什么是触发子程序呢?触发事件子程序的创建的方法如下图所示。
注:虽然程序集可以改名但窗口组件的触发的子程序的名称是不可以改的
之后子程序便创建完毕,但是子程序也可以自己创建在窗口上单击菜单 “新子程序”如图:
创建完毕我们在子程序的标题上单击 回车键 便会插入参数 (如图)
我们发现了参数的创建的结构比变量的创建结构多出了 “参考”及”可控”的条件。
什么是参考呢?参考就是数据你不用提供而它会为你设置这个数据,所以你要传递给它
一个变量,它会自行处理。另外还有一个 “可控”可空顾名思义就是说这个可不添,为什么有可控数行呢?因为你可以为这个参数设定默认值。还有这里的“数组”为选项,你可以为它设置任意成员数的数组或返回任意成员数的数组内容。
另外 子程序 结构中有一个 “返回值类型”,这是什么呢?我们在定义变量时会发现如果变量的数据类型那一项如果不添它就会默认为“整数型”,我们也许就会以为这个“返回值类型”就也会默认为“整数型”,但是“返回值类型”与变量的“类型”不同,它的意思就是说在这子程序结束时用 返回 命令所递给你的值,如果“返回值类型”是空的它便不返回数据。取得返回值的方法是 变量 = 子程序。
现在我们来了解以下 “子程序指针”
什么是子程序指针?
什么是子程序指针呢?子程序指针就是该子程序的内存地址。下面我们来做一个关于 “子程序指针”代码。
首先我们在程序集中定义两个变量名 如图:
之后插入 “_按钮1_被单击”触发事件,被单击触发事件的代码如下:
我们发现命令 创建线程 的参数三的值与别的值不同。为什么前面跟这一个 “&”呢? 我们输入一个值在前面加上一个“&”会发现提示 “找不到此子程序”但是我们在先前调用子程序时是程序名加上括号,这是为什么呢?前面加上 “&”是子程序指针,而子程序指针不是被调用的它是取出此程序的内存地址传递给用户,用户好通过这个内存地址进行处理。这里是根据传递的子程序的内存地址创建线程。
之后在线程子程序中的代码如下:
在两个子程序中加入循环的代码:
运行效果如下:
两个标签会同时运作。