Difference between revisions of "Constants and Expressions"

From Recital Documentation Wiki
Jump to: navigation, search
(Constants)
Line 12: Line 12:
 
|Date||A combination of digits and separators delimited by curly braces {}.  The format is determined by the SET DATE and SET CENTURY commands.
 
|Date||A combination of digits and separators delimited by curly braces {}.  The format is determined by the SET DATE and SET CENTURY commands.
 
|-
 
|-
|Logical||A choice of two values, .T. for true, .F. for false
+
|Logical||A choice of two values, .T. for true, .F. for false (true and false can also be used themselves)
 
|-
 
|-
 
|}
 
|}
Line 42: Line 42:
 
0x00000034
 
0x00000034
 
</code>
 
</code>
 
  
 
==Expressions==
 
==Expressions==

Revision as of 01:24, 25 October 2009

Constants

The Recital/4GL supports the following constants:


Datatype Description
Character A string of ASCII characters up to 65535 characters in length. Delimited by double quotes "", single quotes ‘’ or square brackets []
Numeric An integer number of up to 16 digits (0-9) or a floating point number of up to 25 digits (9 are reserved for decimal places) and one decimal point.
Date A combination of digits and separators delimited by curly braces {}. The format is determined by the SET DATE and SET CENTURY commands.
Logical A choice of two values, .T. for true, .F. for false (true and false can also be used themselves)


Hexadecimal numbers

Hexadecimal numbers, prefixed by 0x, can be used in place of decimal numbers except in the data entry/modification of numerics. (Linux platforms only).


? BITAND(0x67452301,0xFFFFFFFF)


Results of expressions will still be returned as decimal numbers.


? 0x1a * 2
        52


The TRANSFORM() function can be used to return a numeric as a hexadecimal.


? transform((0x1a * 2),"@0")
0x00000034

Expressions

The TYPE() function can be used to determine the data type of any expression.


uMemvar TYPE("uMemvar") Type
[hello] ’C’ Character
’goodbye’ ’C’ Character
"RECITAL" ’C’ Character
1234 ’N’ Numeric
1234.56 ’N’ Numeric
"1234.56" ’C’ Character
0x2b ’N’ Numeric
{01/01/96} ’D’ Date
{01/01/1996} ’D’ Date
"01/01/96" ’C’ Character
.T. ’L’ Logical
.F. ’L’ Logical
opentags ’P’ Procedure
OMyObj ’O’ Object
Undetermined Type ’U’ Undefined