帧可以具有“向下”迭代。当写入向下帧的代码迭代时,下一次出现的数据低于前一个。这非常适合以表格形式轻松呈现数据。
根据与帧相关联的块的类型,它可以自动为DOWN帧。例如:
define variable i as integer no-undo.
repeat i = 1 to 10:
display i with no-box.
end.
</code>
这将导致:
i
��������������������
1
2
3
4
5
6
7
8
9
10
</code>
REPEAT块是迭代块,默认(未命名)帧将是向下帧。 (对于每个块也是迭代块)。
DO块没有迭代,所以如下:
define variable i as integer no-undo.
do i = 1 to 10:
display i with no-box.
end.
</code>
结果是:
i
��������������������
10
</code>
如果你的系统非常慢(或通过老式的1200波特调制解调器连接),你可能会看到“1”到“10”在最终为“10”的空间中相互覆盖。
要使DO块像REPEAT块那样运行:
define variable i as integer no-undo.
do i = 1 to 10:
display i with no-box 10 down.
down. / advances a down frame to the next line /
end.
</code>
“10 down”意味着框架将保留10次迭代的空间。如果省略“10”,框架将使用屏幕上剩余的剩余空间。
DOWN语句告诉帧(在这种情况下是默认的,未命名的帧)移动到下一行。你也可以说“下来2”。或“向下5.”插入多个空行。
如果你想要一个帧迭代,但它不会自动执行,你可能需要在帧短语中添加“down”(以“with”开头的语法)并根据循环的性质添加一个显式的DOWN语句你正在执行。