Integrating the PSION Organiser LZ Top Level Menu services with your OPL programming application.
Integrating the PSION Organiser LZ Top Level Menu services with your OPL programming application.
Calling the Diary (and other services) from the Top Level Menu
Calling the Diary (and other services) from the Top Level Menu
As good as the AdDate program below is. Consider this method of calling Organiser II Top Level Menu 'Applications' . The address calls can be found in the Technical Reference Manual (p116)
MenuCall
MenuCall
MenuCall:LOCAL M%,A%(3)
REM Rename this procedure to suit you needsREM Martin Reid January 2024
TOP::DOKSTAT 1 :REM Upper Alpha M%=MENUN(2,"Back,Diary,Notes,xFiles,Save,Utils,Find,Quit,Off") IF M%<2 :RETURN :REM ON/CLEAR & Back ELSEIF M%=3 :GOTO TPDiary:: ELSEIF M%=4 :GOTO TPNotes:: ELSEIF M%=5 :GOTO TPxFiles:: ELSEIF M%=6 :GOTO TPSave:: ELSEIF M%=7 :GOTO TPUtils:: ELSEIF M%=8 :GOTO TPFind:: ELSEIF M%=9 :STOP :REM Could be RETURN ELSEIF M%=10 :OFF ENDIFUNTIL M%=-1
GOTO TOP::REM Could be RETURN
TPDiary::A%(1)=$C601 :rem 1=Week, 3=MonthA%(2)=$3FA7A%(3)=$3901USR(ADDR(A%()),0)CLSGOTO TOP::
TPNotes::A%(1)=$C601A%(2)=$3F9FA%(3)=$3901USR(ADDR(A%()),0)CLSGOTO TOP::
TPxFiles::A%(1)=$C601 :REM 1=xFiles, 4=Find, 5=SaveA%(2)=$3FA8A%(3)=$3901USR(ADDR(A%()),0)CLSGOTO TOP::
TPSave::A%(1)=$C605 :REM 1=xFiles, 4=Find, 5=SaveA%(2)=$3FA8A%(3)=$3901USR(ADDR(A%()),0)CLSGOTO TOP::
TPUtils::A%(1)=$C601 :rem 1=Utils, 3=Info, 9=DirA%(2)=$3FA1A%(3)=$3901USR(ADDR(A%()),0)CLSGOTO TOP::
TPFind::A%(1)=$C604 :REM 1=xFiles, 4=Find, 5=SaveA%(2)=$3FA8A%(3)=$3901USR(ADDR(A%()),0)CLSGOTO TOP::
REM Rename this procedure to suit you needsREM Martin Reid January 2024
TOP::DOKSTAT 1 :REM Upper Alpha M%=MENUN(2,"Back,Diary,Notes,xFiles,Save,Utils,Find,Quit,Off") IF M%<2 :RETURN :REM ON/CLEAR & Back ELSEIF M%=3 :GOTO TPDiary:: ELSEIF M%=4 :GOTO TPNotes:: ELSEIF M%=5 :GOTO TPxFiles:: ELSEIF M%=6 :GOTO TPSave:: ELSEIF M%=7 :GOTO TPUtils:: ELSEIF M%=8 :GOTO TPFind:: ELSEIF M%=9 :STOP :REM Could be RETURN ELSEIF M%=10 :OFF ENDIFUNTIL M%=-1
GOTO TOP::REM Could be RETURN
TPDiary::A%(1)=$C601 :rem 1=Week, 3=MonthA%(2)=$3FA7A%(3)=$3901USR(ADDR(A%()),0)CLSGOTO TOP::
TPNotes::A%(1)=$C601A%(2)=$3F9FA%(3)=$3901USR(ADDR(A%()),0)CLSGOTO TOP::
TPxFiles::A%(1)=$C601 :REM 1=xFiles, 4=Find, 5=SaveA%(2)=$3FA8A%(3)=$3901USR(ADDR(A%()),0)CLSGOTO TOP::
TPSave::A%(1)=$C605 :REM 1=xFiles, 4=Find, 5=SaveA%(2)=$3FA8A%(3)=$3901USR(ADDR(A%()),0)CLSGOTO TOP::
TPUtils::A%(1)=$C601 :rem 1=Utils, 3=Info, 9=DirA%(2)=$3FA1A%(3)=$3901USR(ADDR(A%()),0)CLSGOTO TOP::
TPFind::A%(1)=$C604 :REM 1=xFiles, 4=Find, 5=SaveA%(2)=$3FA8A%(3)=$3901USR(ADDR(A%()),0)CLSGOTO TOP::
Testing
Testing
TEST:GLOBAL D%(2),DS%(2),DT$(2,7)LOCAL i%,SS%
REM Generate FILE IN USE errorREM Remove the REMs & test for errorREM OPEN "C:MAIN",D,b$
SS%=SECOND
REM Check SlotsPakInfo:(1,2,"Looking")
REM Print Resultsi%=1DOPRINT D%(i%),DT$(i%),NUM$(DS%(i%),3)+"K"i%=i%+1UNTIL i%>=3
PRINT "Time ",SECOND-SS%
GET
REM Generate FILE IN USE errorREM Remove the REMs & test for errorREM OPEN "C:MAIN",D,b$
SS%=SECOND
REM Check SlotsPakInfo:(1,2,"Looking")
REM Print Resultsi%=1DOPRINT D%(i%),DT$(i%),NUM$(DS%(i%),3)+"K"i%=i%+1UNTIL i%>=3
PRINT "Time ",SECOND-SS%
GET
AdDate Diary Integration
AdDate Diary Integration
AdDate.zip (here) contains the information sheet above and the five OPL routines outlined
Psion Organiser II users who would like to comment or are looking for further information can leave a message for Martin