!**************** init'hot'spot: !**************** ! ! Initialize hot spot processing. ! ! NOTE: Call once at top of program ! ! input: ! none ! ! output: ! none ! XCALL WINFLG, hotspt, 162.0 RETURN !**************** set'hot'spot: !**************** ! ! Set the hot spots for this screen ! ! input: ! hot'spot(x) Set the hot spot table (hs'row, hs'col, hs'len). ! ! output: ! none ! hot'cnt = 0 IF hotspt = 0 & RETURN FOR hs'x = 1 TO 75 IF hs'row(hs'x) = "" & hs'x = 75 & ELSE & hot'cnt = hot'cnt + 1 NEXT hs'x PRINT TAB(-1,162);CHR$(hot'cnt+32); IF hot'cnt = 0 & RETURN FOR hs'x = 1 TO hot'cnt hs'r = VAL(hs'row(hs'x)) hs'c = VAL(hs'col(hs'x)) hs'l = VAL(hs'len(hs'x)) hs'key = hs'str(hs'x) PRINT CHR$(LEN(hs'key)+32);hs'key; & CHR(hs'r+31); IF hs'c > 96 & PRINT CHR(25);CHR(hs'c-65); & ELSE & PRINT CHR(hs'c+31); PRINT CHR(hs'r+31); hs'c = hs'c + hs'l - 1 IF hs'c > 96 & PRINT CHR(25);CHR(hs'c-65); & ELSE & PRINT CHR(hs'c+31); NEXT hs'x hot'cnt = 0 RETURN !***************** clear'hot'spot: !***************** ! ! Clear the hot spots ! ! input: ! none ! ! output: ! none ! hot'cnt = 0 IF hotspt = 0 & RETURN FOR hs'x = 1 TO 75 hs'row(hs'x) = "" NEXT hs'x PRINT TAB(-1,159); RETURN .