Converts an integer value to its corresponding
character value.
Syntax
CHR ( expression
[ ,target-codepage [ , source-codepage ] ]
)
|
-
expression
- An expression that yields an integer value that you want to
convert to a character value.
If the value of expression is
in the range of 1 to 255, CHR returns a single character. This character
might not be printable or might not display on certain terminals.
For a value greater than 255, the CHR function checks whether the
value represents a valid character within the source code page.
For a double-byte or Unicode source code page, it checks for a corresponding
lead-byte value. If the integer value corresponds to a valid lead-byte
and the value represents a valid character in the source code page,
CHR returns the character. Otherwise, the character returns a null
string.
-
target-codepage
- A character-string expression that evaluates to the name of
a code page. The name that you specify must be a valid code page
name available in the DLC/convmap.cp file (a
binary file that contains all of the tables that ABL uses for character
management). If you supply a non-valid name, the CHR function returns
a null string. Before returning a character value, the CHR function
converts expression from source-codepage to target-codepage.
The returned character value is relative to target-codepage.
If you do not specify target-codepage, no code
page conversions occur.
-
source-codepage
- A character-string expression that evaluates to the name of
a code page. The name that you specify must be a valid code page
name available in the DLC/convmap.cp file.
If you supply a non-valid name, the CHR function returns a null
string. The source-codepage specifies the name
of the code page to which expression is relative.
The default value of source-codepage is the value
of SESSION:CHARSET.
Example
The r-chr.p procedure
initializes the 26 elements of the letter array to the letters A
through Z.
r-chr.p
DEFINE VARIABLE ix AS INTEGER NO-UNDO.
DEFINE VARIABLE letter AS CHARACTER NO-UNDO FORMAT "X(1)" EXTENT 26.
DO ix = 1 TO 26:
letter[ix] = CHR((ASC("A")) - 1 + ix).
END.
DISPLAY SKIP(1) letter WITH 2 COLUMNS NO-LABELS
TITLE "T H E A L P H A B E T".
|
Notes
- The
CHR function returns the corresponding character in the specified
code page. By default, the value of SESSION:CHARSET is iso8859-1.
You can set a different internal code page by specifying the Internal
Code Page (-cpinternal) parameter. For more information, see OpenEdge
Deployment: Startup Command and Parameter Reference.
- The CHR function is double-byte enabled. For a value greater
than 255 and less than 65535, it checks for a lead-byte value. If
the lead-byte value is valid, the AVM creates and returns a double-byte
character.