我很难理解数组,我正在尝试在水晶报表中为特定功能构建一个数组,我想知道是否有人可以帮忙。
我试图在一个子报表中实现一个数组来循环遍历表 Id,它将在 sybreport 中按 id 分组,然后其他数组实际存储结果。因此,如果索引 3 你有 tableid 34,那么在其他数组的索引 3 中,你将保存 tableid 34 的关联值。关联值将是另一个表列的计数,基于该表行的计数值。
我不知道从哪里开始写公式,因为这是我很难理解的。
我很感激这没什么好继续的,但是任何帮助或 sudo 代码都会很好地帮助我学习数组。
我开始尝试构建一个数组来循环遍历 id,但我认为我没有完全到位。我已经初始化数组以尝试阻止它自行重置并继续循环 1 的值,但我仍然不认为完全理解我所做的事情。
`shared NumberVar array aryGrpID;
local numberVar nCount := Count(aryGrpID);
local NumberVar i;
For i := 1 To nCount Do
(
if aryGrpID[i] = {table.id} then
nCount := i;
);
aryGrpId[nCount] = {table.id};`
我不确定我是否理解您的用例,但您可能需要添加 redim 逻辑。 下面是一个获取长文本并将其转换为字符串数组的示例。您应该能够根据您的用例调整逻辑。
使用字符串数组方法在单个调用中写入很长一行的示例:
StringVar MyText := {@LongTextLine};
local stringvar array MyStringArray;
IF Len(MyText) = 0 Then
(redim MyStringArray [1];
MyStringArray[1] = "";)
Else
( Local numbervar segments := RoundUp(Len(MyText)/254);
redim MyStringArray [segments];
Local numbervar index ;
for index := 0 to segments - 1 step 1 do
(MyStringArray[index + 1] := mid(MyText, 1 + (index * 254) , 254)) ;
);
FileAddText (TargetFile, MyStringArray, False, True);