Previous Next

CHR function
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.
 
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 
*
*
See also 
ASC function, CODEPAGE-CONVERT function, SESSION system handle, STRING function

Previous Next
© 2013 Progress Software Corporation and/or its subsidiaries or affiliates.