?? release.txt
字號(hào):
View is not collated or folded by default.
5. Locale conformant clocks (gClock 6) now responds to changes in the
system clock type.
6. DATE.OXH now has locale supporting procedures:
DTSetHomeTime:(id&)
LCCountryCode&:()
LCDecimalSeperator$:()
LCSetClockFormat:(format&)
LCClockFormat&:()
LCStartOfWeek&:()
Also has consts for format& in LCSetClockFormat:
7. DBASE.OPX
DbIsDamaged&:(dbase$)
DbRecover:(dbase$)
8. New EON.OPX provides a lot of common BASE and other low-level functions
DECLARE OPX EON,$10
BackLightOn:(state&)
SetBackLightOnTime:(seconds&)
SetBacklightBehavior:(behaviour&)
SetAutoSwitchOffBehavior:(behaviour&)
SetAutoSwitchOffTime:(seconds&)
ResetAutoSwitchOffTimer:
SwitchOff:
SetSoundEnabled:(state&)
SetSoundDriverEnabled:(state&)
SetKeyClickEnabled:(state&)
SetPointerClickEnabled:(state&)
SetDisplayContrast:(value&)
MaxDisplayContrast&:
IsReadOnly&:(file$)
IsHidden&:(file$)
IsSystem&:(file$)
SetReadOnly:(file$,state&)
SetHiddenFile:(file$,state&)
SetSystemFile:(file$,state&)
VolumeSize&:(drive&)
VolumeSpaceFree&:(drive&)
VolumeUniqueID&:(drive&)
MediaType&:(drive&)
GetFileTime:(file$,DateTimeId&)
SetFileTime:(file$,DateTimeId&)
DisplayTaskList:
END DECLARE
9. Bugs fixed.
10. OPL32 EPOC World presentation in ..\ppt\EPOCWOPL.PPT
11. Bitmaps saved using gSAVEBIT can now be documents. Create a document using SETDOC in the
same way as for database docs.
12. GETCMD$ implemented. As well as OPL16 codes 'C', 'O' and 'X', OPL32 can also return
'U' for unknown, 'S' for 'Starting backup', 'R' for 'Restart after backup'
13. GETEVENT ev%() now returns the same codes in ev%(1) as GETEVENT32 ev&() returns in ev&(1).
The other array elements aren't filled in - program must use GETEVENT32 to get these.
This at least tells the Opl1993 code which event has occurred.
Previously it returned $400 - unknown event.
14. Comma-separated prompt list in dFILE now supported.
dFile f$,"File,Folder,Disk",1 will give a filename editor with the standard prompts.
15. Set flag $100 in flags% for dFILE to see ROM files too.
16. dFILE now supports file restriction by UID type for selectors:
dFILE f$,prompt$,flags%[,uid1=0,uid2=0,uid3=0]
You can either use 3 or 0 UIDs.
Uids are ignored for editors.
v0.34
-----
1. Extended the Opcode table to 512 items padding with IllegalOpcode pointer. Was causing
access violation if opcode beyond end of list used (eg. with corrupt Qcode or when adding
a new qcode to translator before adding to runtime).
2. Implemented accessing non-array right-side externals in EVAL. This means that you can now
implement a graphics calculator. On the S3a you needed to replace the user's 'x' by calc memories
m0 to m9, but these are no longer available on Opler1:
A very noddy example (assuming max height of expr$ function is 1 on domain 0 to 640)
could be something like:
local expr$(255)
global x
while 1
dInit "Calculator"
dEdit expr$,"Expression",30 rem Use types expression using global x
until dialog=0
gAt 0,gHeight/2
gCls
onerr errHand
while gx<gWidth
x=gX
gLineTo gX+1,gHeight/2+gHeight/2*EVAL(expr$)
errHand::
rem just skip error point
gMove 1,0
endwh
endwh
3. Partial fix to Opx loading mechanism. SOpxData still needs to be
changed to COplrOpxData (COpxData is used by OPXs).
Failing to find an OPX proc now doesn't panic anyway.
4. Fixed some other bugs.
5. New release of CONST.OPH version 1.02 providing some new consts and some names shortened:
const KEvAPtrWindowId%=3 was ...OplWindowId...
const KEvPtrPenDown&=0
const KEvPtrPenUp&=1
const KEvPtrButton1Down&=KEvPtrPenDown&
const KEvPtrButton1Up&=KEvPtrPenUp&
const KButtTextRight%=0
const KButtTextBottom%=1
const KButtTextTop%=2
const KButtTextLeft%=3
const KButtExcessShare%=$00
const KButtExcessToText%=$10
const KButtExcessToPicture%=$20
const KAutoCompact& = &004
const KUntrappableErrors& =&008 // not yet implemented
const KTwoDigitExponent& = &010
const KDiffSidebarMenuKey&=&020 // not yet implemented
const KComputeModeOff&= &0100000 // not yet implemented
SETFLAGS flags set in COplRuntime state variable (but some still need to be acted on)
SETFLAGS KTwoDigitExponent& tells OPL32 to raise an error instead of allowing 3-digit exponents.
SETFLAGS KAutoCompact& tells OPL32 to compact a database on closing.
6. For buttons with no text label underneath, OR flag $100 with the short-cut.
7. dBUTTONS now supports negative short-cut keys as in OPL16. You must negate the short-cut *with*
any flags.
v0.33
-----
(Released by Howard on 12/03/97)
Uses: dbms=031, oplt=021, texted=030, opl1993util=014, eikon=167 (and Eikon's dependencies)
ROM builders note: RECINT.RDL removed from Eikon's MESON.IBY
RECOPL.RDL added to OPLR.IBY
SAMPLES go to z:\system\opl\
1. Took ownership of the OPL recogniser. Each interpreted language must now supply its own
recogniser. The original plan to have one recogniser for all interpreted languages
was flawed. This solution is much neater anyway and was made possible by having separate RDLs.
Each interpreted language now has full control of its own command-line requirements.
For some strange reason, which I'll look into after the B6 rom release, this doesn't always
build from DOS but does from MSDEV.
OPLR.IBY now includes line:
file=RELDIR\recopl.rdl system\recogs\recopl.rdl EXEUID uid2=0x1000013e uid3=0x10000148
2. The Opl recogniser DLL is called RECOPL.RDL, with source in the new \OPLR\RECOG\ project.
Changed the name of the recogniser's uid from KUidInterpretedRecogniser to KUidOPLRecogniser
in the source.
3. Added GETTEXTED verb for group\MNT
4. Added check-list file group\GETBLD.TXT specifying fully a safe way to
get new OPLR and its dependencies, OPLEDIT, and SHELL.
5. Fixed lots of bug.
6. Improved oplr\THARN1\ further
7. Sorted out some Maths - 3-digit exponents still need supporting though
8 CONST.OPH (& group\CONST.TXT) now have gBUTTON excess spec for ORing with layout%:
const KButtExcessShare%=$00
const KButtExcessToText%=$10
const KButtExcessToPicture%=$20
9. TOOLBAR.OPO changes:
- uses KButtExcessToText% in gBUTTON to give the standard layout.
- standard toolbar sizes used
v0.32
-----
Uses: DBMS 031, OPLT 020, OPL1993UTIL 014, Eikon 165 and dependencies
B5(04) release
Released by Howard (05/03/97)
Explicit dependency on Opl1993Util 014 required for test code. OPL1993UTIL 014 used for new error codes (Divide by zero)
EIKON 164 uses OPL1993UTIL 013.
To run OPLR from LSHELL set the command-line tailend to:
R<fullPathModuleName>
The 'R' tells the runtime that it is running from the Shell rather than from OplEdit or
a debugger, so the rest of the tailend is not interpreted as IPC info.
1. Rationalised the test harness directory \oplr\tharn1\ to support individual
locking of files, by using %vcsid%.prj. LI.PRJ lists all the files in the
for use by MNT CHECK, but has no locks. HOWARD.PRJ lists LI.PRJ MNT.PRJ and
other maintenance files for the moment. Run MNT with no args for a fairly
comprehensive Help screen explaining the use of this directory.
tharn1\MNT DEV <module> replaces z\system\data\WSINI.INI to run OPLEDIT directly,
passing the name of the module document on the command-line. Using this, all works
well except obviously the Side-bar and Shell etc are not available.
tharn1\MNT RESWsINI restores the original.
2. Kevin rewrote the Console classes for OPL removing all dependencies on the
Eikon console. Any bugs in the Console (default) window should therefore now
be reported as OPL runtime bugs.
The default console font used is currently Swiss 11 normal, defined in CONST.OPH as:
const KScreenFontUidSwi11n&=268435472
Use the FONT keyword to change this if necessary.
Console todos (ie. don't report bugs in these yet):
- gUPDATE ON|OFF and gUPDATE (no arg)
- I/O keywords using handle -2 (eg. IOC(-2,...))
3. Embedded spaces in module-names now supported.
4. Reads debug flag in module root stream after OPX table stream ID:
TUint16(CTextTranslator::EDebug) or TUint16(CTextTranslator::ERelease)
Find out whether a module was built for debugging using:
CTextTranslator::TDebugFlag CModule::DebugFlag();
5. The OPL maths has now been checked to use only TReal96 rather than TReal64s,
except where allowed (for comparisons etc.). This is necessary because OPL does not
support IEEE 754 specials like NaN, Infinity etc. If these were to be supported,
several new keywords would be required, like IsNan(), IsInfinity() - as provided
eg. in Java.
Using TReal64s avoids exceptions being raised in Arm and specials being produced in
WINS when floating point operators give results beyond the normalised IEEE 754 bounds.
OPL32 therefore should produce the same floating point errors as in Opl1993.
OPL32 does support numbers in the full normalised IEEE 754 range (approx.
positive and negative 1e-308 to 1e+308). Denormals are not supported. In Opl16, the
same range was used for intermediate results but the range was limited to 1e-99 to 1e+100
for conversion to and from text, because this was the maximum range supported by
the Epoc16 conversion functions.
6. The OPL32 differences manual is now almost complete in r:\oplr\dspec\oplman32.doc.
7. Lots of graphics, database and other bench-marks have been written for the epocWorld
Conference.
Bugs:
1. Changed the window shadow height factor from 8 to 1. WSERV seems to have increased
the factor it uses.
2. gFONT wasn't using the current style for non-GC settings.
v0.31
-----
Uses: DBMS 030, OPLT 018, Eikon 164 and dependencies
B5 (03) release
Released by Howard (26/02/97)
New OplEdit samples: TBARAPP
TOOLBAR
1. SCREEN with 4 arguments wasn't clearing the full-screen flag.
2. Pause key handling in WINS: Ctrl+Alt+S/Q
in ARM: Ctrl+Fn+S/Q
Kill key in WINS: Shift+Esc
ARM: Ctrl+Esc
3. 'File not found' error changed to 'Not found'
4. 'File already exists' error changed to 'Already exists'
5. Killing an OPL program from the task list panicked OPL.
6. Lots of bug fixes.
v0.30
-----
Uses: DBMS 030, OPLT 018, EIKON 163 (and Eikon dependencies)
B5(02) Release
(Released by Howard 20/02/97)
1. Now returns to OplEdit after running from there.
2. Bug fix: gCLOSE 1 now raises an error as required.
3. DBASE OPX changes
4. Changed error resource that was too long to "INCLUDE file cannot contain procedures"
5. gCOLOR wasn't invalidating the GC mode so line drawing used the wrong colour.
6.gBORDER & gXBorder weren't setting the GC draw mode
7. Now delete the menubar before any other controls that can gain focus.
Shift+Esc to quit program when menu was active caused access violation because the menu was
deleted after the console control. The focus was set to the non-existent console control by
removing the menu from the control stack.
8. Changed COplStartUp active object priority to EPriorityHigh (was
100)
9. Now construct Eikon console with flag ENoInitialCursor - the Eikon console seems to ignore
this flag still.
10. gBUTTON's fast drawing is now integrated. MINES' buttons are now draw very fast.
(It wasn't integrated in the previous release where it was claimed to be fixed).
11. ALERT() fully implemented as on OPL1993. Uses sleeping dialogs, so it is guaranteed not
to run out of memory.
12. Added mPOPUP(x%,y%,posType%,item$,hotKey%,itemx$,hotKeyx%,...)
posType% is the position type controlling the relative position of the popup from x%,y%.
It specifies which corner of the popup is given by the coordinates.
0 - top-left
1 - top-right
2 - bottom-left
3 -
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -