📄 const.tph
字号:
rem CONST.OPH 6.01
rem Constants for OPL - Last updated 27 July 2003
rem
rem GENERAL CONSTANTS
rem
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
CONST KMaxdTIMEValue&=86399
rem Data type sizes
CONST KShortIntWidth&=2
CONST KLongIntWidth&=4
CONST KFloatWidth&=8
rem Error codes
CONST KErrNone%=0
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 -127 to -133 translator errors
CONST KErrBadAlignment%=-134
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 For DOW
CONST KMonday%=1
CONST KTuesday%=2
CONST KWednesday%=3
CONST KThursday%=4
CONST KFriday%=5
CONST KSaturday%=6
CONST KSunday%=7
rem DATIM$ offsets
CONST KDatimOffDayName%=1
CONST KDatimOffDay%=5
CONST KDatimOffMonth%=8
CONST KDatimOffYear%=12
CONST KDatimOffHour%=17
CONST KDatimOffMinute%=20
CONST KDatimOffSecond%=23
rem Help location values
CONST KHelpView%=0
CONST KHelpDialog%=1
CONST KHelpMenu%=2
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"
CONST KCmdLetterBackground$="B"
CONST KCmdLetterViewActivate$="V"
CONST KCmdLetterRunWithoutViews$="W"
rem For GETCMD$
CONST KGetCmdLetterCreate$="C"
CONST KGetCmdLetterOpen$="O"
CONST KGetCmdLetterExit$="X"
CONST KGetCmdLetterBroughtToFGround$="F"
CONST KGetCmdLetterBackup$="S"
CONST KGetCmdLetterRestart$="R"
CONST KGetCmdLetterUnknown$="U"
rem 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 CURSOR
CONST KCursorTypeNotFlashing%=2
CONST KCursorTypeGray%=4
rem For FINDFIELD
CONST KFindCaseDependent%=16
CONST KFindBackwards%=0
CONST KFindForwards%=1
CONST KFindBackwardsFromEnd%=2
CONST KFindForwardsFromStart%=3
rem 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 Unicode ellipsis, linefeed and carriage-return
CONST KEllipsis&=&2026
CONST KLineFeed&=10
CONST KCarriageReturn&=13
rem For SETFLAGS
CONST KRestrictTo64K&=&0001
CONST KAutoCompact&=&0002
CONST KTwoDigitExponent&=&0004
CONST KMenuCancelCompatibility&=&0008
CONST KAlwaysWriteAsciiTextFiles&=&0016
CONST KSendSwitchOnMessage&=&10000
rem To aid porting to Unicode OPL
CONST KOplAlignment%=1
CONST KOplStringSizeFactor%=2
rem
rem EVENT HANDLING
rem
rem Special keys
CONST KKeyDel%=8
CONST KKeyTab%=9
CONST KKeyEnter%=13
CONST KKeyEsc%=27
CONST KKeySpace%=32
rem Scan code values
CONST KScanDel%=1
CONST KScanTab%=2
CONST KScanEnter%=3
CONST KScanEsc%=4
CONST KScanSpace%=5
rem GETEVENT32 array indexes
CONST KEvAType%=1
CONST KEvATime%=2
CONST KEvAScan%=3
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
rem For PointerFilter
CONST KPointerFilterEnterExit%=$1
CONST KPointerFilterMove%=$2
CONST KPointerFilterDrag%=$4
rem Key constants (for 32-bit keywords like GETEVENT32)
CONST KKeyHelp32&=&f83a
CONST KKeyMenu32&=&f836
CONST KKeySidebarMenu32&=&f700
CONST KKeyPageLeft32&=&f802
CONST KKeyPageRight32&=&f803
CONST KKeyPageUp32&=&f804
CONST KKeyPageDown32&=&f805
CONST KKeyLeftArrow32&=&f807
CONST KKeyRightArrow32&=&f808
CONST KKeyUpArrow32&=&f809
CONST KKeyDownArrow32&=&f80a
rem For the command button array
CONST KKeyCBA1&=&f842
CONST KKeyCBA2&=&f843
CONST KKeyCBA3&=&f844
CONST KKeyCBA4&=&f845
rem Special keys
CONST KKeyZoomIn32&=&f703
CONST KKeyZoomOut32&=&f704
CONST KKeyIncBrightness32&=&f864
rem For 32-bit status words IOWAIT and IOWAITSTAT32
rem Use KErrFilePending% (-46) for 16-bit status words
CONST KStatusPending32&=&80000001
rem For KMOD
CONST KKmodShift%=2
CONST KKmodControl%=4
CONST KKmodCaps%=16
CONST KKmodFn%=32
rem
rem DIALOGS
rem
rem For ALERT
CONST KAlertEsc%=1
CONST KAlertEnter%=2
CONST KAlertSpace%=3
rem For dBUTTON
CONST KDButtonNoLabel%=$100
CONST KDButtonPlainKey%=$200
CONST KDButtonBlank$=""
CONST KDButtonBlank%=0
CONST KDButtonDel%=8
CONST KDButtonTab%=9
CONST KDButtonEnter%=13
CONST KDButtonEsc%=27
CONST KDButtonSpace%=32
rem DIALOG return values
CONST KDlgCancel%=0
rem For dEDITMULTI and printing
CONST KParagraphDelimiter&=$2029 rem $06 under ASCII
CONST KLineBreak&=$2028 rem $07 under ASCII
CONST KPageBreak&=$000c rem $08 under ASCII
CONST KTabCharacter&=$0009 rem $09 under ASCII
CONST KNonBreakingHyphen&=$2011 rem $0b under ASCII
CONST KPotentialHyphen&=$00ad rem $0c under ASCII
CONST KNonBreakingSpace&=$00a0 rem $10 under ASCII
CONST KPictureCharacter&=$fffc rem $0e under ASCII
CONST KVisibleSpaceCharacter&=$0020 rem $0f under ASCII
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
CONST KDFileSelectorAllowNewFolder%=$0400
CONST KDFileSelectorShowHidden%=$0800
rem Current OPL-related UIDs (for dFILE UID restriction)
CONST KUidDirectFileStore&=&10000037
CONST KUidOplInterpreter&=&10005D2E
CONST KUidOpo&=&100055C0
CONST KUidOplApp&=&100055C1
CONST KUidOplDoc&=&100055C2
CONST KUidOplFile&=&1000008A
CONST KUidOpxDll&=&10003A7B
rem dINIT flags
CONST KDlgButRight%=1
CONST KDlgNoTitle%=2
CONST KDlgFillScreen%=4
CONST KDlgNoDrag%=8
CONST KDlgDensePack%=16
rem For dPOSITION
CONST KDPositionLeft%=-1
CONST KDPositionCenter%=0
CONST KDPositionRight%=1
CONST KDPositionTop%=-1
CONST KDPositionBottom%=1
rem For dTEXT
CONST KDTextLeft%=0
CONST KDTextRight%=1
CONST KDTextCenter%=2
CONST KDTextBold%=$100 rem Currently ignored
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%=32
rem For Standard No/Yes dCHOICEs
CONST KNoYesChoiceNo%=1
CONST KNoYesChoiceYes%=2
rem
rem MENUS
rem
rem For mCARD and mCASC
CONST KMenuDimmed%=$1000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -