Contact Us
- Sales: sales@todaysystems.com
- Support: support@todaysystems.com
TB0020 - Summary of new functionality in BuildPro 8.00
Number: TB0020
Availability: As of BuildPro 8.00 on all platforms
Introduction
This bulletin provides a summary of functionality added over the past several releases. A number of these additions have been implemented in parallel with Web-API developments.
Handling of TAB key in Multi-line Edit Fields
The TAB keys can now be processed in two different ways for multi-line edit fields. The MultilineEditTABThru setting in the BuildPro configuration file (wintoday.ini / .todayrc) controls handling of the TAB key on a system wide basis. Valid settings are:
MultilineEditTABThru=TRUE
Pressing the TAB key will pass focus to the next field. This is the default setting.
MultilineEditTABThru=FALSE
Pressing the TAB key will insert a TAB character in the field.
Changing the background color of Display-only Edit Fields
Settings in the BuildPro configuration file control the background color of edit fields in display mode:
The background and brush colors for non selectable fields:
EditSelectableNoBg=DarkGrey
EditSelectableNoBrush=solid-DarkGrey
The background and brush colors for non editable fields:
EditEditableNoBg=DarkGrey
EditEditableNoBrush=solid-DarkGrey
NOTE: If all values are set, then the non selectable settings take precedence.
Altering field display characteristics at runtime.
The characteristics of labels and edit fields can be altered at runtime using extensions to the FIELD command.
FIELD *FONT= dataref from-field to-field
FIELD *BRUSH= dataref from-field to-field
FIELD *FGCOL= dataref from-field to-field
FIELD *BGCOL= dataref from-field to-field
In the above, dataref is either a text string (solid-red) or a reference to a definition in the BuildPro configuration file (myInputColor).
Example:
FIELD *FONT= "Arial-italic-14" 1 2
FIELD *FGCOL= "red" 1 2
FIELD *BGCOL= "blue" 1 2
FIELD *BRUSH= "myNormalBrush" S-part_no
For a demonstration of these commands test this application.
Change Window Title at Runtime
The text in title bar of the current window can be changed at runtime using the SCREEN *TITLE command:
SCREEN *TITLE S-title
Example:
*P01 = L-Application " - " L-Company
SCREEN *TITLE *P01
Communication Area Enhancements
Communication Areas are useful variable to obtain various system or operating information. Following are explanation of new comm areas:
System communication areas:
*CLIENTID --- READ-ONLY
Storage Char
Length 15
Edit Code Unspecified
Holds the IP address of the current BuildPro. For stand-alone BuildPro processes, it is the same as *SERVERID .
*SERVERID --- READ-ONLY
Storage Char
Length 15
Edit Code Unspecified
Holds the IP address of the BuildPro server.
*PID
Storage SHORT
Length 5
Edit Code Unsigned Numeric
Holds current BuildPro operating system process id.
*RANDOM
Storage SHORT
Length 5
Edit Code Unsigned Numeric
Description: Holds a random number - generated at reference time.
Communication areas for formatting data. Each of the following comm areas expect a single argument in parenthesis.
*UPPER, *LOWER, *PROPER
Storage CHAR
Length varies
Edit Code Unspecified
Accessibility: READ ONLY
*UPPER(dataref)
Reads the content of the current dataref, upshifts all alphabetic characters and loads the result into the target dataref. Special alphabetic characters are shifted according to the current language definition or UNICODE distance by default.
Example:
*P01 = "London"
*P02 = *UPPER(*P01)
*LOWER(dataref)
Reads the content of the current dataref, downshifts all alphabetic characters and load the result into the target dataref. Special alphabetic characters are shifted according to the UNICODE distance by default.
*PROPER(dataref)
Reads the content of the current dataref, shifts all alphabetic characters to conform to proper name format and load the result into the target dataref. For example, *P02=*PROPER("JOHN SMITH") will place "John Smith" in *P02. The implementation assumes all non-alphabetic characters to be word separators. Special alphabetic characters are shifted according to the UNICODE distance by default, but for upshifting, the sort definition takes precedence.
Example:
L-name = *PROPER(F-name.file)
V-hello = "Hello, " *TRIMR(L-name) "! Today's date is " *DATE
L-index = *LOWER(L-value1) "-" *LOWER(L-value2)
*P02 = *UPPER("abcdefgh")[1,4]
*PUNCT(dataref)
Reads the contents of dataref, inserts thousand separators into the proper positions and loads the result into the target. Dataref may be any dataref, literal or numeric literal. If the dataref is not a numeric literal, it first checks if the alphanumeric represents a legal number. Thousand separators are language dependant.
Example:
V-subtotal = 23000
*P02="$" *PUNCT(V-subtotal)
will place "$23,000" in *P02.
*TRIMR(dataref)
Trims excess trailing spaces from dataref.
*TRIML(dataref)
Trims exess leading spaces from dataref.
Example:
L-age = " 23"
L-name = "John "
*P01 = *TRIMR(V-name) "'s age is " *TRIML(V-age)
will place "John's age is 23" in *P01
Improving Windows Performance when using complex screens
Under Windows, the TCP buffer size can be set in the BuildPro configuration file. An increased buffer size will increase performance in the display of complex screen specifically in the case of many pulldown menu items (>100).
Under [TODAY Environment] add the following entry:
TCPBuffSize=32760
The default is 4096. To test, select a high value (256,000) and lower it until optimum performance is achieved.