home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / clarion / unalert.zip / UALIB.CLA < prev    next >
Text File  |  1988-08-02  |  2KB  |  79 lines

  1.          TITLE('- Unalert Library Module')
  2.          SUBTITLE('PROCEDURE UNALERT - DEFINITION')
  3.  
  4.          MEMBER('UNALRT')
  5.  
  6. unalert         PROCEDURE(par:keyval)
  7.  
  8.  
  9.  
  10.   OMIT('END OMIT'
  11.   ┌──────────────────────────────────────────────────────────────────────────┐
  12.   │ This procedure will UNALERT a single ALERT key, even from within an         │
  13.   │ ALERT range, using GETALERT and PUTALERT procedures from ALRT.BIN         │
  14.   │                                         │
  15.   │ The ALRT binary module must be defined in the MAP                 │
  16.   └──────────────────────────────────────────────────────────────────────────┘
  17.   END OMIT
  18.  
  19.          EJECT('PROCEDURE UNALERT - LOCAL VARIABLES')
  20.  
  21.  
  22.          GROUP,PRE(par)
  23. keyval           SHORT
  24.          END !GROUP
  25.  
  26.          GROUP,PRE(tmp)
  27. oldkey           SHORT
  28.          END !GROUP
  29.  
  30. j_alertkeys  GROUP,PRE(jak)
  31.            GROUP,DIM(16)
  32. firstkey     SHORT
  33. lastkey         SHORT
  34.            END !GROUP
  35.          END !GROUP
  36.  
  37.          GROUP,PRE(lcv)
  38. postition      BYTE
  39.          END !GROUP
  40.  
  41.          EJECT('PROCEDURE UNALERT - CODE')
  42.  
  43.          CODE
  44.            CLEAR(j_alertkeys)
  45.            GETALERT(j_alertkeys)
  46.  
  47.            LOOP lcv:postition = 1 TO 16
  48.          IF NOT INRANGE(par:keyval,jak:firstkey[lcv:postition]           |
  49.          ,jak:lastkey[lcv:postition])
  50.            CYCLE
  51.  
  52.          ELSIF jak:firstkey[lcv:postition] = par:keyval               |
  53.          AND jak:lastkey[lcv:postition] = keyval
  54.            jak:firstkey[lcv:postition] = 0
  55.            jak:lastkey[lcv:postition] = 0
  56.            PUTALERT(j_alertkeys)
  57.            RETURN
  58.  
  59.          ELSIF jak:firstkey[lcv:postition] = par:keyval
  60.            jak:firstkey[lcv:postition] += 1
  61.            PUTALERT(j_alertkeys)
  62.            RETURN
  63.  
  64.          ELSIF jak:lastkey[lcv:postition] = par:keyval
  65.            jak:lastkey[lcv:postition] -= 1
  66.            PUTALERT(j_alertkeys)
  67.            RETURN
  68.  
  69.          ELSIF par:keyval > jak:firstkey[lcv:postition]               |
  70.          AND par:keyval < jak:lastkey[lcv:postition]
  71.            oldkey = jak:lastkey[lcv:postition]
  72.            jak:lastkey[lcv:postition] = par:keyval-1
  73.            PUTALERT(j_alertkeys)
  74.            ALERT(par:keyval+1,oldkey)
  75.            RETURN
  76.          END !IF
  77.            END !LOOP
  78.  
  79.