home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / pocketbk / developmen / frame / FTEST.OPL < prev    next >
Text File  |  1993-01-17  |  5KB  |  148 lines

  1. REM APPLICATION FRAMEWORK FOR PSION SERIES 3. TEST APPLICATION
  2. REM ==========================================================
  3. REM By: John Hind. (Full documentation in FRAME.TXT)
  4.  
  5. APP fTest
  6.  TYPE 3
  7.  PATH "\OPL"
  8.  EXT "OPL"
  9. ENDA
  10.  
  11. PROC fTest:
  12.  GLOBAL m1%,m2%,m3%
  13.  m1%=$0737                           REM Mask with timers disabled
  14.  m2%=$0777                           REM Mask with Seconds Timer
  15.  m3%=$07B7                           REM Mask with Minutes Timer
  16.  
  17.  LOADM "\OPO\FRAMELIB.OPO"           REM Load the Application Framework code
  18.  aHkC%:                              REM Clear screen and print heading
  19.  fAutoOff:                           REM Allow automatic switch-off
  20.  fRun:(m1%,"XMSOCADU",-1)            REM Run application
  21. ENDP
  22.  
  23. PROC aOpen%:                         REM Callback for file opening
  24.  PRINT "aOpen",fParm$
  25.  RETURN 0
  26. ENDP
  27.  
  28. PROC aCreate%:                       REM Callback for file creation
  29.  PRINT "aCreate",fParm$
  30.  RETURN 0
  31. ENDP
  32.  
  33. PROC aClose%:                        REM Calback for file closing
  34.  PRINT "aClose"
  35.  RETURN 0
  36. ENDP
  37.  
  38. PROC aError%:(e%)                    REM Callback for handling errors
  39.  PRINT "aError",e%,fParm$
  40.  RETURN 0
  41. ENDP
  42.  
  43. PROC aHkX%:                          REM Callback to exit application on PSION-X
  44.  RETURN 100                          REM "Exit from application" message
  45. ENDP
  46.  
  47. PROC aHkS%:                          REM Callback to start seconds timer on PSION-S
  48.  fParm%=m2%
  49.  RETURN 129                          REM "Change message mask" message
  50. ENDP
  51.  
  52. PROC aHkO%:                          REM Callback to stop timers on PSION-O
  53.  fParm%=m1%
  54.  RETURN 129                          REM "Change message mask" message
  55. ENDP
  56.  
  57. PROC aHkM%:                          REM Callback to start minutes timer on PSION-M
  58.  fParm%=m3%
  59.  RETURN 129                          REM "Change message mask" message
  60. ENDP
  61.  
  62. PROC aHkC%:                          REM Callback to clear screen on PSION-C
  63.  CLS
  64.  PRINT "Application Framework Test"
  65.  PRINT "Library version:",fVer%:
  66.  RETURN 0
  67. ENDP
  68.  
  69. PROC aHkD%:                          REM Callback to raise a system error on PSION-D
  70.  RETURN 1/0
  71. ENDP
  72.  
  73. PROC aHkU%:                          REM Callback to raise an application error on PSION-U
  74.  fParm$="Application error"
  75.  RETURN -10                          REM Application defined error message
  76. ENDP
  77.  
  78. PROC aHkA%:                          REM Callback to bring up an Alert Box on PSION-A
  79.  fLock:
  80.   ALERT("Alert Box")                 REM NOTE use of fLock: and fUnlock.
  81.  fUnlock:
  82.  RETURN 0
  83. ENDP
  84.  
  85. PROC aMh5%:                          REM Callback for "Printable key pressed" message
  86.  Print "Printkey",fParm%,fParm$,fKmod%
  87.  RETURN 0
  88. ENDP
  89.  
  90. PROC aMh6%:                          REM Callback for "Special key pressed" message
  91.  Print "Specialkey",fParm%,fKmod%
  92.  RETURN 0
  93. ENDP
  94.  
  95. PROC aMh9%:                          REM Callback for "Menu key pressed" message
  96.  LOCAL k%
  97.  
  98.  mINIT                               REM Create menu system
  99.  mCARD "Timer","Secs",%S,"Mins",%M,"Off",%O
  100.  mCARD "Dialogue","Alert",%A
  101.  mCARD "Error","Divide by zero",%D,"User defined",%U
  102.  mCARD "Control","Cls",%C,"Exit",%X
  103.  k%=fMenu%:                          REM Show menu (NOTE: bug fixed version of MENU)
  104.  IF k%=0                             REM Menu aborted by user
  105.   RETURN 0                           REM Return null command
  106.  ELSE
  107.   fParm%=k%                          REM Parameter for "Hotkey pressed" message
  108.   RETURN 4                           REM "Hotkey pressed" message
  109.  ENDIF
  110. ENDP
  111.  
  112. PROC aMh10%:                         REM Callback for "Help key pressed" message
  113.  Print "Help"
  114.  RETURN 0
  115. ENDP
  116.  
  117. PROC aMh11%:                         REM Callback for "Nothing Better to Do" message
  118.  Print "Nothing better to do"
  119.  RETURN 0
  120. ENDP
  121.  
  122. PROC aMh1%:                          REM Callback for "Application moved to foreground" message
  123.  Print "FOREGROUND"
  124.  RETURN 0
  125. ENDP
  126.  
  127. PROC aMh2%:                          REM Callback for "Application moved to background" message
  128.  Print "BACKGROUND"
  129.  RETURN 0
  130. ENDP
  131.  
  132. PROC aMh3%:                          REM Callback for "Machine switched on" message
  133.  Print "SWITCHON"
  134.  RETURN 0
  135. ENDP
  136.  
  137. PROC aMh7%:                          REM Callback for "Seconds timer expired" message
  138.  BEEP 5,300
  139.  RETURN 0
  140. ENDP
  141.  
  142. PROC aMh8%:                          REM Callback for "Minutes timer expired" message
  143.  PRINT "MinTimer Elapsed:",fParm%,"Seconds:",SECOND
  144.  RETURN 0
  145. ENDP
  146.  
  147. REM End of Source Code.
  148.