R-INDEX ( source , target , starting )
|
R-INDEX("abcd" , "c")
|
DEFINE VARIABLE rindx AS INTEGER NO-UNDO.
DEFINE VARIABLE source AS CHARACTER NO-UNDO FORMAT "X(45)". DEFINE VARIABLE target AS CHARACTER NO-UNDO FORMAT "X(45)". REPEAT: PROMPT-FOR source LABEL "Enter a character string to do pattern matching:" WITH FRAME s1 CENTERED. PROMPT-FOR target LABEL "Enter a pattern to match in the string:" WITH FRAME t1 CENTERED. rindx = R-INDEX(INPUT source, INPUT target). IF rindx < > 0 THEN DO: DISPLAY "The target pattern:" INPUT target NO-LABEL "last appears in position" rindx NO-LABEL SKIP WITH FRAME r1 ROW 12 CENTERED. DISPLAY "in the source string:" INPUT source NO-LABEL WITH FRAME r1 ROW 12 CENTERED. HIDE FRAME r1. END. IF rindx = 0 THEN DO: DISPLAY "The target pattern:" INPUT target NO-LABEL "could not be found" SKIP WITH FRAME r2 ROW 12 CENTERED. DISPLAY "in the source string:" INPUT source NO-LABEL WITH FRAME r2 ROW 12 CENTERED. HIDE FRAME r2. END. END. |
DEFINE VARIABLE mark AS INTEGER NO-UNDO.
DEFINE VARIABLE line-width AS INTEGER NO-UNDO. DEFINE VARIABLE paragraph AS CHARACTER NO-UNDO. paragraph = "The course centers around an existing small " + "application that you modify to improve perfo" + "rmance. Our highly-qualified instructors dem" + "onstrate proven analysis and coding techniqu" + "es and provide tips for making the most of y" + "our ABL code. You are encouraged to bri" + "ng your own application problems to class an" + "d actively participate in class discussions " + "and hands-on lab exercises.". SET line-width LABEL "Justify with how many characters wide?" VALIDATE(line-width >= 20 AND line-width <= 70, "Must be between 20 and 70 for this example.") WITH SIDE-LABELS FRAME ask. FORM paragraph FORMAT "x(72)" WITH DOWN NO-LABELS USE-TEXT. DISPLAY "L" + FILL("-", line-width - 2) + "R" @ paragraph. DOWN. DO WHILE LENGTH(paragraph) > line-width: mark = R-INDEX(paragraph, " ", line-width). DISPLAY SUBSTRING(paragraph, 1, mark) @ paragraph. DOWN. paragraph = SUBSTRING(paragraph, mark + 1). END. IF paragraph <> "" THEN DISPLAY paragraph. |