[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'System' (#rtl)

# TUnicodeStringManager

Unicode string manager

## Declaration

Source position: ustringh.inc line 74

`type TUnicodeStringManager = record`
`Wide2AnsiMoveProc: procedure(` |  | Callback used when a Unicode/wide string must be converted to an ansistring
`source: PWideChar;`
`var dest: RawByteString;`
`cp: TSystemCodePage;`
`len: SizeInt`
`);`
`Ansi2WideMoveProc: procedure(` |  | Callback used when an ansistring must be converted to a unicodestring/widestring.
`source: PChar;`
`cp: TSystemCodePage;`
`var dest: widestring;`
`len: SizeInt`
`);`
`UpperWideStringProc: function(` |  | Callback used when a Unicode/wide string must be uppercased.
`const S: WideString`
`):WideString;`
`LowerWideStringProc: function(` |  | Callback used when a Unicode/wide string must be lowercased.
`const S: WideString`
`):WideString;`
`CompareWideStringProc: function(` |  | Callback used when 2 Unicode/wide strings must be compared
`const s1: WideString;`
`const s2: WideString;`
`Options: TCompareOptions`
`):PtrInt;`
`CharLengthPCharProc: function(` |  | Callback used when the character length of a Unicode/wide string must be calculated
`const Str: PChar`
`):PtrInt;`
`CodePointLengthProc: function(` |  | Return the length of a code point
`const Str: PChar;`
`MaxLookAead: PtrInt`
`):PtrInt;`
`UpperAnsiStringProc: function(` |  | Callback used when an ansistring must be uppercased.
`const s: ansistring`
`):ansistring;`
`LowerAnsiStringProc: function(` |  | Callback used when an ansistring must be lowercased.
`const s: ansistring`
`):ansistring;`
`CompareStrAnsiStringProc: function(` |  | Callback used when 2 ansistrings must be compared.
`const S1: ansistring;`
`const S2: ansistring`
`):PtrInt;`
`CompareTextAnsiStringProc: function(` |  | Callback used when 2 ansistrings must be compared case insensitively.
`const S1: ansistring;`
`const S2: ansistring`
`):PtrInt;`
`StrCompAnsiStringProc: function(` |  | Callback used when 2 ansistrings must be compared case insensitively
`S1: PChar;`
`S2: PChar`
`):PtrInt;`
`StrICompAnsiStringProc: function(` |  | Callback used when 2 null-terminated ansistring arrays must be compared case insensitively
`S1: PChar;`
`S2: PChar`
`):PtrInt;`
`StrLCompAnsiStringProc: function(` |  | Callback used when 2 ansistring arrays must be compared up to a given length
`S1: PChar;`
`S2: PChar;`
`MaxLen: PtrUInt`
`):PtrInt;`
`StrLICompAnsiStringProc: function(` |  | Callback used when 2 ansistring arrays must be compared case insensitively up to a given length
`S1: PChar;`
`S2: PChar;`
`MaxLen: PtrUInt`
`):PtrInt;`
`StrLowerAnsiStringProc: function(` |  | Callback used when a null-terminated ansistring array must be lowercased.
`Str: PChar`
`):PChar;`
`StrUpperAnsiStringProc: function(` |  | Callback used when a null-terminated ansistring array must be uppercased.
`Str: PChar`
`):PChar;`
`ThreadInitProc: procedure;` |  | Called whenever a new thread is started.
`ThreadFiniProc: procedure;` |  | Called whenever a thread ends.
`Unicode2AnsiMoveProc: procedure(` |  | Callback used whenever a Unicode string must be converted to an ansistring.
`source: PUnicodeChar;`
`var dest: RawByteString;`
`cp: TSystemCodePage;`
`len: SizeInt`
`);`
`Ansi2UnicodeMoveProc: procedure(` |  | Callback used whenever a ansistring must be converted to a Unicode string.
`source: PChar;`
`cp: TSystemCodePage;`
`var dest: unicodestring;`
`len: SizeInt`
`);`
`UpperUnicodeStringProc: function(` |  | Callback used to convert a Unicode string to uppercase.
`const S: UnicodeString`
`):UnicodeString;`
`LowerUnicodeStringProc: function(` |  | Callback used to convert a Unicode string to lowercase.
`const S: UnicodeString`
`):UnicodeString;`
`CompareUnicodeStringProc: function(` |  | Callback used to compare 2 Unicode strings.
`const s1: UnicodeString;`
`const s2: UnicodeString;`
`Options: TCompareOptions`
`):PtrInt;`
`GetStandardCodePageProc: function(` |  | Callback to query for standard used codepages
`const stdcp: TStandardCodePageEnum`
`):TSystemCodePage;`
`end;`

## Description

TUnicodeStringManager is currently the same as the TUnicodeStringManager manager record. It performs the same functions: converting Unicode strings to ansistrings and vice-versa, performing uppercase to lowercase transformations and comparing strings.

## See also

TWideStringManager |  | Record containing the various callbacks of the widestring manager.