EPOC logo Left Right Up
Appendix E: Listing of Const.oph for Series 5

Appendix E: Listing of Const.oph for Series 5

    REM CONST.OPH version 1.10
    REM Constants for OPL
    REM Last edited on 19 May 1997
    REM (C) Copyright Psion PLC 1997
    
    REM General constants
    CONST KTrue%=-1
    CONST KFalse%=0
    
    REM Data type ranges
    CONST KMaxStringLen%=255
    CONST KMaxFloat=1.7976931348623157E+308
    CONST KMinFloat=2.2250738585072015E-308
    REM Minimum with full precision in mantissa
    CONST KMinFloatDenorm=5e-324
    REM Denormalised (just one bit of precision left)
    CONST KMinInt%=$8000
    REM -32768 (translator needs hex for maximum ints)
    CONST KMaxInt%=32767
    CONST KMinLong&=&80000000      REM -2147483648 (hex for translator)
    CONST KMaxLong&=2147483647
    
    REM Special keys
    CONST KKeyEsc%=27
    CONST KKeySpace%=32
    CONST KKeyDel%=8
    CONST KKeyTab%=9
    CONST KKeyEnter%=13
    CONST KGetMenu%=4150
    CONST KKeyUpArrow%=4105
    CONST KKeyDownArrow%=4106
    CONST KKeyLeftArrow%=4103
    CONST KKeyRightArrow%=4104
    CONST KKeyPageUp%=4100
    CONST KKeyPageDown%=4101
    CONST KKeyPageLeft%=4098
    CONST KKeyPageRight%=4099
    
    REM Month numbers
    CONST KJanuary%=1
    CONST KFebruary%=2
    CONST KMarch%=3
    CONST KApril%=4
    CONST KMay%=5
    CONST KJune%=6
    CONST KJuly%=7
    CONST KAugust%=8
    CONST KSeptember%=9
    CONST KOctober%=10
    CONST KNovember%=11
    CONST KDecember%=12
    
    REM Graphics
    CONST KDefaultWin%=1
    CONST KgModeSet%=0
    CONST KgModeClear%=1
    CONST KgModeInvert%=2
    CONST KtModeSet%=0
    CONST KtModeClear%=1
    CONST KtModeInvert%=2
    CONST KtModeReplace%=3
    
    CONST KgStyleNormal%=0
    CONST KgStyleBold%=1
    CONST KgStyleUnder%=2
    CONST KgStyleInverse%=4
    CONST KgStyleDoubleHeight%=8
    CONST KgStyleMonoFont%=16
    CONST KgStyleItalic%=32
    
    REM For 32-bit status words IOWAIT and IOWAITSTAT32
    REM Use KErrFilePending% (-46) for 16-bit status words
    CONST KStatusPending32&=&80000001
    
    REM Error codes
    CONST KErrGenFail%=-1
    CONST KErrInvalidArgs%=-2
    CONST KErrOs%=-3
    CONST KErrNotSupported%=-4
    CONST KErrUnderflow%=-5
    CONST KErrOverflow%=-6
    CONST KErrOutOfRange%=-7
    CONST KErrDivideByZero%=-8
    CONST KErrInUse%=-9
    CONST KErrNoMemory%=-10
    CONST KErrNoSegments%=-11
    CONST KErrNoSemaphore%=-12
    CONST KErrNoProcess%=-13
    CONST KErrAlreadyOpen%=-14
    CONST KErrNotOpen%=-15
    CONST KErrImage%=-16
    CONST KErrNoReceiver%=-17
    CONST KErrNoDevices%=-18
    CONST KErrNoFileSystem%=-19
    CONST KErrFailedToStart%=-20
    CONST KErrFontNotLoaded%=-21
    CONST KErrTooWide%=-22
    CONST KErrTooManyItems%=-23
    CONST KErrBatLowSound%=-24
    CONST KErrBatLowFlash%=-25
    CONST KErrExists%=-32
    CONST KErrNotExists%=-33
    CONST KErrWrite%=-34
    CONST KErrRead%=-35
    CONST KErrEof%=-36
    CONST KErrFull%=-37
    CONST KErrName%=-38
    CONST KErrAccess%=-39
    CONST KErrLocked%=-40
    CONST KErrDevNotExist%=-41
    CONST KErrDir%=-42
    CONST KErrRecord%=-43
    CONST KErrReadOnly%=-44
    CONST KErrInvalidIO%=-45
    CONST KErrFilePending%=-46
    CONST KErrVolume%=-47
    CONST KErrIOCancelled%=-48
    REM OPL specific errors
    CONST KErrSyntax%=-77
    CONST KOplStructure%=-85
    CONST KErrIllegal%=-96
    CONST KErrNumArg%=-97
    CONST KErrUndef%=-98
    CONST KErrNoProc%=-99
    CONST KErrNoFld%=-100
    CONST KErrOpen%=-101
    CONST KErrClosed%=-102
    CONST KErrRecSize%=-103
    CONST KErrModLoad%=-104
    CONST KErrMaxLoad%=-105
    CONST KErrNoMod%=-106
    CONST KErrNewVer%=-107
    CONST KErrModNotLoaded%=-108
    CONST KErrBadFileType%=-109
    CONST KErrTypeViol%=-110
    CONST KErrSubs%=-111
    CONST KErrStrTooLong%=-112
    CONST KErrDevOpen%=-113
    CONST KErrEsc%=-114
    CONST KErrMaxDraw%=-117
    CONST KErrDrawNotOpen%=-118
    CONST KErrInvalidWindow%=-119
    CONST KErrScreenDenied%=-120
    CONST KErrOpxNotFound%=-121
    CONST KErrOpxVersion%=-122
    CONST KErrOpxProcNotFound%=-123
    CONST KErrStopInCallback%=-124
    CONST KErrIncompUpdateMode%=-125
    CONST KErrInTransaction%=-126
    
    REM For ALERT
    CONST KAlertEsc%=1
    CONST KAlertEnter%=2
    CONST KAlertSpace%=3
    
    REM For BUSY and GIPRINT
    CONST KBusyTopLeft%=0
    CONST KBusyBottomLeft%=1
    CONST KBusyTopRight%=2
    CONST KBusyBottomRight%=3
    CONST KBusyMaxText%=80
    
    REM For CMD$
    CONST KCmdAppName%=1      REM Full path name used to start program
    CONST KCmdUsedFile%=2
    CONST KCmdLetter%=3
    REM For CMD$(3)
    CONST KCmdLetterCreate$="C"
    CONST KCmdLetterOpen$="O"
    CONST KCmdLetterRun$="R"
    
    REM For CURSOR
    CONST KCursorTypeNotFlashing%=2
    CONST KCursorTypeGrey%=4
    
    REM For DATIM$ - offsets
    CONST KDatimOffDayName%=1
    CONST KDatimOffDay%=5
    CONST KDatimOffMonth%=8
    CONST KDatimOffYear%=12
    CONST KDatimOffHour%=17
    CONST KDatimOffMinute%=20
    CONST KDatimOffSecond%=23
    
    REM For dBUTTON
    CONST KDButtonNoLabel%=$100
    CONST KDButtonPlainKey%=$200
    CONST KDButtonDel%=8
    CONST KDButtonTab%=9
    CONST KDButtonEnter%=13
    CONST KDButtonEsc%=27
    CONST KDButtonSpace%=32
    
    REM For dEDITMULTI and printing
    CONST KParagraphDelimiter%=$06
    CONST KLineBreak%=$07
    CONST KPageBreak%=$08
    CONST KTabCharacter%=$09
    CONST KNonBreakingTab%=$0a
    CONST KNonBreakingHyphen%=$0b
    CONST KPotentialHyphen%=$0c
    CONST KNonBreakingSpace%=$10
    CONST KPictureCharacter%=$0e
    CONST KVisibleSpaceCharacter%=$0f
    
    REM For DEFAULTWIN
    CONST KDefWin4ColourMode%=1
    CONST KDefWin16ColourMode%=2
    
    REM For dFILE
    CONST KDFileNameLen%=255
          REM flags
    CONST KDFileEditBox%=$0001
    CONST KDFileAllowFolders%=$0002
    CONST KDFileFoldersOnly%=$0004
    CONST KDFileEditorDisallowExisting%=$0008
    CONST KDFileEditorQueryExisting%=$0010
    CONST KDFileAllowNullStrings%=$0020
    CONST KDFileAllowWildCards%=$0080
    CONST KDFileSelectorWithRom%=$0100
    CONST KDFileSelectorWithSystem%=$0200
    
    REM Opl-related Uids for dFILE
    CONST KUidOplInterpreter&=268435575
    CONST KUidOplApp&=268435572
    CONST KUidOplDoc&=268435573
    CONST KUidOPO&=268435571
    CONST KUidOplFile&=268435594
    CONST KUidOpxDll&=268435549
    
    REM For DIALOG
    CONST KDlgCancel%=0
    
    REM For dINIT (flags for dialogs)
    CONST KDlgButRight%=1
    CONST KDlgNoTitle%=2
    CONST KDlgFillScreen%=4
    CONST KDlgNoDrag%=8
    CONST KDlgDensePack%=16
    
    REM For DOW
    CONST KMonday%=1
    CONST KTuesday%=2
    CONST KWednesday%=3
    CONST KThursday%=4
    CONST KFriday%=5
    CONST KSaturday%=6
    CONST KSunday%=7
    
    REM For dPOSITION
    CONST KDPositionLeft%=-1
    CONST KDPositionCentre%=0
    CONST KDPositionRight%=1
    
    REM For dTEXT
    CONST KDTextLeft%=0
    CONST KDTextRight%=1
    CONST KDTextCentre%=2
    CONST KDTextBold%=$100                        REM Ignored in Eikon
    CONST KDTextLineBelow%=$200
    CONST KDTextAllowSelection%=$400
    CONST KDTextSeparator%=$800
    
    REM For dTIME
    CONST KDTimeAbsNoSecs%=0
    CONST KDTimeAbsWithSecs%=1
    CONST KDTimeDurationNoSecs%=2
    CONST KDTimeDurationWithSecs%=3
    REM Flags for dTIME (for ORing combinations)
    CONST KDTimeWithSeconds%=1
    CONST KDTimeDuration%=2
    CONST KDTimeNoHours%=4
    CONST KDTime24Hour%=8
    
    REM For dXINPUT
    CONST KDXInputMaxLen%=16
    
    REM For FINDFIELD
    CONST KFindCaseDependent%=16
    CONST KFindBackwards%=0
    CONST KFindForwards%=1
    CONST KFindBackwardsFromEnd%=2
    CONST KFindForwardsFromStart%=3
    
    REM For FLAGS
    CONST KFlagsAppFileBased%=1
    CONST KFlagsAppIsHidden%=2
    
    
    REM For gBORDER and gXBORDER
    CONST KBordSglShadow%=1
    CONST KBordSglGap%=2
    CONST KBordDblShadow%=3
    CONST KBordDblGap%=4
    CONST KBordGapAllRound%=$100
    CONST KBordRoundCorners%=$200
    CONST KBordLosePixel%=$400
    
    REM For gBUTTON
    CONST KButtS3%=0
    CONST KButtS3Raised%=0
    CONST KButtS3Pressed%=1
    CONST KButtS3a%=1
    CONST KButtS3aRaised%=0
    CONST KButtS3aSemiPressed%=1
    CONST KButtS3aSunken%=2
    CONST KButtS5%=2
    CONST KButtS5Raised%=0
    CONST KButtS5SemiPressed%=1
    CONST KButtS5Sunken%=2
    
    CONST KButtLayoutTextRightPictureLeft%=0
    CONST KButtLayoutTextBottomPictureTop%=1
    CONST KButtLayoutTextTopPictureBottom%=2
    CONST KButtLayoutTextLeftPictureRight%=3
    CONST KButtTextRight%=0
    CONST KButtTextBottom%=1
    CONST KButtTextTop%=2
    CONST KButtTextLeft%=3
    CONST KButtExcessShare%=$00
    CONST KButtExcessToText%=$10
    CONST KButtExcessToPicture%=$20
    
    REM For gCLOCK
    CONST KgClockS5System%=6
    CONST KgClockS5Analog%=7
    CONST KgClockS5Digital%=8
    CONST KgClockS5LargeAnalog%=9
    CONST KgClockS5Formatted%=11
    
    REM For gCREATE
    CONST KgCreateInvisible%=0
    CONST KgCreateVisible%=1
    CONST KgCreate2ColourMode%=$0000
    CONST KgCreate4ColourMode%=$0001
    CONST KgCreate16ColourMode%=$0002
    CONST KgCreateHasShadow%=$0010
    
    REM For GETCMD$
    CONST KGetCmdLetterCreate$="C"
    CONST KGetCmdLetterOpen$="O"
    CONST KGetCmdLetterExit$="X"
    CONST KGetCmdLetterUnknown$="U"
    
    REM For gLOADBIT
    CONST KgLoadBitReadOnly%=0
    CONST KgLoadBitWriteable%=1
    
    REM For gRANK
    CONST KgRankForeground%=1
    CONST KgRankBackGround%=32767
    
    REM For gPOLY - array subscripts
    CONST KgPolyAStartX%=1
    CONST KgPolyAStartY%=2
    CONST KgPolyANumPairs%=3
    CONST KgPolyANumDx1%=4
    CONST KgPolyANumDy1%=5
    
    REM For gPRINTB
    CONST KgPrintBRightAligned%=1
    CONST KgPrintBLeftAligned%=2
    CONST KgPrintBCentredAligned%=3
    REM The defaults
    CONST KgPrintBDefAligned%=KgPrintBLeftAligned%
    CONST KgPrintBDefTop%=0
    CONST KgPrintBDefBottom%=0
    CONST KgPrintBDefMargin%=0
    
    REM For gXBORDER
    CONST KgXBorderS3Type%=0
    CONST KgXBorderS3aType%=1
    CONST KgXBorderS5Type%=2
    
    REM For gXPRINT
    CONST KgXPrintNormal%=0
    CONST KgXPrintInverse%=1
    CONST KgXPrintInverseRound%=2
    CONST KgXPrintThinInverse%=3
    CONST KgXPrintThinInverseRound%=4
    CONST KgXPrintUnderlined%=5
    CONST KgXPrintThinUnderlined%=6
    
    REM For KMOD
    CONST KKmodShift%=2
    CONST KKmodControl%=4
    CONST KKmodPsion%=8
    CONST KKmodCaps%=16
    CONST KKmodFn%=32
    
    REM For mCARD and mCASC
    CONST KMenuDimmed%=$1000
    CONST KMenuSymbolOn%=$2000
    CONST KMenuSymbolIndeterminate%=$4000
    CONST KMenuCheckBox%=$0800
    CONST KMenuOptionStart%=$0900
    CONST KMenuOptionMiddle%=$0A00
    CONST KMenuOptionEnd%=$0B00
    
    REM For mPOPUP position type
    REM Specifies which corner of the popup is given by the coordinates
    CONST KMPopupPosTopLeft%=0
    CONST KMPopupPosTopRight%=1
    CONST KMPopupPosBottomLeft%=2
    CONST KMPopupPosBottomRight%=3
    
    REM For PARSE$ - array subscripts
    CONST KParseAOffFSys%=1
    CONST KParseAOffDev%=2
    CONST KParseAOffPath%=3
    CONST KParseAOffFilename%=4
    CONST KParseAOffExt%=5
    CONST KParseAOffWild%=6
    REM Wild-card flags
    CONST KParseWildNone%=0
    CONST KParseWildFilename%=1
    CONST KParseWildExt%=2
    CONST KParseWildBoth%=3
    
    REM For SCREENINFO - array subscripts
    CONST KSInfoALeft%=1
    CONST KSInfoATop%=2
    CONST KSInfoAScrW%=3
    CONST KSInfoAScrH%=4
    CONST KSInfoAReserved1%=5
    CONST KSInfoAFont%=6
    CONST KSInfoAPixW%=7
    CONST KSInfoAPixH%=8
    CONST KSInfoAReserved2%=9
    CONST KSInfoAReserved3%=10
    
    REM For SETFLAGS
    CONST KRestrictTo64K&=&0001
    CONST KAutoCompact&=&0002
    CONST KTwoDigitExponent&=&0004
    CONST KSendSwitchOnMessage&=&010000
    
    REM For GetEvent32
    REM Array indexes
    CONST KEvAType%=1
    CONST KEvATime%=2
    
    REM Event array keypress subscripts
    CONST KEvAKMod%=4
    CONST KEvAKRep%=5
    
    REM Pointer event array subscripts
    CONST KEvAPtrOplWindowId%=3
    CONST KEvAPtrWindowId%=3
    CONST KEvAPtrType%=4
    CONST KEvAPtrModifiers%=5
    CONST KEvAPtrPositionX%=6
    CONST KEvAPtrPositionY%=7
    CONST KEvAPtrScreenPosX%=8
    CONST KEvAPtrScreenPosY%=9
    
    REM Event types
    CONST KEvNotKeyMask&=&400
    CONST KEvFocusGained&=&401
    CONST KEvFocusLost&=&402
    CONST KEvSwitchOn&=&403
    CONST KEvCommand&=&404
    CONST KEvDateChanged&=&405
    CONST KEvKeyDown&=&406
    CONST KEvKeyUp&=&407
    CONST KEvPtr&=&408
    CONST KEvPtrEnter&=&409
    CONST KEvPtrExit&=&40A
    
    REM Pointer event types
    CONST KEvPtrPenDown&=0
    CONST KEvPtrPenUp&=1
    CONST KEvPtrButton1Down&=KEvPtrPenDown&
    CONST KEvPtrButton1Up&=KEvPtrPenUp&
    CONST KEvPtrButton2Down&=2
    CONST KEvPtrButton2Up&=3
    CONST KEvPtrButton3Down&=4
    CONST KEvPtrButton3Up&=5
    CONST KEvPtrDrag&=6
    CONST KEvPtrMove&=7
    CONST KEvPtrButtonRepeat&=8
    CONST KEvPtrSwitchOn&=9
    
    CONST KKeyMenu%=4150
    CONST KKeySidebarMenu%=10000
    
    REM For PointerFilter
    CONST KPointerFilterEnterExit%=$1
    CONST KPointerFilterMove%=$2
    CONST KPointerFilterDrag%=$4
    
    REM Code page 1252 ellipsis ("windows latin 1")
    CONST KScreenEllipsis%=133
    CONST KScreenLineFeed%=10
    
    REM For gCLOCK
    CONST KClockLocaleConformant%=6
    CONST KClockSystemSetting%=KClockLocaleConformant%
    CONST KClockAnalog%=7
    CONST KClockDigital%=8
    CONST KClockLargeAnalog%=9
    REM GClock 10 no longer supported (use slightly changed gCLOCK 11)
    CONST KClockFormattedDigital%=11
    
    REM For gFONT (these may change before release)
    
    CONST KFontArialBold8&=       268435951
    CONST KFontArialBold11&=      268435952
    CONST KFontArialBold13&=      268435953
    CONST KFontArialNormal8&=     268435954
    CONST KFontArialNormal11&=    268435955
    CONST KFontArialNormal13&=    268435956
    CONST KFontArialNormal15&=    268435957
    CONST KFontArialNormal18&=    268435958
    CONST KFontArialNormal22&=    268435959
    CONST KFontArialNormal27&=    268435960
    CONST KFontArialNormal32&=    268435961
    
    CONST KFontTimesBold8&=       268435962
    CONST KFontTimesBold11&=      268435963
    CONST KFontTimesBold13&=      268435964
    CONST KFontTimesNormal8&=     268435965
    CONST KFontTimesNormal11&=    268435966
    CONST KFontTimesNormal13&=    268435967
    CONST KFontTimesNormal15&=    268435968
    CONST KFontTimesNormal18&=    268435969
    CONST KFontTimesNormal22&=    268435970
    CONST KFontTimesNormal27&=    268435971
    CONST KFontTimesNormal32&=    268435972
    
    CONST KFontCourierBold8&=      268436062
    CONST KFontCourierBold11&=     268436063
    CONST KFontCourierBold13&=     268436064
    CONST KFontCourierNormal8&=    268436065
    CONST KFontCourierNormal11&=   268436066
    CONST KFontCourierNormal13&=   268436067
    CONST KFontCourierNormal15&=   268436068
    CONST KFontCourierNormal18&=   268436069
    CONST KFontCourierNormal22&=   268436070
    CONST KFontCourierNormal27&=   268436071
    CONST KFontCourierNormal32&=   268436072
    
    CONST KFontCalc13n&=   268435493
    CONST KFontCalc18n&=   268435494
    CONST KFontCalc24n&=   268435495
    
    CONST KFontMon18n&=    268435497
    CONST KFontMon18b&=    268435498
    CONST KFontMon9n&=     268435499
    CONST KFontMon9b&=     268435500
    
    CONST KFontTiny1&=     268435501
    CONST KFontTiny2&=     268435502
    CONST KFontTiny3&=     268435503
    CONST KFontTiny4&=     268435504
    
    CONST KFontEiksym15&=  268435661
    
    CONST KFontSquashed&=  268435701
    CONST KFontDigital35&= 268435752
    
    
    REM For IOOPEN
    REM Mode category 1
    CONST KIoOpenModeOpen%=$0000
    CONST KIoOpenModeCreate%=$0001
    CONST KIoOpenModeReplace%=$0002
    CONST KIoOpenModeAppend%=$0003
    CONST KIoOpenModeUnique%=$0004
    
    REM Mode category 2
    CONST KIoOpenFormatBinary%=$0000
    CONST KIoOpenFormatText%=$0020
    
    REM Mode category 3
    CONST KIoOpenAccessUpdate%=$0100
    CONST KIoOpenAccessRandom%=$0200
    CONST KIoOpenAccessShare%=$0400
    
    REM Language code for CAPTION
    CONST KLangEnglish%=1
    CONST KLangFrench%=2
    CONST KLangGerman%=3
    CONST KLangSpanish%=4
    CONST KLangItalian%=5
    CONST KLangSwedish%=6
    CONST KLangDanish%=7
    CONST KLangNorwegian%=8
    CONST KLangFinnish%=9
    CONST KLangAmerican%=10
    CONST KLangSwissFrench%=11
    CONST KLangSwissGerman%=12
    CONST KLangPortuguese%=13
    CONST KLangTurkish%=14
    CONST KLangIcelandic%=15
    CONST KLangRussian%=16
    CONST KLangHungarian%=17
    CONST KLangDutch%=18
    CONST KLangBelgianFlemish%=19
    CONST KLangAustralian%=20
    CONST KLangBelgianFrench%=21
    
    REM End of Const.oph

EPOC logo Left Right Up
This website will be closing on 1st October 2026 and the content deleted, if you want to archive it archive.org may be able to help.
Please do not call Plusnet as we hold no information about the ownership of this website to help.