выполнение цикла в списке разделенных запятыми элементов прогресса 4GL - PullRequest
6 голосов
/ 03 апреля 2012
def var cList as char no-undo.
assign cList = "one,two,three,four".
<Loop> cList
logic...
</Loop>

Как лучше всего пройти по списку через запятую в переменной char, чтобы в этом примере я получил один, два, три, потом четыре.

Ответы [ 3 ]

4 голосов
/ 03 апреля 2012

Lol Я все еще помню немного Прогресса, я думаю.

DEF VAR i AS INT NO-UNDO.
&SCOPED-DEFINE LIST "one,two,three,four"

DO i=1 TO NUM-ENTRIES({&LIST}):
  MESSAGE SUBSTITUTE("LIST[&1] is &2", i, ENTRY(i, {&LIST})).
END.
4 голосов
/ 03 апреля 2012
DEFINE VARIABLE ch-list     AS CHARACTER    NO-UNDO.
DEFINE VARIABLE i-cnt       AS INTEGER      NO-UNDO.
DEFINE VARIABLE i-entry     AS INTEGER      NO-UNDO.

ASSIGN
    ch-list = "one,two,three,four"
    .

ASSIGN
    i-cnt = NUM-ENTRIES(ch-list)
    .

REPEAT i-entry = 1 TO i-cnt:

    DISPLAY
        ENTRY(i-entry, ch-list)
        WITH DOWN.

END.
0 голосов
/ 27 августа 2015
 DEFINE VARIABLE iNumEntries AS INTEGER NO-UNDO.

 DEFINE VARIABLE iLoop AS INTEGER NO-UNDO.

 def var cList as char no-undo.

 assign cList = "one,two,three,four".

 ASSIGN iNumEntries = NUM-ENTRIES(cList,",").

 DO iLoop = 1 TO iNumEntries:

      MESSAGE ENTRY(iLoop,cList,",") VIEW-AS ALERT-BOX.

      /* You can use display, assign to variable, etc */

 END.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...