November 25, 2000 OKScript Status Report #12 Dear OKScript User, The OKScript Status Report is sent to OKScript licensees, developers and friends when significant updates have been made to the program. To be removed from the distribution list please write to me at yweare@gte.net or go to the OKScript mail list at http://www.egroups.com. This issue discribes the additions and changes made in the November 20, 2000 release of OKScript, including: 1. Indirect macro addressing. 2. NUMBER iftype. 3. Fixed STATE RESTORE bug. 4. Fixed QUOTECHAR anomaly. 5. Improved popup behavior. Most users will not be affected by these enhancements. If they do affect your scripts you can download the latest revision from http://home1.gte.net/yweare. Your existing license will automatically be active on the new software if you install it to the same directory, otherwise you will have to re-enter the registration data (or copy the okscript.ini file from the folder where your licensed program was installed.) The current build is dated November 20, 2000. Click Help | About to determine the date of your copy of OKScript. Please note that following update announcements the OKScript web site may become sluggish. If you experience this please try again later or write me and I'll send you the installation package as an email attachment. (Please specify the particular package that you want sent.) 1. OKScript's very limited indirect macro addressing capabilities have been expanded. The current version allows a macro to reference another macro which is then expanded. This is done by prefixing the macro name with an asterisk (*), e.g. %*mymacro%. Here is a code fragment that illustrates how this might work: MACRO ccc Seattle MACRO bbb ccc ... LET aaa %*bbb% Aaa will recieve "Seattle" when the LET instruction executes. Note that if bbb were defined with: MACRO bbb *ccc then the LET instruction would indirect again and ultimately try to expand "Seattle" as if it were a macro. Indirect addressing is frequently useful in complex scripts. 2. IF instructions can now check to ensure that some text translates into a legal number whose value can be used without error. One might write, for example: IF NUMBER %n% EQ IF VALUE %n% LT 7 ... ELSE ... FI FI 3. STATE RESTORE now correctly restores zero-length macros. This instruction previously did not generate a macro entry for empty valued macros, which caused errors when referenced by a script. 4. Previously when a QUOTECHAR instruction was removed or commented out the previous QUOTECHAR would continue to be active until OKScript was restarted or a QUOTECHAR % instruction was added. This has been fixed so that removal of a QUOTECHAR line always reverts back to %. 5. In the past the dialog boxes that appear with the GET, IF QUERY and MESSAGE instructions would often not be focused, particularly if the script had previously activated another window; users would have to click on the dialog before entering data. This has to a large extent been fixed, although there still may be circumstances where a small DELAY or WAITFOR prior to the dialog producing instruction would further enhance focus reliability. For more information, or suggestions for enhancements to this program, write me at yweare@gte.net, or visit the website. Thank you for your support in developing OKScript. Michael Mardesich okb://mikezzz