0

使用水晶十一

我有两个数组 - 一个捕获时间点列表,另一个捕获与它们关联的时间。

我需要将两者关联起来,以便输出看起来像

timepoint[1] - time [1]  - timepoint[2] - timepoint[2]; 

timepoint[3] - time[3]  -  timepoint[4] - timepoint[4];

所以我写了以下代码 - 数组在标题中初始化,然后在详细信息部分加载数据,然后显示在组页脚中(三个公式技巧)。我可以分别显示两个数组中的数据

(as timepoint[1], timepoint[2], etc)

只有在尝试将两者结合起来时才会出现这个问题。下面的代码只打印数组中的最后两条记录,而不是所有记录。所以如果有 5 个时间点和 5 次下面的代码显示

时间点[4]-时间[4] - 时间点[5]-时间[5]

我最终将不得不在两个关联的日期时间之间执行计算,但现在只是试图让关联和显示工作。

Shared stringVar array Timepoints;
Shared DateTimeVar array Times;
local stringVar combineStr;
local numbervar i;

For i:=1 to UBound(Times)-2 do   
(combineStr := Timepoints[i] + ','+ totext(Times[i]) + '-' + 
Timepoints[i+1] + totext(Times[i+1]) + ',');
 combineStr;

谢谢你看这个

4

1 回答 1

1

每次迭代都会覆盖 combineStr 变量的先前值。你需要这样做:

.
.
.
For i:=1 to UBound(Times)-2 do   
(combineStr := combineStr + Timepoints[i] + ','+ totext(Times[i]) + '-' + 
Timepoints[i+1] + totext(Times[i+1]) + ',');

combineStr;

其他一些事情: 1. 您需要连接换行符 chr(10),而不是迭代之间的逗号,以便像问题中的示例一样显示。2. 您需要在 for 循环中添加“步骤 2”,否则您将打印两次时间点。

于 2012-08-14T15:50:26.167 回答