From Recital Documentation Wiki
Jump to: navigation, search


Display the result of an expression at a specified screen position


@<expN1>,<expN2> SAY <expr>

[COLOR <standard | enhanced> | COLOR SCHEME <color-scheme>]

[FUNCTION <expC1> | PICTURE<expC2>]

[NAME <expC3>]


[GET <field>|<memvar>]

See Also



The @...SAY command displays the result of an expression, <expr> at the specified row, <expN1> and column, <expN2> on the screen. @...SAY may also be used with an optional GET clause. This causes the specified field or memory variable to be displayed on the screen at the current cursor position. The <expr> can be any valid Recital/4GL expression , including user-defined functions. For screens and windows, the first addressable row, column coordinate pair is 0,0. Rows are numbered from top to bottom, columns from left to right. If SET DEVICE TO PRINT is in effect, then the @...SAY command directs output to the printer. The specified row and column denote the position of the print head at which the resulting expression will be placed. For printers the first addressable row, column coordinate pair is 1,0.

COLOR <standard> | COLOR SCHEME <color-scheme>

The color of @...SAY output can be specified by including the number of an existing color scheme in the COLOR SCHEME clause or a set of color pairs in the COLOR clause. If you do not specify the COLOR clause then the @...SAY is displayed in the standard color. The color that is specified overrides the SET COLOR command, but only for the output of the current @ command. Only the first color pair in the color scheme or color pair list affects the color of the @...SAY output. A color scheme is a set of 10 predefined color pairs. The color pairs in a color scheme can be changed with the SET COLOR OF SCHEME. A Color pair is a set of two letters separated by a forward slash. The first color letter specifies the foreground color and the second letter specifies the background color.


The optional FUNCTION clause can be used to control how the <expr> is displayed or printed. FUNCTION codes can also be specified in a PICTURE clause if they are prefixed with an @ character. Since a FUNCTION code effects the entire expression only the following FUNCTION codes can used with a FUNCTION.

Function Codes Description
B Left-justifies numeric data within the display.
C CR is displayed after a positive number to indicate credit.
D Uses the current SET DATE format.
E Displays as a BRITISH date.
F Displays negative data blinking.
Q DB is displayed after positive numbers.
T Trims leading and trailing blanks.
X DB is displayed after negative numbers to indicate a debit.
Y CR is displayed after negative numbers.
Z <expr> is displayed as all blanks if its numeric value is 0.
( Encloses negative numbers in parentheses.
! Converts characters to upper case.


The optional PICTURE clause allows for specialized formatting to be performed on the expression result before it is output. Picture codes apply to individual characters in the output. The following picture codes can be used.

Picture Code Description
X Allows any character at the specified position.
Y Displays 'Y' for .T. and 'N' for .F. if there is a logical value at the specified position.
! Displays the character at the specified position in upper case.
$ Displays a dollar sign at the specified position or prefixes numeric values with the currency symbol specified by the SET CURRENCY command.
* Displays an asterisk at the specified position or prefixes numeric values with an asterisk.
. Specifies the decimal point position for numeric values or displays a '.' at the specified position.
, Specifies the separation character for numeric values over one thousand or displays a comma at the specified position.

NAME <expC3> (Recital Mirage only)

The NAME clause is used to create a 'wrapper' object for the SAY. The <expC3> must be a unique name for the current READ. Once defined, the NAME clause allows properties to be set and methods to be called on the client for that SAY. For additional information on object properties and methods, please see the Recital Mirage documentation.

PROPERTIES <expC4> (Recital Mirage only)

The PROPERTIES clause can be used to specify properties for the specified text. For information on the available properties, please see the Recital Mirage documentation.


The @...SAY and @...GET commands can be combined using the @...SAY...GET syntax. The @...GET edit region will be positioned after the @…SAY display, with a single space in between. Please see the @...GET command itself for the full @...GET syntax.


@07,03 say "Recital" color r/w


Recital Server, Recital