-
Notifications
You must be signed in to change notification settings - Fork 0
/
_KAT.CBL
40 lines (40 loc) · 1.41 KB
/
_KAT.CBL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
IDENTIFICATION DIVISION.
PROGRAM-ID. KAT.
DATA DIVISION.
WORKING-STORAGE SECTION.
77 KEY-CODE PIC X.
77 F PIC 9999.
77 X PIC 9999 VALUE 5.
77 Y PIC 9999 VALUE 6.
77 INSERT-MODE PIC 9 BINARY VALUE 0.
77 CURPOS PIC 999 VALUE 0.
01 SCREEN-VALUES.
02 STRING-LENGTH PIC 999.
02 STRING-VALUE PIC X(255).
01 TERM-EX PIC 9(3).
01 EXIT-CODE PIC 9(8) BINARY.
PROCEDURE DIVISION.
BASLA.
ACCEPT KEY-CODE LINE Y POSITION X.
ACCEPT F FROM ESCAPE KEY.
IF F = ZEROS
MOVE KEY-CODE TO STRING-VALUE(CURPOS).
IF F = 11 AND X > 1 SUBTRACT 1 FROM X.
IF F = 12 AND X < 120 ADD 1 TO X.
IF F = 27 GO STOP-PROGRAM.
IF F = 14 AND INSERT-MODE = 0
CALL 'C$GUICFG' USING 'Cursor Overtype=FullBox' EXIT-CODE
MOVE 1 TO INSERT-MODE GO BASLA.
IF F = 14 AND INSERT-MODE = 1
CALL 'C$GUICFG' USING 'Cursor Overtype=HorzLine' EXIT-CODE
MOVE 0 TO INSERT-MODE GO BASLA.
DISPLAY X LINE 10 POSITION 10 ',' Y ',' F.
ADD 1 TO X.
GO BASLA.
STOP-PROGRAM.
PERFORM VARYING X FROM 1 BY 1 UNTIL X > LENGTH
DISPLAY STRING-VALUE(X) LINE 25 POSITION X
END-PERFORM.
ACCEPT KEY-CODE LINE 26 POSITION 1.
EXIT PROGRAM.
STOP RUN.