Please enable JavaScript to view this site.

A-Shell Development History

907.1.1

Fix a longstanding (since day one!) bug in all variations of the compiler, which permitted an unmatched ELSE statement to be compiled without error. The most common form of this occurred when forgetting the & in the following:

IF A=B THEN PRINT "A=B"

ELSE PRINT "A<>B"

 

Without an & at the end of the first line to continue it, it should have produced an error on the ELSE, but didn't. Instead, the ELSE clause was always executed, as if it was associated with a null IF clause that was never true.

907.1.2

(UNIX) Reinstate fix for problem with INFLD returning garbage in INXCTL under ATE. (Fix in 906 was accidentally dropped from 907.)

907.1

(Windows/ATE) Implement means of displaying context-sensitive help using Windows CHM/HTML help system:

XCALL AUI,"HTMLHELP",OP,STATUS,HFILE{,HTOPIC{,ROW,COL}}

where

OP (numeric):

OP

Meaning

0

Set default application help file. This allows help topics to be specified to INFLD without having to specify the help file each time.

1

Display topic based on HFILE (or default), and a numeric topic ID in HTOPIC. (You'll have to consult the creator of your CHM files to get a list of the numeric topic ID numbers.) If HTOPIC is 0, the help file is launched in its default state.

2

Same as OP 1 except HTOPIC should be a string which specifies the internal HTM name for the desired topic. These internal names are typically of the form "/topicname.htm", e.g. "/comio.htm". The leading slash is typically necessary. You might be able to determine these names by using a binary DUMP utility on the CHM file (such as DUMP.LIT). As with OP 1, if HTOPIC is "", the help file is launched in its default state.

3

Display a pop-up message. The text of the message (up to 2048 chars) should be specified in HTOPIC, and HFILE should be "". If ROW and COL are specified and non-zero, then the top center of the pop-up box will be positioned at that point. Otherwise, the pop-up box will be positioned just below the current cursor location.

 

status

If you want a return status, specify an F,6 variable, in which case, >=0 indicates success, and <0 indicates failure. The most likely failures would be that the CHM system isn't supported (due to running on UNIX without ATE or perhaps an old version of Windows), or the help file/topic could not be located. If you don't care about the return status, specify this parameter as "". (This eliminates the need for the ATE client to return anything, which is a minor optimization.)

HFILE (string)

File filespec of CHM file. May be in AMOS or native format and may contain environment variables using the %ENV% syntax. Note that you may put your help files in the same directory as the A-Shell help files, in which case you can reference them by:

HFILE = "%MIAME%\doc\filename.chm"

(If the environment variable %MIAME% is not explicitly defined, it will be interpreted as pointing to the directory where the miame.ini is.)

HTOPIC (must be string for OP 2 & 3, may be numeric for OP 1)

Specifies the topic name (<topic>.htm) (OP 2) or ID (OP 1) or the actual text to display (OP 3). Text may contain embedded CRLF characters for line breaks.

ROW,COL (numeric, optional)

These apply only to OP 3, and only if you want to position the help window somewhere other than just below the cursor location. (For large messages, you might want to position it at something like ROW=2,COL=40.)

This function works in A-Shell/Windows and ATE. It may also be called via MIAMEX,137 (replacing "HTMLHELP" with 137).

907.2

(Windows/ATE) INFLD will now display a context-sensitive help topic automatically when you hit the help key (?) based on the following:

TYPE ? must NOT be set. (If it is set, then INFLD returns EXITCODE 8.)
You must have previously defined the default application help file, using OP 0 of the AUI "HTMLHELP" class (above).
The HLPIDX parameter must start with the string represntation of the help topic number. For example, if the topic ID is 782, then any of the following would be legal:

HLPIDX = "782"

HLPIDX = "782>This is a tooltip"

HLPIDX = "782" + chr(126) + chr(7) + "250."

 

The sample program XTRA3 now demonstrates this feature, using the sample help file ashdemo.chm. Hit ? in nearly any field to get context sensitive help.

907.3

(Windows/ATE) New TYPE ||G is same as |G except automatically turns Y/N fields into checkboxes. (For other field types, it acts just like |G).

907.4

(Windows/ATE) TYPE F (fast, i.e. no Enter key required to exit field) now works with checkboxes. Hitting 0 or 1, or the language-defined character for Yes or No will cause the field to exit. The spacebar, however, does not exit - in only toggles the field status.