如何获取存储在变量中的最后一个逗号分隔数据? - 进度 4gl

How to get the last comma separated data stored in a variable? - Progress 4gl

我是 progress 4gl 的新手,但不知道如何使用逗号分隔符编写逻辑来获取最后一个逗号之后和最后一个值之前的最后一个值。请帮忙

define variable cdata as character no-undo initial "1,14,13,45".
define variable lvc_data1 as character no-undo.
define variable lvc_data2 as character no-undo.

要分配的预期结果(仅使用分隔符):

lvc_data1 = "45"

lvc_data2 = "1,14,13"

最后一个元素很容易使用 ENTRY 和 NUM-ENTRIES。对于其他的,我使用的是 SUBSTRING 和 R-INDEX:

define variable cdata as character no-undo initial "1,14,13,45".
define variable lvc_data1 as character no-undo.
define variable lvc_data2 as character no-undo.

MESSAGE ENTRY (NUM-ENTRIES (cdata), cdata) SKIP 
        SUBSTRING (cdata, 1, R-INDEX (cdata, ",") - 1 ) 
    VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.