16-May-1985 11:35:37 VAX-11 FORTRAN V3.5-62 Page 1 16-May-1985 11:35:29 [JEFF.LAND.SCREEN]KEYHELP.FOR;7 0001 SUBROUTINE SCR_KEYHELP(LOGMODE,LOGKEY) 0002 C 0003 C The variables passed to KEYHELP define how the keypad 0004 C is to perform. They can not be modified by this routine. 0005 C This routine's sole purpose is to display in bold print 0006 C how the keypad is defined. 0007 C 0008 C 0009 C WRITTEN BY G. LAND APRIL 2, 1985 0010 C_________________________________________________________________ 0011 LOGICAL*1 LOGKEY,LOGMODE 0012 INCLUDE 'SCREEN.FOR' 0025 CHARACTER*1 IANS 0026 CHARACTER*57 L1 0027 & /'---------------------------------------------------------'/ 0028 CHARACTER*57 L2 0029 & /'|-------------|-------------|-------------|-------------|'/ 0030 CHARACTER*57 L3 0031 & /'| | | | |'/ 0032 CHARACTER*43 L4 0033 & /'|---------------------------|-------------|'/ 0034 DATA IBOLD/2/ 0035 C 0036 C CLEAR SCREEN 0037 C 0038 CALL LIB$ERASE_PAGE(1,1) 0039 C 0040 C DRAW OUTLINE OF KEYPAD 0041 C 0042 CALL LIB$PUT_SCREEN(L1,1,2) 0043 CALL LIB$PUT_SCREEN(L3,2,2) 0044 CALL LIB$PUT_SCREEN(L3,3,2) 0045 CALL LIB$PUT_SCREEN(L3,4,2) 0046 CALL LIB$PUT_SCREEN(L2,5,2) 0047 CALL LIB$PUT_SCREEN(L3,6,2) 0048 CALL LIB$PUT_SCREEN(L3,7,2) 0049 CALL LIB$PUT_SCREEN(L3,8,2) 0050 CALL LIB$PUT_SCREEN(L2,9,2) 0051 CALL LIB$PUT_SCREEN(L3,10,2) 0052 CALL LIB$PUT_SCREEN(L3,11,2) 0053 CALL LIB$PUT_SCREEN(L3,12,2) 0054 CALL LIB$PUT_SCREEN(L2,13,2) 0055 CALL LIB$PUT_SCREEN(L3,14,2) 0056 CALL LIB$PUT_SCREEN(L3,15,2) 0057 CALL LIB$PUT_SCREEN(L3,16,2) 0058 CALL LIB$PUT_SCREEN(L4,17,2) 0059 CALL LIB$PUT_SCREEN(L3,18,2) 0060 CALL LIB$PUT_SCREEN(L3,19,2) 0061 CALL LIB$PUT_SCREEN(L3,20,2) 0062 CALL LIB$PUT_SCREEN(L1,21,2) 0063 0064 C 0065 C PRINT FUNCTION KEYS 0066 C 0067 IFLAG=0 0068 CALL LIB$PUT_SCREEN('PF1',2,4,IFLAG) 0069 CALL LIB$PUT_SCREEN('PF2',2,18,IFLAG) SCR_KEYHELP 16-May-1985 11:35:37 VAX-11 FORTRAN V3.5-62 Page 2 16-May-1985 11:35:29 [JEFF.LAND.SCREEN]KEYHELP.FOR;7 0070 CALL LIB$PUT_SCREEN('PF3',2,32,IFLAG) 0071 CALL LIB$PUT_SCREEN('PF4',2,46,IFLAG) 0072 C 0073 C IF ALTERNATE KEYPAD WAS SELECTED PRINT NUMERIC KEY DESIGNATIONS 0074 C NORMAL. IF NUMERIC KEYPAD WAS SELECTED PRINT NUMERIC KEY 0075 C DESIGNATIONS BOLD STYLE. 0076 C 0077 IF(LOGKEY)THEN 0078 IFLAG=0 0079 ELSE 0080 IFLAG=1 0081 END IF 0082 CALL LIB$PUT_SCREEN('7',6,4,IFLAG) 0083 CALL LIB$PUT_SCREEN('8',6,18,IFLAG) 0084 CALL LIB$PUT_SCREEN('9',6,32,IFLAG) 0085 CALL LIB$PUT_SCREEN('-',6,46,IFLAG) 0086 CALL LIB$PUT_SCREEN('4',10,4,IFLAG) 0087 CALL LIB$PUT_SCREEN('5',10,18,IFLAG) 0088 CALL LIB$PUT_SCREEN('6',10,32,IFLAG) 0089 CALL LIB$PUT_SCREEN(',',10,46,IFLAG) 0090 CALL LIB$PUT_SCREEN('1',14,4,IFLAG) 0091 CALL LIB$PUT_SCREEN('2',14,18,IFLAG) 0092 CALL LIB$PUT_SCREEN('3',14,32,IFLAG) 0093 CALL LIB$PUT_SCREEN('ENTER',14,46,IFLAG) 0094 CALL LIB$PUT_SCREEN('0',18,4,IFLAG) 0095 CALL LIB$PUT_SCREEN('.',18,32,IFLAG) 0096 C 0097 C IF ALTERNATE KEYPAD WAS SELECTED PRINT ALTERNATE KEY 0098 C DESIGNATIONS BOLD STYLE. IF NUMERIC KEYPAD WAS SELECTED 0099 C PRINT ALTERNATE KEY DESIGNATIONS NORMAL STYLE. 0100 C 0101 IF(LOGKEY)THEN 0102 IFLAG=1 0103 ELSE 0104 IFLAG=0 0105 END IF 0106 CALL LIB$PUT_SCREEN('GOLD',3,7,IBOLD) 0107 CALL LIB$PUT_SCREEN('HELP',3,21,IFLAG) 0108 CALL LIB$PUT_SCREEN('TOGGLE',3,34,IFLAG) 0109 CALL LIB$PUT_SCREEN('DEL L',3,49,IFLAG) 0110 CALL LIB$PUT_SCREEN('KEYPAD',4,34,IFLAG) 0111 CALL LIB$PUT_SCREEN('UND L',4,49,IBOLD) 0112 CALL LIB$PUT_SCREEN('UNDEFINED',7,4,IFLAG) 0113 CALL LIB$PUT_SCREEN('UNDEFINED',7,18,IFLAG) 0114 CALL LIB$PUT_SCREEN('UNDEFINED',7,32,IFLAG) 0115 CALL LIB$PUT_SCREEN('DEL W',7,49,IFLAG) 0116 CALL LIB$PUT_SCREEN('UND W',8,49,IBOLD) 0117 CALL LIB$PUT_SCREEN('ADVANCE',11,5,IFLAG) 0118 CALL LIB$PUT_SCREEN('BACKUP',11,20,IFLAG) 0119 CALL LIB$PUT_SCREEN('UNDEFINED',11,32,IFLAG) 0120 CALL LIB$PUT_SCREEN('DEL C',11,49,IFLAG) 0121 CALL LIB$PUT_SCREEN('BOTTOM',12,6,IBOLD) 0122 CALL LIB$PUT_SCREEN('TOP',12,21,IBOLD) 0123 CALL LIB$PUT_SCREEN('UND C',12,49,IBOLD) 0124 CALL LIB$PUT_SCREEN('NEXT',15,7,IFLAG) 0125 CALL LIB$PUT_SCREEN('EOL',15,21,IFLAG) 0126 CALL LIB$PUT_SCREEN('UNDEFINED',15,32,IFLAG) SCR_KEYHELP 16-May-1985 11:35:37 VAX-11 FORTRAN V3.5-62 Page 3 16-May-1985 11:35:29 [JEFF.LAND.SCREEN]KEYHELP.FOR;7 0127 CALL LIB$PUT_SCREEN('WORD',16,7,IFLAG) 0128 CALL LIB$PUT_SCREEN('DEL EOL',16,19,IBOLD) 0129 CALL LIB$PUT_SCREEN('DONE',17,49,IFLAG) 0130 CALL LIB$PUT_SCREEN('NEXT',19,14,IFLAG) 0131 CALL LIB$PUT_SCREEN('TOGGLE',19,34,IFLAG) 0132 CALL LIB$PUT_SCREEN('FIELD',20,14,IFLAG) 0133 CALL LIB$PUT_SCREEN('EXC/INS',20,34,IFLAG) 0134 C 0135 C PUT STATUS LINE AT BOTTOM 0136 C 0137 CALL LIB$PUT_SCREEN('/',23,16) 0138 CALL LIB$PUT_SCREEN('/',23,55) 0139 IF(LOGMODE)THEN 0140 CALL LIB$PUT_SCREEN('EXCHANGE MODE',23,2,1) 0141 CALL LIB$PUT_SCREEN('INSERT MODE',23,18) 0142 ELSE 0143 CALL LIB$PUT_SCREEN('EXCHANGE MODE',23,2) 0144 CALL LIB$PUT_SCREEN('INSERT MODE',23,18,1) 0145 END IF 0146 C 0147 IF(LOGKEY)THEN 0148 CALL LIB$PUT_SCREEN('ALTERNATE KEYPAD',23,38,1) 0149 CALL LIB$PUT_SCREEN('NUMERIC KEYPAD',23,57) 0150 ELSE 0151 CALL LIB$PUT_SCREEN('ALTERNATE KEYPAD',23,38) 0152 CALL LIB$PUT_SCREEN('NUMERIC KEYPAD',23,57,1) 0153 END IF 0154 IFLAG = 0 0155 CALL LIB$PUT_SCREEN('CONTROL CHARACTERS',2,62,1) 0156 CALL LIB$PUT_SCREEN('^B := INVERSE DSP',4,62,IFLAG) 0157 CALL LIB$PUT_SCREEN('^C := ABORT',5,62,IFLAG) 0158 CALL LIB$PUT_SCREEN('^V := REPAINT VAL',6,62,IFLAG) 0159 CALL LIB$PUT_SCREEN('^W := REPAINT SCN',7,62,IFLAG) 0160 CALL LIB$PUT_SCREEN('^Y := ABORT',8,62,IFLAG) 0161 CALL LIB$PUT_SCREEN('^Z := ACCEPT DATA',9,62,IFLAG) 0162 0163 CALL LIB$PUT_SCREEN('PRESS RETURN TO EXIT HELP',24,1) 0164 ACCEPT 100,IANS(1:1) 0165 100 FORMAT(A) 0166 CALL SCR_WRTSECT 0167 CALL LIB$SET_CURSOR(ILIN,ICOL) 0168 RETURN 0169 END SCR_KEYHELP 16-May-1985 11:35:37 VAX-11 FORTRAN V3.5-62 Page 4 16-May-1985 11:35:29 [JEFF.LAND.SCREEN]KEYHELP.FOR;7 COMMAND QUALIFIERS FORTRAN /LIST/NOSHOW KEYHELP /CHECK=(NOBOUNDS,OVERFLOW,NOUNDERFLOW) /DEBUG=(NOSYMBOLS,TRACEBACK) /STANDARD=(NOSYNTAX,NOSOURCE_FORM) /SHOW=(NOPREPROCESSOR,NOINCLUDE,NOMAP) /F77 /NOG_FLOATING /I4 /OPTIMIZE /WARNINGS /NOD_LINES /NOCROSS_REFERENCE /NOMACHINE_CODE /CONTINUATIONS=19 COMPILATION STATISTICS Run Time: 5.04 seconds Elapsed Time: 10.69 seconds Page Faults: 221 Dynamic Memory: 160 pages