簡體   English   中英

Crystal Reports 的 Function 中字符串數組的 Null 值 - Crystal 語法

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM