ISREDIT MACRO (BETWEEN SLANT VERT LETTERX) /********************************************************************** /* OBTAINED FROM CBT TAPE 95 TAPE #9102 MADE UP AFTER LOOKING AT * /* BIG AND BIGS (COMBINED) AND ST CHARACTERS FOR WIDTH OF 5 * /********************************************************************** /* EXTENSIVELY MODIFIED BY D.MCRITCHIE, HOECHST CELANESE 1991/04/29 * /* NOT COMPATIBLE WITH THE ORIGINAL HAS BEEN CHANGED TO HANDLE * /* 1. MULTIPLE LETTERS * /* 2. PROVIDE A VARIETY OF SLANTS, TILTS, * /* 3. PROVIDE ADDITIONAL CHARACTERS BEYOND A-Z, 0-9 * /* 4. ADDS LINES AS NEEDED -- ADDING COLUMNS IS YOUR PROBLEM * /* 5. THE FIRST CHARACTER OF THE GROUP WILL BE PLACED AT THE CURSOR * /* LOCATION SUCH THAT IT ALIGNS VERTICALLY ON THE TOPMOST * /* POSITION OF THE LETTER AND HORIZONTALLY ON THE LEFTMOST * /* POSITION OF THE LETTER WHETHER VISIBLE OR NOT. FOR TESTING * /* AN M WILL OCCUPY LEFT MOST, RIGHT MOST, TOP MOST, AND BOTTOM * /* A "B" IS BETTER FOR MOST TESTING PURPOSES, BUT THE "M" IS * /* WIDER. * /* 6. VISIBLE LABELS, NOTABLY * /* .SSS STARTING POSITION, OR .ERRSS IF ERROR FOUND * /* .NCUR NEXT PRESUMED STARTING POINT FOR CURSOR PLACEMENT * /* EXAMPLE: ENTER AFTER PLACING CURSOR ON 1ST POS OF 1ST LINE. * /* ===> BLOCK5 4 0 0 BLOCK; BLOCK5 2 0 0 LETTERS * /* ===> BLOCK5 4 1 0 TILT; BLOCK5 4 1 1 SKEW * /* MOST LETTERS ARE NO LONGER THAN 12 CHARACTERS WIDE; HOWEVER, * /* THE CHARACTER M IS ACTUALLY 13 CHARACTERS WIDE; WHICH IS THE * /* DIFFERENCE BETWEEN LEFT SIDES, SO MM WILL SHOW WITH NO SPACE * /* BETWEEN CHARACTERS -- THIS IS NOT A FAULT, YOU ARE EXPECTED TO * /* USE A 4 AS THE 1ST PARAMETER, FOR PRETTIEST RESULTS. * /* IF &STR(&LETTER) = ? THEN + * /* THIS PANEL I THINK WOULD BE MEANINGLESS TO OUR USE * /* DO * /* ISPEXEC DISPLAY PANEL(BLOCK5) * /* EXIT CODE(1) * /* END * /* * /********************************************************************** /********************************************************************** /* BLOCK5 1 0 0 BL -- CURSOR PLACED AT POSITION + UPPER LEFT OF B * /* BLOCK5 1 -1 0 OC -- CURSOR PLACED AT POSITION _ UPPER LEFT OF O * /* BLOCK5 1 0 0 K -- CURSOR PLACED AT POSITION * UPPER LEFT OF K * /* CLISTBOX -- LINE COMMAND CC CC TO INDICATE LIMITS * /********************************************************************** /********************************************************************** /* BBBB L OOOOO CCC K K * /* B B L O O C K K * /* BBBB L O O C KKK * /* B B L O O C K K * /* BBBB LLLLL OOOOO CCC K K * /* * /********************************************************************** IF BETWEEN = DEBUG THEN DO SET BETWEEN = 4 CONTROL LIST CONLIST SYMLIST END ISREDIT (LNUM2) = LINENUM .NCUR IF &LASTCC. NE 0 THEN DO SET MAXCC = 0 SET NOTES = 1 END /********************************************************************** /* FIX UP FOR LAZY ENTRY -- ONLY GOOD IF CONTAINS LETTERS * /********************************************************************** IF &STR(&VERT.) = &STR() | &DATATYPE(&STR(&BETWEEN.)) = CHAR THEN DO ISREDIT LINE_AFTER .ZCSR = NOTELINE 'GUESSING YOU WANTED -- + BLOCK5 2 0 0 &BETWEEN. &SLANT. &VERT.' SET LETTERX = &STR(&BETWEEN. &SLANT. &VERT. &LETTERX.) SET BETWEEN = 1 SET SLANT = 0 SET VERT = 0 END /********************************************************************** /* ALLOW USE OF AN EMPTY MEMBER IN EDIT WITH UNPLACED CURSOR * /********************************************************************** ISREDIT (ROW) = LINENUM .ZLAST IF &EVAL(&ROW.) = 0 THEN DO ISREDIT LINE_AFTER 0 = DATALINE " " ISREDIT CURSOR = 1 1 END /********************************************************************** /* MAKE SURE ENOUGH SPACE EXISTS ABOVE STARTING POSITION * /* MAY CAUSE STARTING POINT (.SSSS) TO SHIFT DOWNWARD * /********************************************************************** ISREDIT (ROW,COL) = CURSOR IF &COL. = 0 THEN ISREDIT CURSOR = ,1 ISREDIT RESET &EVAL(&ROW. -1) &ROW. SET LM1 = &LENGTH(&STR(&LETTERX.)) - 1 IF &VERT < 0 THEN DO SET NEEDUP = -&LM1. * &VERT. + 1 DO WHILE &NEEDUP. > &ROW. ISREDIT LINE_BEFORE &ROW. = " " SET ROW = &ROW. + 1 ISREDIT CURSOR = &ROW. &COL. END END ISREDIT LABEL &ROW. = .SSSS 0 /********************************************************************** /* MAKE SURE ENOUGH SPACE EXISTS BELOW STARTING POSITION * /* 4 EXTRA LINES BELOW NEXT EXPECTED STARTED POINT ALSO ADDED * /********************************************************************** ISREDIT (LROW) = LINENUM .ZLAST SET NEEDDN = 9 + &ROW. /* ABOUT 4 LINES AFTER .NCUR*/ IF &VERT. > 0 THEN SET NEEDDN = &LM1. * &VERT. + &NEEDDN. DO WHILE &NEEDDN. > &LROW. ISREDIT LINE_AFTER .ZLAST = " " SET LROW = &LROW + 1 END /********************************************************************** /* SET MSG1 AND MAKE SPECIAL TESTING ALLOWANCES IF MEMBER IS Z * /********************************************************************** SET MSG1 = &STR(ROW=&EVAL(&ROW.),COL=&COL.--+ AT START -- BLOCK5 &BETWEEN.,&SLANT.,&VERT.,&LETTERX.) ISREDIT LINE_BEFORE .ZCSR = MSGLINE '&STR(&MSG1.)' ISREDIT (MEMBERX) = MEMBER SET TMASK = TMASK IF Z NE &MEMBERX. THEN SET TMASK = IF TMASK = &TMASK. THEN DO ISREDIT LINE &EVAL(&ROW.) = LINE + < 60 (MSG1)> ISREDIT LINE &EVAL(&ROW.) = LINE + < &COL. '_'> END SET MAXCC = 0 /********************************************************************** /* STARTING ON LETTER -- LOOPS BACK BELOW IF MORE THAN ONE LETTER * /********************************************************************** SET ROWN = &ROW + 7 SET COLN = &COL IF &SLANT < 0 THEN SET COL = - &SLANT. * 5 + &COLN. SET ROWX = &ROW. SET COLX = &COL MORE: + SET ROW = &ROWX. SET COL = &COLX. SET LETTER = &SUBSTR(1:1,&STR(&LETTERX. )) IF &STR() = &STR(&LETTERX.) THEN GOTO PROCESS CONTROL NOLIST NOCONLIST NOSYMLIST SET L1 = &LENGTH(&STR(&LETTERX. )) SET LETTERX = &SUBSTR(2:&L1.,&STR(&LETTERX. )) SET ROWX = &ROWX. + &VERT. SET COLX = &COLX + 6 + &BETWEEN. /* + &SPL.*/ /* ATTEMPT TO ADJUST SPACING */ IF &STR(&LETTER.) = &STR( ) THEN GOTO MORE SET ROW0 = &ROW + 00 SET ROW1 = &ROW + 01 SET ROW2 = &ROW + 02 SET ROW3 = &ROW + 03 SET ROW4 = &ROW + 04 SET COL0 = 04 * &SLANT. + &COL. SET COL1 = 03 * &SLANT. + &COL. SET COL2 = 02 * &SLANT. + &COL. SET COL3 = 01 * &SLANT. + &COL. SET COL4 = 00 * &SLANT. + &COL. ISPEXEC CONTROL ERRORS RETURN SET I = &SYSINDEX(&NRSTR(&LETTER.),'ABCDEFGHIJKLMNOPQRSTUVWXYZ') IF &I NE 0 THEN GOTO &LETTER. IF &NRSTR(&LETTER.) = 1 THEN GOTO N1 IF &NRSTR(&LETTER.) = 2 THEN GOTO N2 IF &NRSTR(&LETTER.) = 3 THEN GOTO N3 IF &NRSTR(&LETTER.) = 4 THEN GOTO N4 IF &NRSTR(&LETTER.) = 5 THEN GOTO N5 IF &NRSTR(&LETTER.) = 6 THEN GOTO N6 IF &NRSTR(&LETTER.) = 7 THEN GOTO N7 IF &NRSTR(&LETTER.) = 8 THEN GOTO N8 IF &NRSTR(&LETTER.) = 9 THEN GOTO N9 IF &NRSTR(&LETTER.) = 0 THEN GOTO N0 IF &NRSTR(&LETTER.) = &STR(›) THEN GOTO X4A IF &NRSTR(&LETTER.) = &STR(.) THEN GOTO X4B IF &NRSTR(&LETTER.) = &STR(<) THEN GOTO X4C IF &NRSTR(&LETTER.) = &STR(( THEN GOTO X4D IF &NRSTR(&LETTER.) = &STR(+) THEN GOTO X4E IF &NRSTR(&LETTER.) = &STR(|) THEN GOTO X4F IF &NRSTR(&LETTER.) = &STR(&&&&) THEN GOTO X50 IF &NRSTR(&LETTER.) = &STR(!) THEN GOTO X5A IF &NRSTR(&LETTER.) = &STR($) THEN GOTO X5B IF &NRSTR(&LETTER.) = &STR(*) THEN GOTO X5C IF &NRSTR(&LETTER.) = &STR()) THEN GOTO X5D IF &NRSTR(&LETTER.) = &STR(;) THEN GOTO X5E IF &NRSTR(&LETTER.) = &STR(^) THEN GOTO X5F IF &NRSTR(&LETTER.) = &STR(-) THEN GOTO XA0 IF &NRSTR(&LETTER.) = &STR(/) THEN GOTO X61 IF &NRSTR(&LETTER.) = &STR(ş) THEN GOTO X6A IF &NRSTR(&LETTER.) = &STR(,) THEN GOTO X6B IF &NRSTR(&LETTER.) = &STR(%) THEN GOTO X6C IF &NRSTR(&LETTER.) = &STR(_) THEN GOTO X6D IF &NRSTR(&LETTER.) = &STR(>) THEN GOTO X6E IF &NRSTR(&LETTER.) = &STR(?) THEN GOTO X6F IF &NRSTR(&LETTER.) = &STR(`) THEN GOTO X79 IF &NRSTR(&LETTER.) = &STR(:) THEN GOTO X7A IF &NRSTR(&LETTER.) = &STR(#) THEN GOTO X7B IF &NRSTR(&LETTER.) = &STR(@) THEN GOTO X7C IF &NRSTR(&LETTER.) = &STR(') THEN GOTO X7D /*'*/ IF &NRSTR(&LETTER.) = &STR(=) THEN GOTO X7E IF &NRSTR(&LETTER.) = &STR(") THEN GOTO X7F /*"*/ IF &NRSTR(&LETTER.) = &STR(~) THEN GOTO XA1 IF &NRSTR(&LETTER.) = &STR({) THEN GOTO XC0 IF &NRSTR(&LETTER.) = &STR(}) THEN GOTO XD0 IF &NRSTR(&LETTER.) = &STR(\) THEN GOTO XE0 GOTO &LETTER A: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' AAA'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'A A'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'AAAAA'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'A A'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'A A'> GOTO PROCESS B: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'BBBB'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'B B'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'BBBB'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'B B'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'BBBB'> GOTO PROCESS C: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' CCC'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'C'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'C'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'C'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' CCC'> GOTO PROCESS D: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'DDD'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'D D'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'D D'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'D D'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'DDD'> GOTO PROCESS E: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'EEEEE'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'E'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'EEE'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'E'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'EEEEE'> GOTO PROCESS F: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'FFFFF'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'F'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'FFFF'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'F'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'F'> GOTO PROCESS G: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' GGG'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'G'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'G'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'G GG'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' GGG'> GOTO PROCESS H: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'H H'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'H H'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'HHHHH'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'H H'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'H H'> GOTO PROCESS I: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' III'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' I'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' I'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' I'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' III'> GOTO PROCESS J: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' JJJJ'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' J'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' J'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'J J'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' JJ'> GOTO PROCESS K: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'K K'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'K K'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'KKK'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'K K'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'K K'> GOTO PROCESS L: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'L'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'L'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'L'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'L'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'LLLLL'> GOTO PROCESS M: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'M M'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'MM MM'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'M M M'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'M M'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'M M'> GOTO PROCESS N: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'N N'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'NN N'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'N N N'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'N NN'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'N N'> GOTO PROCESS O: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'OOOOO'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'O O'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'O O'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'O O'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'OOOOO'> GOTO PROCESS P: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'PPPP'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'P P'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'PPPPP'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'P'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'P'> GOTO PROCESS Q: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' QQQ'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'Q Q'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'Q Q'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'Q ››Q'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' QQ››'> GOTO PROCESS R: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'RRRR'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'R R'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'RRRR'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'R R'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'R R'> GOTO PROCESS S: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' SSSS'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'S'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' SSSS'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' S'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' SSSS'> GOTO PROCESS T: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'TTTTT'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' T'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' T'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' T'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' T'> GOTO PROCESS U: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'U U'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'U U'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'U U'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'U U'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' UUU'> GOTO PROCESS V: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'V V'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'V V'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'V V'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' V V'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' V'> GOTO PROCESS W: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'W W'> ISREDIT LINE &ROW1. = LINE + < &COL1. 'W W'> ISREDIT LINE &ROW2. = LINE + < &COL2. 'W W W'> ISREDIT LINE &ROW3. = LINE + < &COL3. 'WW WW'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'W W'> GOTO PROCESS X: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'X X'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' X X'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' X'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' X X'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'X X'> GOTO PROCESS Y: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'Y Y'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' Y Y'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' Y'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' Y'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' Y'> GOTO PROCESS Z: + ISREDIT LINE &ROW0. = LINE + < &COL0. 'ZZZZZ'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' Z'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' Z'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' Z'> ISREDIT LINE &ROW4. = LINE + < &COL4. 'ZZZZZ'> GOTO PROCESS N1: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' 1'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' 11'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' 1'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' 1'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' 111'> GOTO PROCESS N2: + ISREDIT LINE &ROW0. = LINE + < &COL0. '2222'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' 2'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' 2'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' 2'> ISREDIT LINE &ROW4. = LINE + < &COL4. '22222'> GOTO PROCESS N3: + ISREDIT LINE &ROW0. = LINE + < &COL0. '3333'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' 3'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' 333'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' 3'> ISREDIT LINE &ROW4. = LINE + < &COL4. '3333'> GOTO PROCESS N4: + ISREDIT LINE &ROW0. = LINE + < &COL0. '4 4'> ISREDIT LINE &ROW1. = LINE + < &COL1. '4 4'> ISREDIT LINE &ROW2. = LINE + < &COL2. '44444'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' 4'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' 4'> GOTO PROCESS N5: + ISREDIT LINE &ROW0. = LINE + < &COL0. '55555'> ISREDIT LINE &ROW1. = LINE + < &COL1. '5'> ISREDIT LINE &ROW2. = LINE + < &COL2. '5555'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' 5'> ISREDIT LINE &ROW4. = LINE + < &COL4. '5555'> GOTO PROCESS N6: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' 666'> ISREDIT LINE &ROW1. = LINE + < &COL1. '6'> ISREDIT LINE &ROW2. = LINE + < &COL2. '6666'> ISREDIT LINE &ROW3. = LINE + < &COL3. '6 6'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' 666'> GOTO PROCESS N7: + ISREDIT LINE &ROW0. = LINE + < &COL0. '77777'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' 7'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' 7'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' 7'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' 7'> GOTO PROCESS N8: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' 888'> ISREDIT LINE &ROW1. = LINE + < &COL1. '8 8'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' 888'> ISREDIT LINE &ROW3. = LINE + < &COL3. '8 8'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' 888'> GOTO PROCESS N9: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' 999'> ISREDIT LINE &ROW1. = LINE + < &COL1. '9 9'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' 9999'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' 9'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' 999'> GOTO PROCESS N0: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' 000'> ISREDIT LINE &ROW1. = LINE + < &COL1. '0 0'> ISREDIT LINE &ROW2. = LINE + < &COL2. '0 0'> ISREDIT LINE &ROW3. = LINE + < &COL3. '0 0'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' 000'> GOTO PROCESS XA0: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' --- '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' '> GOTO PROCESS XA1: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' ~~ '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' '> GOTO PROCESS XC0: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' { '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' { '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' < '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' { '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' { '> GOTO PROCESS XD0: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' } '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' } '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' > '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' } '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' } '> GOTO PROCESS XE0: + ISREDIT LINE &ROW0. = LINE + < &COL0. '\ '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' \ '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' \ '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' \ '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' \'> GOTO PROCESS X4A: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' * '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' C*C '> ISREDIT LINE &ROW2. = LINE + < &COL2. 'C * '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' C*C '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' * '> GOTO PROCESS X4C: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' <'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' < '> ISREDIT LINE &ROW2. = LINE + < &COL2. '< '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' < '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' <'> GOTO PROCESS X4D: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' ( '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' ( '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' ( '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' ( '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' ( '> GOTO PROCESS X4E: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' + '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' + '> ISREDIT LINE &ROW2. = LINE + < &COL2. '+++++'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' + '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' + '> GOTO PROCESS X4F: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' | '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' | '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' | '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' | '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' | '> GOTO PROCESS X5A: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' | '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' | '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' | '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' * '> GOTO PROCESS X5B: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' $$$$'> ISREDIT LINE &ROW1. = LINE + < &COL1. '$ | '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' $| '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' | $'> ISREDIT LINE &ROW4. = LINE + < &COL4. '$$$$ '> GOTO PROCESS X5C: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' * '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' *** '> ISREDIT LINE &ROW2. = LINE + < &COL2. '*****'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' *** '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' * '> GOTO PROCESS X5D: + ISREDIT LINE &ROW0. = LINE + < &COL0. ') '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' ) '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' ) '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' ) '> ISREDIT LINE &ROW4. = LINE + < &COL4. ') '> GOTO PROCESS X5E: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' ;; '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' ;; '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' ;; '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' ;; '> GOTO PROCESS X5F: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' '> ISREDIT LINE &ROW2. = LINE + < &COL2. '^^^^^'> ISREDIT LINE &ROW3. = LINE + < &COL3. ' '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' '> GOTO PROCESS X50: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' &&&&'> ISREDIT LINE &ROW1. = LINE + < &COL1. '&& &'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' &&&&'> ISREDIT LINE &ROW3. = LINE + < &COL3. '&& &&&'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' &&&&&'> GOTO PROCESS X6A: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' || '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' || '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' || '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' || '> GOTO PROCESS X6B: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' ,, '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' ,, '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' , '> GOTO PROCESS X6C: + ISREDIT LINE &ROW0. = LINE + < &COL0. '%%--%'> ISREDIT LINE &ROW1. = LINE + < &COL1. '% % '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' % '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' % %'> ISREDIT LINE &ROW4. = LINE + < &COL4. '%%-%%'> GOTO PROCESS X6D: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' '> ISREDIT LINE &ROW4. = LINE + < &COL4. '_____'> GOTO PROCESS X6E: + ISREDIT LINE &ROW0. = LINE + < &COL0. '> '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' > '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' > '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' > '> ISREDIT LINE &ROW4. = LINE + < &COL4. '> '> GOTO PROCESS X6F: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' ??? '> ISREDIT LINE &ROW1. = LINE + < &COL1. '? ?'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' ? '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' ? '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' ? '> GOTO PROCESS X61: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' /'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' / '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' / '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' / '> ISREDIT LINE &ROW4. = LINE + < &COL4. '/ '> GOTO PROCESS X7A: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' :: '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' :: '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' :: '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' :: '> GOTO PROCESS X7B: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' # # '> ISREDIT LINE &ROW1. = LINE + < &COL1. '#####'> ISREDIT LINE &ROW2. = LINE + < &COL2. ' # # '> ISREDIT LINE &ROW3. = LINE + < &COL3. '#####'> ISREDIT LINE &ROW4. = LINE + < &COL4. ' # # '> GOTO PROCESS X7C: + ISREDIT LINE &ROW0. = LINE + < &COL0. '@@@@@'> ISREDIT LINE &ROW1. = LINE + < &COL1. ' @'> ISREDIT LINE &ROW2. = LINE + < &COL2. '@@@@@'> ISREDIT LINE &ROW3. = LINE + < &COL3. '@ @ @'> ISREDIT LINE &ROW4. = LINE + < &COL4. '@@@@@'> GOTO PROCESS X7D: + ISREDIT LINE &ROW0. = LINE + < &COL0. " '' "> ISREDIT LINE &ROW1. = LINE + < &COL1. " ' "> ISREDIT LINE &ROW2. = LINE + < &COL2. " "> ISREDIT LINE &ROW3. = LINE + < &COL3. " "> ISREDIT LINE &ROW4. = LINE + < &COL4. " "> GOTO PROCESS X7E: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' === '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' === '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' '> GOTO PROCESS X7F: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' " " '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' " " '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' '> GOTO PROCESS X4B: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' .. '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' .. '> GOTO PROCESS X79: + ISREDIT LINE &ROW0. = LINE + < &COL0. ' `` '> ISREDIT LINE &ROW1. = LINE + < &COL1. ' `` '> ISREDIT LINE &ROW2. = LINE + < &COL2. ' '> ISREDIT LINE &ROW3. = LINE + < &COL3. ' '> ISREDIT LINE &ROW4. = LINE + < &COL4. ' '> /**GOTO PROCESS /********************************************************************** /* P R O C E S S : SETTING UP FOR THE NEXT LETTER IF ANY * /********************************************************************** PROCESS: + IF &MAXCC > 0 THEN DO SET ZEDSMSG = INCOMPLETE BOX SET ZEDLMSG = &STR(NOT ENOUGH LINES/COLUMNS + TO DRAW COMPLETE BOX MAX=&MAXCC.) ISPEXEC SETMSG MSG(ISRZ001) ISREDIT (ERRSS) = LINENUM .ERRSS IF &ERRSS. NE 0 THEN ISREDIT LABEL .SSS = .ERRSS 0 END SET ROW = &ROW + &VERT. /********************************************************************** /* ADJUSTING THE END PLACEMENT OF THE CURSOR, NOT A VERY PRECISE * /* MECHANISM BUT IT SHOULD WORK WELL TO KEEP LINES REASONABLY * /* SPREAD APART WITH THE SAME FEATURES. * /********************************************************************** IF &STR(&LETTERX.) ^= &STR() THEN GOTO MORE IF &VERT < 0 THEN SET AVERT = - &VERT. IF &SLANT > 0 THEN DO IF &VERT. > 0 THEN SET ROWN = &ROWN. + &VERT. IF &VERT. < 0 THEN SET ROWN = &ROWN. - &VERT. END IF &SLANT < 0 THEN DO IF &VERT. > 0 THEN SET ROWN = &ROWN. + &VERT. IF &VERT. < 0 THEN SET ROWN = &ROWN. - &VERT. END IF 1 = &NOTES. THEN DO ISREDIT LINE_BEFORE .ZFIRST = NOTELINE + "------ SAMPLE USAGE OF -- BLOCK5 -- CLIST " ISREDIT LINE_BEFORE .ZFIRST = NOTELINE + "CURSOR MUST BE PLACED ON A LINE, UNLESS MEMBER IS EMPTY" ISREDIT LINE_BEFORE .ZFIRST = NOTELINE "BLOCK5 LETTERS" ISREDIT LINE_BEFORE .ZFIRST = NOTELINE " E.G. BLOCK5 1 0 0 HELLO" ISREDIT LINE_BEFORE .ZFIRST = NOTELINE + " E.G. BLOCK5 1 1 1 &SYSUID." ISREDIT LINE_BEFORE .ZFIRST = NOTELINE + " E.G. BLOCK5 1 -1 1 A B C" END ISREDIT LABEL &ROWN. = .NCUR 0 ISREDIT LOC &ROWN. ISREDIT UP 9 ISREDIT CURSOR = (ROWN,COLN) /********************** END OF 1991/04/29 ADDITIONS */ EXIT