Please enable JavaScript to view this site.

Testing Project 3

xcall MSBOXX, strow, stcol, endrow, endcol, boxcod {, boxsts, boxclr}

MSBOXX.SBR is nearly equivalent to the version under AMOS (developed by MicroSabio as part of the TRACKER package), except that it does not support the boxmap and boxctl parameters of the AMOS version. For complete details, you should consult the TRACKER User's Guide. Here, however, is a brief summary:  

TIM:  In the preceeding paragraph:

The first term, "MSBOXX.SBR," is styled as "a 1Cmd" which is a legitimate style (10 point Verdana Semi Bold, bold). It is getting converted to Times. (This is a different problem than the one we're discussing, but likely related. Why is a fully and properly styled term being changed to Times? In the earlier version of H&M, it was reproduced in the output as it should.
In the second sentence, the word "complete" was styled the same as most of the rest of the paragraph with style "A Para i0 sa." I then added "bold" with control B. Now, in the output, it is Times.
Same applies to the next work, "details." It is styled with "A Para i0 sa" to which I have added italics with the "I" button. Now, in the output, it is Times.
In the following table: the entire thing is styled with "A Para i0 SA." I then manually added bold to the shaded lines. Now, although those lines look fine in the source, in the output they are Times.

 

 

 

A-Shell Release Notes Version 7.0.1768.7 (03 February 2025)

1768.7

 

Compiler edit 1061: extend edit 1060 (below) to treat a single "@" as a comment indicator if it is the first statement token on the line—i.e. preceded by nothing other than white space and possibly a line number.

 

 

A-Shell Release Notes Version 7.0.1768.6 (03 February 2025)

1768.6

 

Compiler edit 1060: treat "@@@" as equivalent to REM or !, i.e. start of a comment. This was apparently a feature of some early versions of AlphaBASIC.

 

 

A-Shell Release Notes Version 7.0.1768.5 (27 January 2025)

1768.5

Fix

XTREE: rework edit 1768.4 to fix problem with last column width being initialized to zero when XTR.CLOSEDENDED=1, XTF2_AUTOEXPCOL not set, and the column not given a Dspwid value.

 

 

A-Shell Release Notes Version 7.0.1768.4 (26 January 2025)

1768.4

Fix

XTREE: an extra column containing row numbers was in come cases appearing in property sheets. Problem was introduced in edit 1765 and affected Windows client side only.

 

 

A-Shell Release Notes Version 7.0.1768.3 (24 January 2025)

1768.3

Fix

Compiler edit 1059: the minimum run version in the RUN header was still being unnecessarily set to 1767 in many cases where DEFSTRUCTs were defined but not embedded.

 

Parameters

strow, stcol, endrow, endcol

specify the coordinates of the upper left and lower right corner of the box to be drawn. It is important to note that if a border is applicable, it is drawn OUTSIDE of the coordinates specified for the box. (Thus the interior, or usable part of the box is the same size whether or not the border option is specified.)

boxcod

specifies one or more options (added together). These are generally referenced symbolically via the msboxx.bsi include file.

Symbol

Value

Meaning

BOX_ERA

&h00000001

Clear interior of the box

BOX_BDR

&h00000002

Draw border around the box

BOX_SVA

&h00000004

Save area used by box (to be restored later)

BOX_RSA

&h00000008

Restore area (previously saved)

BOX_COF

&h00000010

Leave cursor off on exit

BOX_REV

&h00000020

(Not supported under A-Shell)

BOX_FAO

&h00000040

Field attributes on/off (at edge of box)

BOX_CHK

&h00000080

Return BOXSTS=0 if save/restore supported

BOX_PSA

&h00000100

Pop saved area without displaying it

BOX_MAP

&h00000400

(Not supported under A-Shell)

BOX_PRT

&h00000800

(Not supported under A-Shell)

BOX_ATR

&h00001000

Save/restore screen context

BOX_HLI

&h00002000

Draw horizontal line (set strow = endrow)

BOX_VLI

&h00004000

Draw vertical line (set stcol = endcol)

BOX_DBL

&h00008000

Draw double line border around box

BOX_SBU

&h00010000

Scroll box up one line

BOX_SBD

&h00020000

Scroll box down one line

BOX_SRF

&h00040000

Draw line with serifs

BOX_WIN

&h00080000

Display pop-up window; see Comments below

BOX_PAR

&h00100000

See note in History, below

Definition File: ashinc:msboxx.def

 

 

boxsts

optionally returns a code indicating if the operation succeeded. 0 indicates success.

boxclr

optionally defines the set of colors to use for the parts of the box:

MAP1 BOXCLR

  MAP2 BRDR'FG,B,1    ! Border foreground

  MAP2 BRDR'BG,B,1    ! Border background

  MAP2 IBOX'FG,B,1    ! Interior foreground

  MAP2 IBOX'BG,B,1    ! Interior background

 

Comments

Since TRACKER is built-in to A-Shell, you can always count on the ability to save and restore screen areas with MSBOXX.SBR. You can also perform all of these box drawing and save/restore operations using individual TAB(x,y) commands, but with considerably more effort.

 

History

2011 April, A-Shell 5.1.1210:  New flag BOX_PAR may be used with BOX_WIN and BOX_SVA/BOX_RSA to automatically make the pop-up panel act as the parent to any controls (including TPRINT statements) created until the box is removed (with BOX_RSA+BOX_WIN+BOX_PAR). You could have done this yourself using MX_AUTOPARENT except that MSBOXX does not return an identifier for the panel; the BOX_PAR option overcomes that issue and automatically issues the necessary MX_AUTOPARENT calls.

Note that with BOX_WIN, the box/panel is a GUI control, and thus you cannot output plain text on top of it; use TPRINT, DPRINT, AUI_CONTROL, and other GUI control generation statements instead of PRINT. Furthermore, with BOX_PAR, since the panel acts like a parent, the cursor position of controls and text to be placed on it must be adjusted to be relative to the box/panel rather than the screen. (The overall effect is similar to using a regular dialog box.)

2011 April, 5.1.1210: BOX_SVA with the BOX_WIN option now saves underlying controls, as well as text, and BOX_RSA+BOX_WIN will restore them. This allows BOX_WIN panels to effectively overlay areas containing either plain text or GUI controls, or both.