home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / basic / library / qb_pds / screen / hilite / hilite.bas < prev    next >
Encoding:
BASIC Source File  |  1993-09-18  |  1.6 KB  |  67 lines

  1. DEFINT A-Z
  2.  
  3. DECLARE SUB HiLite (Row%, Col%, Length%, MaxRow%, DeAttr%, HiAttr%, RetCode%)
  4.  
  5. DEFSNG A-Z
  6. SUB HiLite (Row%, Col%, Length%, MaxRow%, DeAttr%, HiAttr%, RetCode%)
  7.  
  8.  DEFINT A-Z
  9.  
  10.   Row = Row - 1
  11.   MinRow = Row
  12.   Col = Col * 2 - 1
  13.   MaxRow = MaxRow - 1
  14.  
  15. Lite:
  16.   DEF SEG = &HB800
  17.     FOR I = (Row * 160 + Col) TO ((Row * 160 + Col) + (Length * 2)) STEP 2
  18.         POKE I, HiAttr
  19.     NEXT I
  20.   DEF SEG
  21.  
  22.  
  23.  DO
  24.             DO
  25.                  DEF SEG = 0
  26.                  Alt = PEEK(1047) AND 8
  27.                  IF Alt THEN RetCode = -8: GOTO WeBeDun
  28.          
  29.                  Ky$ = INKEY$               '< Trap 0, NoCanDo 0 on ASC Fn >
  30.                  IF LEN(Ky$) > 0 THEN Ky = ASC(RIGHT$(Ky$, 1))
  31.             LOOP UNTIL LEN(Ky$) > 0
  32.  
  33.      
  34.       SELECT CASE Ky
  35.          CASE 27     '<Esc>
  36.                RetCode = -27
  37.                GOTO WeBeDun
  38.          CASE 80     '<Dn>
  39.                IF Row = MaxRow THEN GOSUB DeLite: Row = MinRow: GOTO Lite
  40.                GOSUB DeLite
  41.                Row = Row + 1
  42.                GOTO Lite
  43.          CASE 72     '<Up>
  44.                IF Row = MinRow THEN GOSUB DeLite: Row = MaxRow: GOTO Lite
  45.                GOSUB DeLite
  46.                Row = Row - 1
  47.                GOTO Lite
  48.          CASE 13     '<Enter>
  49.                RetCode = Row + 1 - MinRow
  50.                GOTO WeBeDun
  51.          CASE ELSE
  52.       END SELECT
  53.  LOOP
  54.  
  55. DeLite:
  56.   DEF SEG = &HB800
  57.     FOR I = (Row * 160 + Col) TO ((Row * 160 + Col) + (Length * 2)) STEP 2
  58.         POKE I, DeAttr
  59.     NEXT I
  60.   DEF SEG
  61.   RETURN
  62.  
  63. WeBeDun:
  64.   DEF SEG
  65.   END SUB
  66.  
  67.