易语言中的流程控制类命令目前有下面几种,请先在系统中查看有关各命令的详细解释。
1、分枝类: 如果、如果真、判断
2、循环类: 判断循环首、循环判断首、计次循环首、容器循环首
3、跳转类: 到循环尾、跳出循环、返回、结束
如果命令应当很好理解,当其条件参数的逻辑值为真时,程序就向下执行,否则就跳转到左侧箭头所指向语句处执行。如果真命令与如果命令相比,就是少了条件参数为假时的程序部分。判断语句实际上就是多重分枝语句,当任何一个判断分枝语句的条件参数为真时,相应的程序部分就被执行,如果所有分枝语句的条件参数都为假,那么位于最后的默认分枝的程序被执行。
在循环类命令中,判断循环在循环体的首部判断是否进入或者继续循环,循环判断在循环体的尾部判断是否继续循环。使用循环判断,循环体内的程序至少会被执行一次。
返回命令因与子程序相关,留到以后讲述。结束命令结束当前 易程序的执行。
下面结合例程来具体讲述计次循环首、容器循环首、到循环尾、跳出循环命令。
打开上一章中的例程后,将_按钮1_被单击子程序中的所有内容删空,然后在该子程序中进行以下输入操作:
1、将画板1的“自动重画”属性值设置为真,以便于后面调试时随时查看画板的显示内容;
2、加入一个名为容器1的整数型容器;
3、顺序输入以下语句:
jcxhs(3,rq1)
hb1.gdxh(rq1)
4、移动光标到程序尾部,继续输入:
rqxhs(100,180,50,rq1)
hb1.gdxh(rq1)
5、移动光标到程序尾部,继续输入:
jcxhs(5,rq1)
rgz(rq1=2)
dxhw
rgz(rq1=4)
tcxh
hb1.gdxh(rq1)
6、移动光标到程序尾部,加入一个空行,以便在后面调试时查看跳出循环命令的执行结果。
输入完毕后,子程序中的内容如下:
计次循环首 (3, 容器1)
画板1.滚动写行 (容器1)
计次循环尾 ()
容器循环首 (100, 180, 50, 容器1)
画板1.滚动写行 (容器1)
容器循环尾 ()
计次循环首 (5, 容器1)
如果真 (容器1 = 2)
到循环尾 ()
如果真 (容器1 = 4)
跳出循环 ()
画板1.滚动写行 (容器1)
计次循环尾 ()
〈 空行 〉
仅依靠文本很难看出程序的真实面目,建议您下载此例程以供查看。
执行程序并单击按钮后,显示结果如下:
1
2
3
100
150
1
3
下面我们来分析为什么会有此结果。
子程序的首部是计次循环首命令,由于其“循环次数”参数值为 3 ,所以循环体将被重复执行 3 次。通过查看上面显示结果的前三行,我们了解到容器1的内容一直被系统自动设置为当前循环体已进入的次数。
容器循环首类似于 Basic 语言中的 for 命令,它规定了循环容器的起始值、目标值、递增值。递增值可以被提供为正数或者负数。每执行循环体内的程序一次,系统将自动把递增值加入到循环容器中,当循环容器中的值大于目标值时循环将被终止。请查看系统中有关此命令的详细解释以具体了解此命令。
在程序的尾部还有一个计次循环,里面有到循环尾和跳出循环命令。到循环尾命令用作跳到当前循环的尾部,即循环尾类命令。跳出循环命令用作跳出当前循环。
下面请使用易语言的调试功能来“身临其境”地了解这些命令的执行情况。
请将光标移动到子程序的第一行语句 计次循环首 (3, 容器1) 上,然后按下 Ctrl + F8 键或者单击“调试-〉执行到光标处”菜单项。单击被运行程序窗口中的按钮后,程序将被中断,此时请使用 F8 键或者单击“调试-〉单步跟踪进入”菜单项来一条语句一条语句地执行程序,注意了解此时程序的实际执行过程。在此过程中您可以随时使用 Alt + Tab 键跳转到被调试的易程序中查看其窗口中所显示出来的执行结果。
总结:这一章我们介绍了在易语言命令集中较为重要的程序流程控制类命令,以后我们还会讲到一些其它的重要或者不太容易理解的命令,但是大部分的命令还是要依靠大家自己到系统中去阅读解释,并通过实际试用来了解其特性,如果有不懂的地方请随时咨询我们。
最后,顺便告诉大家几个操作技巧:
1、大家可能经常要在一段已经存在的程序两边加上流程控制类命令,请先将此段程序选作块,然后单击鼠标右键,选择“加到当前块首尾”菜单项,最后单击对应的子菜单项即可;
2、有时候,可能要将一种流程控制类命令改为另外一种,譬如将如果命令改为如果真命令,将判断循环首命令改为循环判断首命令等。请在该语句行上单击鼠标右键,选择“转换为 -〉”菜单项,最后单击对应的子菜单项即可。
下一章将暂时回到窗口单元上去,讲述有关窗口单元方法的编程知识。
--------------------------
试一试:
在上面的例程中加入如果、如果真、判断、判断循环首、循环判断首等命令,使用上面所介绍的调试方法来查看其执行过程。