[Previous][Up][Next] Reference for unit 'System' (#rtl)

Unicode and codepage support.

The system unit works with Short-, Ansi-, and UnicodeString routines for all string related operations.

Ansistrings are code-page aware, which means that code page information is associated with them. For most routines, the support for converting these code pages is natural. For some routines, care must be taken when converting from codepage-aware strings to widestring.

The codepage conversion support is influenced by the following variables:

Name Description
DefaultSystemCodePage Actual code page to use when CP_ACP is encountered
DefaultUnicodeCodePage Code page for new Unicode strings
DefaultFileSystemCodePage Codepage to use when sending strings to single-byte OS file system routines.
DefaultRTLFileSystemCodePage Codepage to use when receiving strings from single-byte OS file system routines.

The windows code page identifiers are used. There are 3 special codepage identifiers:

Name Description
CP_ACP Currently set default system codepage
CP_OEMCP OEM (console) code page (only on windows)
CP_NONE Indicates absence of code page information for a string
DefaultRTLFileSystemCodePage

The following routines may perform code page conversions:

Name Description
LowerCase Return lowercase version of a string.
UpCase Convert a string to all uppercase.
GetDir Return the current directory.
MkDir Create a new directory.
ChDir Change current working directory.
RmDir Remove directory when empty.
Assign Assign a name to a file.
Erase Delete a file from disk.
Rename Rename file on disk.
Read Read from a text file into variable.
ReadLn Read from a text file into variable and goto next line.
Write Write variable to a text file or standard output.
WriteLn Write variable to a text file or standard output and append newline.
ReadStr Read variables from a string.
WriteStr Write variables to a string.
Insert Insert one string or dynamic array in another.
Copy Copy part of a string or dynamic array.
Delete Delete elements (characters) from a string or dynamic array.
SetString Set length of a string and copy buffer.

All these routines exist also in Unicode versions.

Note that for conversion of codepages and Unicode strings, a Unicode manager must be present. On windows, the system is used for this. On Unix, one of the fpwidestring or cwstring units must be used.


Documentation generated on: Dec 26 2024