893.0.1
New MIAMEX,133 function allows you to expand a file in place:
XCALL MIAMEX, 133, CH, ADDRECS, STATUS
CH
is the channel number that the file is open (for random exclusive access on). If running LOKSER, you should probably open the file for RANDOM (exclusive) before expanding it. If not running LOKSER, you are free to use some other locking scheme. Although the XCALL will not stop you from expanding a file without first gaining exclusive access, you are likely to run into synchronization conflicts with other users who have the file open. For one thing, those users will not be able to access the expanded area (until they close and reopen the file), so if you update a control record they may try to access the new area and get an illegal record number.
addrecs
is the number of logical records to add (based on the record size passed in the file open statement.) It will be converted to the appropriate number of 512 byte blocks to add. (The added blocks will be filled with ]]] characters.)
status
returns the new total number of logical records in the file if the operation is successful. 0 indicates a parameter or other configuration error trapped by the XCALL (generally accompanied by a displayed message.) <0 indicates an operating system error #, which you can retrieve the message for using MIAMEX,86,STATUS,MSG
Note that it is up to you to update any control records or other internal structures to correspond to the new file size. Remember to release your exclusive access after doing so.
893.0.2
(Windows/ATE) New MIAME.INI parameter SBR=INFLDCBRJ (INFLD CheckBox Right Justify) can be used to right justify the text label associated with an INFLD-created checkbox (TYPE |c). Without TYPE R, the text goes on the left and the box on the right; TYPE R reverses that. But in either case, the text itself is normally left justified within its space. SBR=INFLDCBRJ will force it to be right justified in its space.
893.0.3
(Windows/ATE) Checkboxes created with INFLD now have the MBF'UNPROTECTED flag set so they can be deleted with TAB(-1,10) (more like static text than like regular buttons).
893.0.4
(Windows/ATE) A new GUI implementation of PCKLST.SBR is now included, based on the Softel tree control, SftTree_IX86_A_45.DLL, which must be installed in the same directory as ashw32.exe if you are going to use the GUI version of PCKLST.SBR. The main benefits of the new implementation are:
• | Multiple column support. (The previous GUI implementation did not work well with multiple columns due to the proportional font spacing issues.) |
• | Horizontal scrolling permits many more columns than fit at one time. |
• | Sorting and reording of columns may be enabled. (See new Flags 16384 and 32768 below). |
• | Improved title aesthetics. (Column titles now appear as buttons which can be clicked for sorting, reordering purposes.) |
• | Somewhat improved keyboard item selection. Fast mode (where you don't have to hit ENTER) is not currently supported, but otherwise typing multiple characters (with less than 1 second delay between them) selects the item which matches all of the characters typed. After 1 second delay, the process starts over with the next character. |
• | Potential for adding many additional capabilities. (We are currently using only a small fraction of the control's features.) |
The new control should be backwards compatible with existing PCKLST calls, but some of the new features require the use of one or more additions to the PCKLST parameters. (Also note that you still need to add SBR=PCKLST_GUI to the MIAME.INI or you will get the original text implementation).
Prompt (title)
The syntax of Prompt now determines whether there are columns, and how many. The rule is that any character in the top title portion of the Prompt parameter that is preceded by two or more spaces is considered the start of a column. For example:
PROMPT="City State Zip~Northridge"
In this example, there would be only 2 columns ("City", and "State Zip") because there was only one space between "State" and "Zip"). The City column is exactly 13 characters wide (the data lines better follow this rule).
Note that the bottom title is not supported in the GUI version (Windows listboxes do not generally have bottom titles).
The new values for the flag parameter, and associated descriptions, are shown in the following table.
Flag |
Description |
4096 |
(File mode) Column titles are in first line of file (instead of in the Prompt parameter) |
8192 |
Alternate coordinate semantics. The Row,Col,Strow and Endrow params are interpreted as Srow,Scol, Erow,Ecol. This provides you total control of the size and placement of the listbox window, whereas the standard scheme does not allow you any control over the width. |
16384 |
Allow sorting by column. (Clicking on the column title toggles the sort order between ascending and descending.) Sorting does not make sense in the array mode unless one of your columns contains the original array row #; otherwise you will not be able to match up the row selected with the original array. This is less of a concern in file mode because there, the selection is returned as text rather than a row #. |
32768 |
Allow reording of columns. (This is done by dragging and dropping the column headers.) Note that in file mode, this will affect the order of the columns in the returned selection (so is probably only safe in array mode). |