home *** CD-ROM | disk | FTP | other *** search
/ Media Share 9 / MEDIASHARE_09.ISO / clarion / commandr.zip / COMMANDR.COM / COMMANDR.CLA < prev    next >
Text File  |  1988-08-20  |  2KB  |  123 lines

  1.     MEMBER
  2.   OMIT('**END**')
  3. ╔══════════════════════════════════════════════════╗
  4. ║            COMMANDR.CLA           ║
  5. ║                           ║
  6. ║  GENERIC MODULE FOR INPUT AND CTRL KEY HANDLING  ║
  7. ║                           ║
  8. ║         PROC(CHK_IDX_KEYS)           ║
  9. ║         PROC(CHK_KEYS)               ║
  10. ║         PROC(INPUT)               ║
  11. ║         PROC(ALERT_KEYS)           ║
  12. ║                           ║
  13. ║           COPYRIGHT @1988           ║
  14. ║     MICHAEL RHEA AND COMPUSOFT SYSTEMS       ║
  15. ║              4714 CLAY               ║
  16. ║         HOUSTON, TX 77023           ║
  17. ║           (713) 926-1711           ║
  18. ╚══════════════════════════════════════════════════╝
  19. **END**
  20.  
  21. CHK_KEYS   PROCEDURE
  22.    CODE
  23.  
  24.    CASE KEYCODE()
  25.     OF ESC_KEY
  26.        CUR_FLD -=1
  27.        IF CUR_FLD < FST_FLD THEN CUR_FLD = FST_FLD.
  28.     OF UP_KEY
  29.        CUR_FLD -=1
  30.        IF CUR_FLD < FST_FLD THEN CUR_FLD = FST_FLD.
  31.     OF DOWN_KEY
  32.        CUR_FLD +=1
  33.        IF CUR_FLD > LST_FLD THEN CUR_FLD = LST_FLD.
  34.     OF PGUP_KEY
  35.        CUR_FLD = FST_FLD
  36.     OF PGDN_KEY
  37.        CUR_FLD = LST_FLD
  38.     OF CTRL_ESC
  39.        CUR_FLD = FST_FLD
  40.     OF CTRL_ENTER
  41.        RETURN
  42.     OF CTRL_D
  43.        RETURN
  44.     OF CTRL_L
  45.        RETURN
  46.     ELSE CUR_FLD +=1
  47.     .
  48.     RETURN
  49.  
  50. CHK_IDX_KEYS PROCEDURE
  51.    CODE
  52.    CASE KEYCODE()
  53.     OF ESC_KEY
  54.        IF COUNT = 0     THEN CUR_FLD -=1
  55.        ELSE COUNT -= 1.
  56.        IF CUR_FLD < FST_FLD THEN CUR_FLD = FST_FLD.
  57.     OF UP_KEY
  58.        IF COUNT = 0     THEN CUR_FLD -=1
  59.        ELSE COUNT -= 1.
  60.        IF CUR_FLD < FST_FLD THEN CUR_FLD = FST_FLD.
  61.     OF DOWN_KEY
  62.        IF COUNT = MAX_COUNT
  63.           COUNT = 0
  64.           CUR_FLD += 1
  65.        ELSE COUNT += 1.
  66.       IF CUR_FLD > LST_FLD THEN CUR_FLD = LST_FLD.
  67.     OF PGUP_KEY
  68.        CUR_FLD = FST_FLD
  69.        COUNT = 0
  70.     OF PGDN_KEY
  71.        CUR_FLD = LST_FLD
  72.        COUNT = 0
  73.     OF CTRL_ESC
  74.        CUR_FLD = FST_FLD
  75.        COUNT = 0
  76.     ELSE
  77.       IF COUNT    = MAX_COUNT
  78.      COUNT = 0
  79.      CUR_FLD += 1
  80.       ELSE COUNT += 1.
  81.     .
  82.     RETURN
  83. INPUT  PROCEDURE(REC_WIN,PROMPT)
  84.  
  85. PROMPT       STRING(1)
  86. REC_WIN       LONG
  87.  
  88.   CODE
  89.     IF PROMPT = '-'
  90.       REC_KEY=REC_WIN + HLP_FIND
  91.       GET(HLP_FILE,MEM_KEY)
  92.       DISPLAY(FIELDS())
  93.  
  94.     ACCEPT
  95.     CLEAR(HLP_NTS)
  96.     RETURN
  97.     .
  98.     IF PROMPT = 'N'
  99.        REC_KEY=REC_WIN
  100.        GET(HLP_FILE,MEM_KEY)
  101.        DISPLAY(FIELDS())
  102.     RETURN
  103.     .
  104.     IF PROMPT = 'C'
  105.       CLEAR(HLP_NTS)
  106.       RETURN.
  107.    RETURN
  108.  
  109. ALERT_KEYS   PROCEDURE
  110.    CODE
  111.      ALERT(ESC_KEY)
  112.      ALERT(CTRL_ESC)
  113.      ALERT(PGUP_KEY)
  114.      ALERT(PGDN_KEY)
  115.      ALERT(CTRL_ENTER)
  116.      ALERT(CTRL_PGDN)
  117.      ALERT(DOWN_KEY)
  118.      ALERT(UP_KEY)
  119.      ALERT(CTRL_D)
  120.      ALERT(CTRL_L)
  121.    RETURN
  122.  
  123.