1

我是 Crystal Reports 的新手,如果字符串太长,我正在寻找一种方法来切断字符串并将结尾替换为...

所以我使用 Crystal Reports 来生成 Word 或 PDF 文件。现在的问题是我的文本字段对于长字符串来说太小了。

我想做的事情是检查字符串对于该字段是否太长。如果是,请在最后切断字符串,并将结尾替换为....

我如何以及在哪里可以做到这一点?代码会是什么样子?

我正在使用水晶报表 2011。

4

1 回答 1

0

一种方法是使用Len-、Left-、Instr- 和Instrrev- 函数。

下面的公式应该会给你预期的结果。(仅适用于等宽字体。)

NumberVar MaxLen := 200;

If Len({MyTable.MyColumn}) > MaxLen Then
    //Length is > MaxLen
    If Instr(Left({MyTable.MyColumn}, MaxLen),",")>0 Then
        //comma (,) found in first 200 chars -> cut at last comma
        Left({MyTable.MyColumn}, Instrrev(Left({MyTable.MyColumn}, MaxLen), ",")-1) & "..."
    Else    
        //NO comma (,) found in first 200 chars -> cut after char 197
        Left({MyTable.MyColumn}, MaxLen-3) & "..."
Else
    //Length is <= 200  -> use the whole text
    {MyTable.MyColumn}

在此示例中,最大长度为 200 个字符。
只需将变量调整为MaxLen您需要的字符数。

于 2018-01-24T17:07:48.010 回答