Project

General

Profile

apply-chars-fillins.p

Sergey Ivanovskiy, 02/18/2017 02:19 AM

Download (1.92 KB)

 
1
DEFINE VAR ch1 AS CHAR FORMAT "x(32)" LABEL "Input".
2
DEFINE VAR ch2 AS CHAR FORMAT "x(8)" LABEL "Output String".
3
DEFINE VAR dec2 AS DECIMAL LABEL "Output Decimal".
4
DEFINE VAR int2 AS INTEGER LABEL "Output Integer".
5
DEFINE VAR i AS INT.
6
DEFINE VARIABLE letter AS CHARACTER FORMAT "X(1)".
7
DEFINE BUTTON test1 LABEL "Test1".
8
DEFINE BUTTON test2 LABEL "Test2".
9
DEFINE BUTTON test3 LABEL "Test3".
10
DEFINE BUTTON test4 LABEL "Test4".
11

    
12
DEFINE FRAME fr1
13
   ch1  AT COL 10 ROW 1 SKIP
14
   ch2  AT COL 10 ROW 3 SKIP
15
   int2 AT COL 10 ROW 4 SKIP
16
   dec2 AT COL 10 ROW 5 SKIP
17
   test1 test2 test3 test4 WITH TITLE "Test Apply".
18

    
19
ch1 = "789".
20

    
21
ON 'choose':U OF test1 IN FRAME fr1
22
DO:
23
   ch1 = ch1:SCREEN-VALUE.
24
   MESSAGE "apply: " + STRING(ch1).
25
   DO i=1 TO LENGTH(ch1, "CHARACTER"):
26
      letter = SUBSTRING(ch1,i,1,"CHARACTER").
27
      MESSAGE "apply " + letter.
28
      APPLY letter TO ch2 IN FRAME fr1.
29
      APPLY letter TO int2 IN FRAME fr1.
30
      APPLY letter TO dec2 IN FRAME fr1.
31
   END.
32
   RETURN.
33
END.
34
ON 'choose':U OF test2 IN FRAME fr1
35
DO:
36
   ch1 = ch1:SCREEN-VALUE.
37
   MESSAGE "apply: " + STRING(ch1).
38
   DO i=1 TO LENGTH(ch1, "CHARACTER"):
39
      letter = SUBSTRING(ch1,i,1,"CHARACTER").
40
      APPLY letter TO int2 IN FRAME fr1.
41
   END.
42
   RETURN.
43
END.
44
ON 'choose':U OF test3 IN FRAME fr1
45
DO:
46
   ch1 = ch1:SCREEN-VALUE.
47
   MESSAGE "apply: " + STRING(ch1).
48
   DO i=1 TO LENGTH(ch1, "CHARACTER"):
49
      letter = SUBSTRING(ch1,i,1,"CHARACTER").
50
      APPLY letter TO dec2 IN FRAME fr1.
51
   END.
52
   RETURN.
53
END.
54
ON 'choose':U OF test4 IN FRAME fr1
55
DO:
56
   ch1 = ch1:SCREEN-VALUE.
57
   MESSAGE "apply: " + STRING(ch1).
58
   DO i=1 TO LENGTH(ch1, "CHARACTER"):
59
      letter = SUBSTRING(ch1,i,1,"CHARACTER").
60
      APPLY letter TO ch2 IN FRAME fr1.
61
      APPLY INTEGER(letter) TO int2 IN FRAME fr1.
62
      APPLY letter TO dec2 IN FRAME fr1.
63
   END.
64
   RETURN.
65
END.
66

    
67
VIEW FRAME fr1.
68
DISPLAY ch1 ch2 int2 dec2 WITH FRAME fr1.
69
ENABLE ALL WITH FRAME fr1.
70

    
71
WAIT-FOR CLOSE OF CURRENT-WINDOW.