home *** CD-ROM | disk | FTP | other *** search
- DEFINT A-Z
-
- DECLARE SUB HiLite (Row%, Col%, Length%, MaxRow%, DeAttr%, HiAttr%, RetCode%)
-
- DEFSNG A-Z
- SUB HiLite (Row%, Col%, Length%, MaxRow%, DeAttr%, HiAttr%, RetCode%)
-
- DEFINT A-Z
-
- Row = Row - 1
- MinRow = Row
- Col = Col * 2 - 1
- MaxRow = MaxRow - 1
-
- Lite:
- DEF SEG = &HB800
- FOR I = (Row * 160 + Col) TO ((Row * 160 + Col) + (Length * 2)) STEP 2
- POKE I, HiAttr
- NEXT I
- DEF SEG
-
-
- DO
- DO
- DEF SEG = 0
- Alt = PEEK(1047) AND 8
- IF Alt THEN RetCode = -8: GOTO WeBeDun
-
- Ky$ = INKEY$ '< Trap 0, NoCanDo 0 on ASC Fn >
- IF LEN(Ky$) > 0 THEN Ky = ASC(RIGHT$(Ky$, 1))
- LOOP UNTIL LEN(Ky$) > 0
-
-
- SELECT CASE Ky
- CASE 27 '<Esc>
- RetCode = -27
- GOTO WeBeDun
- CASE 80 '<Dn>
- IF Row = MaxRow THEN GOSUB DeLite: Row = MinRow: GOTO Lite
- GOSUB DeLite
- Row = Row + 1
- GOTO Lite
- CASE 72 '<Up>
- IF Row = MinRow THEN GOSUB DeLite: Row = MaxRow: GOTO Lite
- GOSUB DeLite
- Row = Row - 1
- GOTO Lite
- CASE 13 '<Enter>
- RetCode = Row + 1 - MinRow
- GOTO WeBeDun
- CASE ELSE
- END SELECT
- LOOP
-
- DeLite:
- DEF SEG = &HB800
- FOR I = (Row * 160 + Col) TO ((Row * 160 + Col) + (Length * 2)) STEP 2
- POKE I, DeAttr
- NEXT I
- DEF SEG
- RETURN
-
- WeBeDun:
- DEF SEG
- END SUB
-
-