![](/img/trans.png)
[英]Crystal Reports Selection Formula Crystal Syntax - - value not in a field or value in an array
[英]Null value of String Array in Function of Crystal Reports - Crystal Syntax
我正在尝试创建一个解析此结构的字符串的 Function:
4:20,5:30,8:40
它最多包含 15 个以逗号分隔的值,但也可以包含少于 15 个的值。
我首先使用 Split 方法拆分这些值,然后使用这些拆分值创建一个数组。 然后我有一个 for 循环,在其中我再次拆分值,这次使用“:”作为分隔符。
但在使用第二次拆分之前,我想检查字符串是否为 null。 我怎样才能做到这一点? 如果我分配给它的数组变量大于它将返回的值,Split 会做什么? 它是否用空白字符串 null 值填充它?
我尝试检查空字符串(“”)、空格(“”)并使用 IsNull。 前两个选项不起作用(function 什么也不返回,好像它总是错误的一样),最后一个给我一个错误,好像我不能使用该方法检查该字符串变量。
Function (StringVar Detalle)
local NumberVar DetalleSplitLength;
local NumberVar i := 1;
local StringVar TipoMoneda;
local StringVar Result;
local StringVar array DetalleSplit;
local StringVar array TipoMonedaSplit;
local BooleanVar First := True;
If Detalle <> "" Then
(
DetalleSplit := Split(Detalle, ',');
DetalleSplitLength := 15;
Redim Preserve DetalleSplit [DetalleSplitLength];
for i := 1 to DetalleSplitLength do
(
' This is the conditional that fails to do what I need.
If (DetalleSplit[i] <> "") Then
(
TipoMonedaSplit := Split(DetalleSplit[i], ':');
If TipoMonedaSplit[2] <> "0" And Result <> "" Then
(
' Here I parse the result.
);
);
)
);
Result
我正在使用水晶语法。 我用“'”添加了注释,以便它们正确格式化为 colors。
我想您对非空值的测试确实可以正常工作,但是内部块之前的条件不正确:
If TipoMonedaSplit[2] <> "0" And Result <> "" Then
(
' Here I parse the result.
);
部分And Result <> ""阻止您的 function 进入您要解析结果的块,因为Result
之前没有初始化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.