From BR Wiki
Jump to navigation Jump to search

Business Rules! Release 4.18 is stable and is being successfully deployed. It is the solid version of 4.17.

For Initial NEW CONSOLE Features - See "New GUI Console.doc" and Printer.Sys.doc

4.18 Changes - 4.18a - October 11, 2007

OPTION 47 Enables the continued use of PRINTER= in OPEN statements.

OPTION 48 Make ENTER key set FKEY to 0 even with an FKEY specification.

OPTION 49 Use relative path for spool file name passed in SPOOLCMD.

OPTION 50 Suppress theme usage for text controls. This enables the Windows classical look under XP.

OPTION 51 is an old unpublished and untested option for recovering deleted records during WRITE operations.

OPTION 52 Enables the second click of a double click operation to produce its own interrupt with fkey value 201.

OPTION 53 Allows mouse positioning inside a field other than the current field. Without this option clicking anywhere in a non-current active input field will process it as though the field were entered via the arrow keys.

OPTION 54 exits BR at any console command prompt with a message box showing program name and line number:clause. Waiting for input by a program has no affect.

Alt+F4 returns Fkey 93. ( same as clicking the X box )

New field attribute names- for better readability - Actions- (may precede or follow [attr-names] ) ^label - (new) Disallows typing but allows space bar to be treated as ENTER. ^advance - A ^cursor - C ^chgexit - E ^nowait - G ^exit - X ^leave - L ^protect - P (applies [inactive] color attribute )

Display Characteristics- (must follow [attr-names] ) ^combo - Q ^sunken - S ^tab - T

SCREEN Statement References- (must follow [attr-names] ) N,B,H,R,U,I

Note- Field attribute specifications normally should appear in the following order:

  • [attrib-name]
  • override attributes (A, E, X etc.)
  • color
  • font (in ATTRIBUTE statements only)

Note- Config [attributes] do NOT store actions. They only store screen display characteristics.

HELP (tool tips) on PRINT FIELDS is now supported. Example: PRINT FIELDS #nn,"10,10,P 8/15,450", HELP str$: "myimage.jpg:ISOTROPIC"

Support for MIN_FONTSIZE in pixels - e.g. MIN_FONTSIZE=20x10 If a window is shrunk below this limit, scrollbars are displayed.

EDIT with no program will edit the program named MYSPACE.

EDIT ~ [ program-name ] will perform EDIT 'enter' processing. That is it will compare the edited source file with the program in memory and store the differences.

  • EDIT - uses the previous editor source file
  • Shell call parameter lists have been expanded to the maximum BR line length (currently 800).
  • Support for the DEBUG CONSOLE OFF command.
  • If the first drive statement fails BR defaults it to "Drive C:,.,x,\". This lets the program scout around to dynamically create a drive statement.
  • RENUM LABELS_ONLY parameter introduced

new CONFIG statement(s)

  • COLOR [C1]#112233 where C1 can be up to 12 characters.

[C1] can then be substituted for # color values wherever they appear.

STATUS COLORS shows what COLOR statements are in effect

New Internal Functions

NWP Improvements

NWP support has been added for \Eleft_justify, \Eright_justify and \Ecenter. Any of the following delineate blocks: CHR$(5), pipe ( | ), \Ebegin.., \Eend.., \Eleft.., etc.

Draft mode is now supported under NWP - use Epson codes to set it. ( See NWP.DOC for Native Windows Printing specifications )

The following syntax can be used to shift the entire contents of a page up/down and or left/right. This can be useful for page binding or other offset purposes. Left and top offset registration now move everything on the page a given distance in decipoints (720 decipoints = 1 inch). Negative numbers shift up and left.

&l#U Left offset registration &l#Z Top offset registration

PREVIEW provides case insensitive Search capability. PREVIEW saves the user preference for % of amplification across sessions.

Tabbed Window Enhancements

CURTAB with no parms returns the window number of the last tab clicked.

Mouse Button scan codes can now be remapped with BRconfig.sys keyboard statements.

