清单

在 Progress 4GL 中有许多用于处理逗号(或其他字符)分隔列表的函数和方法。

NUM-ENTRIES 返回列表中的条目数。你可以选择指定分隔符,逗号是默认值

NUM-ENTRIES(字符串[,分隔符])

使用逗号,默认分隔符:

DEFINE VARIABLE cList AS CHARACTER   NO-UNDO.

cList = "Goodbye,cruel,world!".

DISPLAY NUM-ENTRIES(cList). //3

使用另一个分隔符,semilcolon:

DEFINE VARIABLE cList AS CHARACTER   NO-UNDO.

cList = "Goodbye;cruel;world!".

DISPLAY NUM-ENTRIES(cList, ";"). //3

ENTRY - function - 返回列表中的指定条目

通常起始位置是 1,而不是 0!

ENTRY(条目,列表[,分隔符])。

DEFINE VARIABLE cList AS CHARACTER   NO-UNDO.

cList = "Goodbye,cruel,world!".

DISPLAY ENTRY(2, cList). //cruel

ENTRY - 方法 - 在列表中指定指定条目的值

ENTRY(条目,列表[,分隔符])=值

DEFINE VARIABLE cList AS CHARACTER   NO-UNDO.

cList = "Goodbye,cruel,world!".

ENTRY(1, cList) = "Hello".
ENTRY(2, cList) = "nice".

MESSAGE REPLACE(cList, ",", " ") VIEW-AS ALERT-BOX. //Hello nice world!

LOOKUP - 检查特定条目的列表。返回它的条目。

如果列表中不存在该字符串,则查找将返回 0

LOOKUP(字符串,列表[,分隔符])

DEFINE VARIABLE cList AS CHARACTER   NO-UNDO.

cList = "Hello,nice,world!".

MESSAGE LOOKUP("nice", cList) VIEW-AS ALERT-BOX. //2
MESSAGE LOOKUP("cruel", cList) VIEW-AS ALERT-BOX. //0