From Br Wiki
Jump to: navigation, search

4.16 Changes - March 10, 2006

Note- When printing directly to an HP compatible printer (not NWP), sometimes it is necessary to specify HP in the INIT statement (see example). This causes BR to output certain key values that some printers require in order to print ordinary text. This pertains to versions 4.0 and later:

    printer PRN: init HP

or if you want to have an escape sequence as well

     PRINTER PRN: init HP, "\E(s18v-whatever"

New Features

The [inactive] attribute name refers to inactive graphical controls. The attribute names are not case sensitive.

e.g. CONFIG ATTRIBUTE [inactive]/#112233:#445566

Speed improvements have been made to the client server model.

Occasionally it is necessary to extend a field to the length it would be if it contained verical box lines. e.g.

 |  xxxxxxxxxxxxxxxxxxx         |  xxxxxxxxxxxxx         |  xxxxxxxxxx |
 |  xxxxxxxxxx                  |   an extended field is needed here   |

This can be done by appending a CHR$(5) character to the field contents. That will cause a fill character to be added to the printed field length. CHR$(5) is recognized only in BOXING mode.

NWP now supports various papaer sizes. See NWP.TXT for details. NWP.TXT has been enhanced with additional explanations concerning font sizing and positioning in both PCL and NWP.

MAXRECALL now defaults to 200 entries. This is used for BR F3 command recall.

During GRID entry- Shift Tab goes to next left cell.


WB LOCATION and BR LOCATION in WB.INI and BR.INI are no longer used by BR itself. BR LOCATION is used by the ODBC driver.

When line draw characters are printed using PRINT FIELDS and an Fkey value is specified, they are processed as hot text like any other label.

INPUT FIELDS GRID/LIST continues to input the data into the iolist, even when a function key is pressed to terminate the input operation.

Processing very large grids was sped up.

During LIST selection and GRID entry- Support for Home/End/PgUp/PgDn was added.

We corrected a longstanding problem with the use of line labels in relation to DIM and DATA statements.

Background image may now be tiled.

Duplicate variable definitions with a different number of array dimensions no longer produces error 2080.

Flashing upon program load or win-menu clearing (display menu: "","","") has been eliminated. OPEN #0.. desn't close when requested to reopen. However it can be resized.

Now BR doesn't reposition or resize when switching between GUI modes.

The statusline was not updating properly especially in client-server.

DOS shell Ctrl+] was not displaying the proper resumption message.

CONFIG INCLUDE .. audit callable config statement list

PRINTER statement table processing was improved.

4.16 Changes - December 20, 2005

DIRECT:/ can be used in liu of PRN:/ to ignore SPOOLCMD. DIRECT:/ is synonamous with PRN:/ except that SPOOLCMD doesn't apply to DIRECT. ( DIRECT:/ is equivalent to specifying WIN:/ with OPTION 31 on. )

Now Parameterized Printer Substitution statements are now supported along with several other NWP enhancements, including shading, boxing and pictures.

Formerly CURROW and CURCOL represented the character position where the cursor was when FIELDS processing is completed. This is still true except when the most recent field processed is a 2D Control.

When FIELDS processing ends and control is returned to the program while the 'current' control is of type LIST or GRID, CURROW and CURCOL are set to the current cell row and column within the 2D control instead of the character position relative to the window.

APPLICATION_NAME now supported

DISPLAY and BREAK debug commands now work with specific array elements.

e.g. BREAK CUSTOMER$(6) will cause a program break whenever CUSTOMER$(6) is changed.

DIR >file_x -B supports considerably longer filenames.

New error codes have been defined-

  • 2198 - No Default Printer. This error occurs when {PRN}:/DEFAULT is specified when no default printer has been setup in Windows.
  • 4300 - A shell call was issued with the -e flag to obtain any non-zero error codes. The application returned a non-zero error code, so BR generated error 4300. The actual code returned can be found in the new system variable named SYSERR. If the error was generated by the OS a description of the error may be obtained in SYSERR$.
  • 4320 - An OS generated error has occurred during normal processing. This typically happens when executing a command such as COPY, or performing a file IO operation. The actual error code can be found in the new system variable named SYSERR. A description of the error may also be obtained in SYSERR$.

Additional Dynamic Config Statements

The following Config statements are now dynamically remappable. If someone desires to do extra DRIVE statement testing they can start out with DRIVE Z:,.,.,\ And then map their other drives from inside their application.

Unix / Linux Client Server Error Reporting

When the server abnormally terminates, BR will now log in the Unix debug log an indication of the nature of the error. To activate this feature, you must be sure the following line is present in

/etc/syslog.conf- *.debug /var/log/debug

Support is now provided for a transparent background color (T). (see also New Console.doc)

EDIT now converts inbound TAB characters to 8 blanks.


Performance problems existed for a while. Now they have been mitigated, but not entirely resolved.

Mouse wheel use in conjunction with the L attribute now only triggers when scrolling out of the displayed array.

DIR -P was not interruptable with Ctrl-A.

Minor GUI display aberrations were corrected.

Support for the old Datamaster printer escape sequences was reinstated.

The variable length 'current' field display bar, used for LIST selection, has been changed to a fixed length bar, irrespective of element data length.

A few bugs causing GPFs were found and corrected.

BR was not repainting the background picture.

ATTRIBUTE [X] /W:W no longer errors because of the whitespace after the ].

Proc * myproc now logs only the CALL to myproc.

During EDIT if a space is added to !: then error 1154 was being generated.