Config INSERT will be overridden by user preferences. If MIN_LENGTH is specified there will be both a long and a short user preference concerning INSERT. The user expresses his preference by entering a long or short field and setting the insert mode. Insert preferences will remain in effect until changed by the user for the duration of the session.

DIR -o sorts on long file names.

BR allows for dynamic activation of field specs for programmed screen generation by ignoring zero length fields. If a non-null value is provided with a zero display length it is treated as if no length were specified ( the length is assumed to be the length of the data )"row,col,C 0" with null data will be ignored.

File Browser introduced.

Keyboard use with GRIDs has been refined- In GRID navigation mode - without shift Right Arrow wraps to the first cell of the next row. If in the last cell, it wraps to the first cell unless the row has the L attribute or some other attribute that causes an exit of the 2D Control. Left Arrow works alike in reverse.

If a GRID input is attempted on a protected field, BR issues a Bell.

The space bar can be used to select (multiple rows) when ctrl is depressed. It doesn't lose selections when switching between mouse and keyboard with ctrl depressed.

Debug Statement Table - used by LOAD to apply debug statements

The -p parameter specifies which program or programs the statement pertains to. If not specified, then the full BR path to the current program is stored as the program name search string. However the substring value could be used as a mask to apply to multiple program libraries.

e.g BREAK -p lib BEGIN.

This would break upon entry to any program file that has LIB as part of the name. Note that the program name substring is case insensitive.

DISPLAY [ -p program-name-substr ] ALL [ OFF | PRINT | >filename ] DISPLAY [ -p prog-name-substr ] var-name [ OFF | PRINT | >filename]

BREAK [ -p program-name-substring ] BEGIN [ OFF ] (break upon entry) BREAK [ -p program-name-substring ] variable-name [ OFF ] BREAK [ -p program-name-substring ] line[:clause] [ OFF ] BREAK [ -p program-name-substring ] label:[clause] [ OFF ] BREAK [ -p program-name-substring ] FNname [ OFF ]


STATUS BREAK displays all debug settings

New ERROR CODES relating to debugging

  • 0420 Operation not permitted with debugger attached
  • 0422 Unknown host name
  • 0424 Connection failed
  • 0426 Bad port defined
  • 0428 Accept failed
  • 0430 Not processing input command mode
  • 0432 The given clause number is invalid

Errors Corrected

Shift+PgUp and Shift+PgDn selects within a List/Grid.

If the current day is not given in a date specification such as MONTH CY then we now use the first day of the month.

When redirecting output of a STATUS command that references a filename, the redirection may be specified after the filename qualifier. e.g. STATUS FILES ORDERH >filename

> is now < when denoting that the end of a field has been reached.

Tabs were failing with FORCE_VISIBILITY on.

In NWP tabs were not positioning correctly to the NEXT tab position.

PRINT BORDER : with no specs is no longer allowed

A number of problems concerning Windows on tabs were corrected.

Finish fixing keyboard navigation problems with GUI controls. mainly combo boxes, check boxes on tabbed windows

DIR *.XXX no longer accesses *.XXXX

Allow CurFld to exceed 65535.

We now left justify all fields during input mode for GUI off.

Dynamically resizes Fonts On Tab Captions.

COPY and RENAME with not TO filename specified causes unpredictable results.

NWP positioning errors were corrected: Setting Top margin with &l#E no longer moves the current printing position. Setting absolute position by row with &a#R now correctly uses the first line offset.

Shift F4 - step over line - got hung up on shell calls

The command line is now cleared in the linux model when an interrupt occurs.

ENV$("Clipboard") always returned an added NULL (chr$(0)) character. This has been corrected.


OPEN #1:"name=.PRN:/Select.....

 IF FILE$(1)="CANCELED" THEN ... operator canceled

Use INPUT FIELDS ... NOWAIT to raise a TAB.

File numbers may be in the range 300-999 in addition to the customary 1-199.

Client Server brlistener.conf STDERR= parameter applies when no LOGGING statement has been processed. OS error and BR exit error messages are directed here.