home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / pocketbk / developmen / oplexamp / EX_MENUS.OPL < prev    next >
Text File  |  1992-08-27  |  1KB  |  65 lines

  1. proc a:
  2. print "Psion-Esc to quit"
  3. print "try Menu key... or hotkeys"
  4. do
  5.     print chr$(kget%:);
  6. until 0
  7. endp
  8.  
  9. PROC kget%:
  10.     LOCAL k%,h$(9),a$(5)
  11.     h$="NOSCIEFGD" REM our hot-keys
  12.     WHILE 1
  13.         k%=GET
  14.         IF k%=$122 REM Menu key
  15.             mINIT
  16.              mCARD "File","New",%N,"Open",%O,"Save",%S
  17.             mCARD "Edit","Copy",%C,"Insert",%I,"Eval",%E
  18.             mCARD "Search","First",%F,"Next",%G,"Previous",%D
  19.             k%=MENU
  20.             IF k% AND INTF(LOC(h$,CHR$(k%)))
  21.                  a$="proc"+CHR$(k%)
  22.                 @(a$): REM procn:, proco:, ...
  23.             ENDIF
  24.         ELSEIF k% AND $200 REM hot-key (PSION key used)
  25.             k%=(k%-$200) AND $FFDF REM Uppercase
  26.             k%=LOC(h$,CHR$(k%)) REM One of ours?
  27.             IF k%
  28.                  a$="proc"+MID$(h$,k%,1)
  29.                 @(a$): REM procn:, proco:, ...
  30.             ENDIF REM ignore other weird keypresses
  31.         ELSE REM some other key
  32.             RETURN k%
  33.         ENDIF
  34.     ENDWH
  35. ENDP
  36.  
  37.  
  38. PROC procn:
  39. print "!N!"
  40. ENDP
  41. PROC proco:
  42. print "!O!"
  43. ENDP
  44. PROC procs:
  45. print "!S!"
  46. ENDP
  47. PROC procc:
  48. print "!C!"
  49. ENDP
  50. PROC proci:
  51. print "!I!"
  52. ENDP
  53. PROC proce:
  54. print "!E!"
  55. ENDP
  56. PROC procf:
  57. print "!F!"
  58. ENDP
  59. PROC procg:
  60. print "!G!"
  61. ENDP
  62. PROC procd:
  63. print "!D!"
  64. ENDP
  65.