4

从公式编辑器中 for 循环内的列表中检索数据的语法是什么?我写了这样的东西,但它显示了一个错误。任何人都可以纠正它吗?

Local NumberVar i;
Local NumberVar intCount := Count({FOODMASTER.FOOD_SORT});
For i := 1 to intCount Do
(
 If (i = 1) Then     
  {TMPMONTHLYDETAIL.TMP_QTY}[i];         
 Else If (i > 1) Then            
 Exit For;

 i := i + 1;

);

其中 {FOODMASTER.FOOD_SORT} 是 int 数据类型,而 {TMPMONTHLYDETAIL.TMP_QTY} 是十进制。

4

1 回答 1

0

这段代码在逻辑上并没有多大意义,更不用说语法了。你到底想完成什么?您可能需要重新考虑一些事情,但这里有一些事情可以帮助您入门:

  1. 您不需要手动递增i,因为 for 循环使用默认步长 1 为您执行此操作。
  2. 您说 {TMPMONTHLYDETAIL.TMP_QTY} 是数字,而不是数组或字符串,因此您不能通过{TMPMONTHLYDETAIL.TMP_QTY}[i].
  3. 您的 for 循环实际上并没有做任何有用的事情。在循环开始时,您执行i:=1然后立即检查是否i=1,否则您只需退出循环。整个循环可以被删除并减少到只是返回{TMPMONTHLYDETAIL.TMP_QTY}[1]
于 2012-11-29T17:31:17.943 回答