Difference between revisions of "Unit Unicode"

From Ultibo.org
Jump to: navigation, search
(Created page with "Return to Unit Reference === Description === ---- ''To be documented'' === Constants === ---- ''To be documented'' === Type definitions === ---- ''To...")
 
 
(13 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
----
 
----
  
''To be documented''
+
'''Ultibo Widestring Manager Interface unit'''
 +
 
 +
This unit implements the WideString and UnicodeString support for Ultibo including the WideStringManager/UnicodeStringManager interface for the RTL.
 +
 +
This unit provides compatible implementations of the following functions:
 +
 
 +
<div style="column-count:3;-moz-column-count:3;-webkit-column-count:3">
 +
* CharLower
 +
* CharPrev
 +
* CharUpper
 +
* FoldString
 +
* GetStringTypeEx
 +
* IsCharAlphaNumeric
 +
* IsDBCSLeadByte
 +
* LoadString
 +
* lstrcmpi
 +
* lstrlen
 +
* OemToCharBuff
 +
* wvsprintf
 +
* OemToAnsi
 +
* CharLowerBuff
 +
* CharToOem
 +
* CharUpperBuff
 +
* FormatMessage
 +
* GetStringTypeW
 +
* IsCharLower
 +
* IsTextUnicode
 +
* lstrcat
 +
* lstrcpy
 +
* MultiByteToWideChar
 +
* WideCharToMultiByte
 +
* CompareStringW
 +
* CharNext
 +
* CharToOemBuff
 +
* CompareStringA
 +
* GetStringTypeA
 +
* IsCharAlpha
 +
* IsCharUpper
 +
* LCMapString
 +
* lstrcmp
 +
* lstrcpyn
 +
* OemToChar
 +
* wsprintf
 +
* AnsiToOem
 +
</div>
 +
 
 +
The following functions are implemented by the FileSystem unit:
 +
 
 +
* AreFileApisANSI    (AreFileApisANSI is exposed in the Ultibo unit)
 +
* SetFileApisToANSI  (SetFileApisToANSI is exposed in the Ultibo unit)
 +
* SetFileApisToOEM  (SetFileApisToOEM is exposed in the Ultibo unit)
 +
 
 +
Most of the above are currently not implemented.
 +
 
 +
 
 +
See also: https://msdn.microsoft.com/en-us/library/windows/desktop/dd319081%28v=vs.85%29.aspx
  
 
=== Constants ===
 
=== Constants ===
 
----
 
----
  
''To be documented''
+
''None defined''
  
 
=== Type definitions ===
 
=== Type definitions ===
 
----
 
----
  
''To be documented''
+
 
 +
'''String types'''
 +
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>LPSTR = PAnsiChar;</code>
 +
| style="width: 40%;"|
 +
|-
 +
| <code>LPCSTR = PAnsiChar;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
 +
'''Wide string types'''
 +
 
 +
{| class="wikitable" style="font-size: 14px; text-align: left; width: 100%; height: 50px;"
 +
|-
 +
| <code>LPWSTR = PWideChar;</code>
 +
| style="width: 40%;"|
 +
|-
 +
| <code>LPCWSTR = PWideChar;</code>
 +
| style="width: 40%;"|
 +
|-
 +
|}
 +
<br />
  
 
=== Public variables ===
 
=== Public variables ===
 
----
 
----
  
''To be documented''
+
''None defined''
  
 
=== Function declarations ===
 
=== Function declarations ===
 
----
 
----
  
''To be documented''
 
  
 +
'''Initialization functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure UnicodeInit;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''Unicode functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function MultiByteToWideChar(CodePage:UINT; dwFlags:DWORD; lpMultiByteStr:LPCSTR; cbMultiByte:Integer; lpWideCharStr:LPWSTR; cchWideChar:Integer):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' SBCS/DBCS OEM or ANSI string to Unicode string</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| cchWideChar is the size of lpWideCharStr in WideChars (not Bytes).
 +
Currently ignores the Flags parameter. Currently only supports SBCS.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function WideCharToMultiByte(CodePage:UINT; dwFlags:DWORD; lpWideCharStr:LPCWSTR; cchWideChar:Integer; lpMultiByteStr:LPSTR; cbMultiByte:Integer; lpDefaultChar:LPCSTR; lpUsedDefaultChar:LPBOOL):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Unicode string to SBCS/DBCS OEM or ANSI string</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| cchWideChar is the size of lpWideCharStr in WideChars (not Bytes).
 +
Currently ignores the Flags and DefaultChar parameters. Currently only supports SBCS.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CompareString(Locale:LCID; dwCmpFlags:DWORD; lpString1:LPCSTR; cchCount1:Integer; lpString2:LPCSTR; cchCount2:Integer):Integer; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CompareStringA(Locale:LCID; dwCmpFlags:DWORD; lpString1:LPCSTR; cchCount1:Integer; lpString2:LPCSTR; cchCount2:Integer):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' ANSI compare of two strings for equivalence. If both strings are equal returns CSTR_EQUAL, if string 1 is less than string 2 returns CSTR_LESS_THAN and if string 1 is greater than string 2 returns CSTR_GREATER_THAN, on error returns 0</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently the Locale value is ignored and the ANSI code page is used for comparison.
 +
Currently only supports SBCS.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CompareStringW(Locale:LCID; dwCmpFlags:DWORD; lpString1:LPCWSTR; cchCount1:Integer; lpString2:LPCWSTR; cchCount2:Integer):Integer;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Unicode compare of two strings for equivalence. If both strings are equal returns CSTR_EQUAL, if string 1 is less than string 2 returns CSTR_LESS_THAN and if string 1 is greater than string 2 returns CSTR_GREATER_THAN, on error returns 0</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently the Locale value is ignored
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharUpper(lpsz:LPSTR):LPSTR; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharUpperA(lpsz:LPSTR):LPSTR;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Lower to Upper case conversion in ANSI code page (Char)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Unlike Windows this function does not differentiate a single character by the high order word of the passed pointer. To convert a single character call CharUpperBuffA instead with the length as 1.
 +
Currently only supports SBCS.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharUpperW(lpsz:LPWSTR):LPWSTR;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Lower to Upper case conversion in Unicode (WideChar)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Unlike Windows this function does not differentiate a single character by the high order word of the passed pointer. To convert a single character call CharUpperBuffW instead with the length as 1.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharUpperBuff(lpsz:LPSTR; cchLength:DWORD):DWORD; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharUpperBuffA(lpsz:LPSTR; cchLength:DWORD):DWORD;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Lower to Upper case conversion in ANSI code page (Char)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently only supports SBCS
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharUpperBuffW(lpsz:LPWSTR; cchLength:DWORD):DWORD;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Lower to Upper case conversion in Unicode (WideChar)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharLower(lpsz:LPSTR):LPSTR; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharLowerA(lpsz:LPSTR):LPSTR;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Upper to Lower case conversion in ANSI code page (Char)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Unlike Windows this function does not differentiate a single character by the high order word of the passed pointer. To convert a single character call CharLowerBuffA instead with the length as 1.
 +
Currently only supports SBCS.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharLowerW(lpsz:LPWSTR):LPWSTR;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Upper to Lower case conversion in Unicode (WideChar)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Unlike Windows this function does not differentiate a single character by the high order word of the passed pointer. To convert a single character call CharLowerBuffW instead with the length as 1.
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharLowerBuff(lpsz:LPSTR; cchLength:DWORD):DWORD; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharLowerBuffA(lpsz:LPSTR; cchLength:DWORD):DWORD;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Upper to Lower case conversion in ANSI code page (Char)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently only supports SBCS
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharLowerBuffW(lpsz:LPWSTR; cchLength:DWORD):DWORD;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Upper to Lower case conversion in Unicode (WideChar)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function AnsiToOem(lpszSrc:LPCSTR; lpszDst:LPSTR):BOOL; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function AnsiToOemBuff(lpszSrc:LPCSTR;lpszDst:LPSTR; cchDstLength:DWORD):BOOL; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function OemToAnsi(lpszSrc:LPCSTR; lpszDst:LPSTR):BOOL; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function OemToAnsiBuff(lpszSrc:LPCSTR; lpszDst:LPSTR; cchDstLength:DWORD):BOOL; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharToOem(lpszSrc:LPCSTR; lpszDst:LPSTR):BOOL; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharToOemA(lpszSrc:LPCSTR; lpszDst:LPSTR):BOOL;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' ANSI to OEM conversion (Char to Char)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently only supports SBCS
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharToOemW(lpszSrc:LPCWSTR; lpszDst:LPSTR):BOOL;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Unicode to OEM conversion (WideChar to Char)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently only supports SBCS
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function OemToChar(lpszSrc:LPCSTR; lpszDst:LPSTR):BOOL; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function OemToCharA(lpszSrc:LPCSTR; lpszDst:LPSTR):BOOL;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' OEM to ANSI conversion (Char to Char)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently only supports SBCS
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function OemToCharW(lpszSrc:LPCSTR; lpszDst:LPWSTR):BOOL;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' OEM to Unicode conversion (Char to WideChar)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently only supports SBCS
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharToOemBuff(lpszSrc:LPCSTR; lpszDst:LPSTR; cchDstLength:DWORD):BOOL; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharToOemBuffA(lpszSrc:LPCSTR; lpszDst:LPSTR; cchDstLength:DWORD):BOOL;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' ANSI to OEM conversion (Char to Char)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently only supports SBCS
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function CharToOemBuffW(lpszSrc:LPCWSTR; lpszDst:LPSTR; cchDstLength:DWORD):BOOL;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Unicode to OEM conversion (WideChar to Char)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently only supports SBCS
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function OemToCharBuff(lpszSrc:LPCSTR; lpszDst:LPSTR; cchDstLength:DWORD):BOOL; inline;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function OemToCharBuffA(lpszSrc:LPCSTR; lpszDst:LPSTR; cchDstLength:DWORD):BOOL;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' OEM to ANSI conversion (Char to Char)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently only supports SBCS
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function OemToCharBuffW(lpszSrc:LPCSTR; lpszDst:LPWSTR; cchDstLength:DWORD):BOOL;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' OEM to Unicode conversion (Char to WideChar)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently only supports SBCS
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''RTL unicode functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysCodePageToWideChar(Ch:Char):WideChar;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' ANSI to Unicode conversion (Char to WideChar)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently only supports SBCS
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysWideCharToCodePage(Ch:WideChar):Char;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' Unicode to ANSI conversion (WideChar to Char)</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| Currently only supports SBCS
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
 +
'''RTL unicode string manager functions'''
 +
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SysWide2AnsiMove(Source:PWideChar; var Dest:RawByteString; cp:TSystemCodePage; Len:SizeInt);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SysAnsi2WideMove(Source:PChar; cp:TSystemCodePage; var Dest:WideString; Len:SizeInt);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUpperWideString(const S:WideString):WideString;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysLowerWideString(const S:WideString):WideString;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysCompareWideString(const s1,s2:WideString; Options:TCompareOptions):PtrInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysCompareTextWideString(const s1,s2:WideString):PtrInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SysUnicode2AnsiMove(Source:PUnicodeChar; var Dest:RawByteString; cp:TSystemCodePage; Len:SizeInt);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">procedure SysAnsi2UnicodeMove(Source:PChar; cp:TSystemCodePage; var Dest:UnicodeString; Len:SizeInt);</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUpperUnicodeString(const S:UnicodeString):UnicodeString;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysLowerUnicodeString(const S:UnicodeString):UnicodeString;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysCompareUnicodeString(const s1,s2:UnicodeString; Options:TCompareOptions):PtrInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysCompareTextUnicodeString(const s1,s2:UnicodeString):PtrInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysUpperAnsiString(const S:String):String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysLowerAnsiString(const S:String):String;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysCompareStrAnsiString(const S1,S2:String):PtrInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysCompareTextAnsiString(const S1,S2:String):PtrInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysStrCompAnsiString(S1,S2:PChar):PtrInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysStrICompAnsiString(S1,S2:PChar):PtrInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysStrLCompAnsiString(S1,S2:PChar; MaxLen:PtrUInt):PtrInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysStrLICompAnsiString(S1,S2:PChar; MaxLen:PtrUInt):PtrInt;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysStrLowerAnsiString(Str:PChar):PChar;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
 +
<div class="toccolours mw-collapsible mw-collapsed" style="border: 1; font-family: arial; padding-top: 0px; padding-bottom: 15px;">
 +
<pre style="border: 0; padding-bottom:0px;">function SysStrUpperAnsiString(Str:PChar):PChar;</pre>
 +
<div style="font-size: 14px; padding-left: 12px;">'''Description:''' To be documented</div>
 +
<div class="mw-collapsible-content" style="text-align: left; padding-left: 5px;">
 +
{| class="wikitable" style="font-size: 14px; background: white;"
 +
|-
 +
! Note
 +
| None documented
 +
|-
 +
|}
 +
</div></div>
 +
<br />
  
 
Return to [[Unit_Reference|Unit Reference]]
 
Return to [[Unit_Reference|Unit Reference]]

Latest revision as of 04:37, 31 August 2021

Return to Unit Reference


Description


Ultibo Widestring Manager Interface unit

This unit implements the WideString and UnicodeString support for Ultibo including the WideStringManager/UnicodeStringManager interface for the RTL.

This unit provides compatible implementations of the following functions:

  • CharLower
  • CharPrev
  • CharUpper
  • FoldString
  • GetStringTypeEx
  • IsCharAlphaNumeric
  • IsDBCSLeadByte
  • LoadString
  • lstrcmpi
  • lstrlen
  • OemToCharBuff
  • wvsprintf
  • OemToAnsi
  • CharLowerBuff
  • CharToOem
  • CharUpperBuff
  • FormatMessage
  • GetStringTypeW
  • IsCharLower
  • IsTextUnicode
  • lstrcat
  • lstrcpy
  • MultiByteToWideChar
  • WideCharToMultiByte
  • CompareStringW
  • CharNext
  • CharToOemBuff
  • CompareStringA
  • GetStringTypeA
  • IsCharAlpha
  • IsCharUpper
  • LCMapString
  • lstrcmp
  • lstrcpyn
  • OemToChar
  • wsprintf
  • AnsiToOem

The following functions are implemented by the FileSystem unit:

  • AreFileApisANSI (AreFileApisANSI is exposed in the Ultibo unit)
  • SetFileApisToANSI (SetFileApisToANSI is exposed in the Ultibo unit)
  • SetFileApisToOEM (SetFileApisToOEM is exposed in the Ultibo unit)

Most of the above are currently not implemented.


See also: https://msdn.microsoft.com/en-us/library/windows/desktop/dd319081%28v=vs.85%29.aspx

Constants


None defined

Type definitions



String types

LPSTR = PAnsiChar;
LPCSTR = PAnsiChar;

Wide string types

LPWSTR = PWideChar;
LPCWSTR = PWideChar;


Public variables


None defined

Function declarations



Initialization functions

procedure UnicodeInit;
Description: To be documented
Note None documented


Unicode functions

function MultiByteToWideChar(CodePage:UINT; dwFlags:DWORD; lpMultiByteStr:LPCSTR; cbMultiByte:Integer; lpWideCharStr:LPWSTR; cchWideChar:Integer):Integer;
Description: SBCS/DBCS OEM or ANSI string to Unicode string
Note cchWideChar is the size of lpWideCharStr in WideChars (not Bytes).

Currently ignores the Flags parameter. Currently only supports SBCS.


function WideCharToMultiByte(CodePage:UINT; dwFlags:DWORD; lpWideCharStr:LPCWSTR; cchWideChar:Integer; lpMultiByteStr:LPSTR; cbMultiByte:Integer; lpDefaultChar:LPCSTR; lpUsedDefaultChar:LPBOOL):Integer;
Description: Unicode string to SBCS/DBCS OEM or ANSI string
Note cchWideChar is the size of lpWideCharStr in WideChars (not Bytes).

Currently ignores the Flags and DefaultChar parameters. Currently only supports SBCS.


function CompareString(Locale:LCID; dwCmpFlags:DWORD; lpString1:LPCSTR; cchCount1:Integer; lpString2:LPCSTR; cchCount2:Integer):Integer; inline;
Description: To be documented
Note None documented


function CompareStringA(Locale:LCID; dwCmpFlags:DWORD; lpString1:LPCSTR; cchCount1:Integer; lpString2:LPCSTR; cchCount2:Integer):Integer;
Description: ANSI compare of two strings for equivalence. If both strings are equal returns CSTR_EQUAL, if string 1 is less than string 2 returns CSTR_LESS_THAN and if string 1 is greater than string 2 returns CSTR_GREATER_THAN, on error returns 0
Note Currently the Locale value is ignored and the ANSI code page is used for comparison.

Currently only supports SBCS.


function CompareStringW(Locale:LCID; dwCmpFlags:DWORD; lpString1:LPCWSTR; cchCount1:Integer; lpString2:LPCWSTR; cchCount2:Integer):Integer;
Description: Unicode compare of two strings for equivalence. If both strings are equal returns CSTR_EQUAL, if string 1 is less than string 2 returns CSTR_LESS_THAN and if string 1 is greater than string 2 returns CSTR_GREATER_THAN, on error returns 0
Note Currently the Locale value is ignored


function CharUpper(lpsz:LPSTR):LPSTR; inline;
Description: To be documented
Note None documented


function CharUpperA(lpsz:LPSTR):LPSTR;
Description: Lower to Upper case conversion in ANSI code page (Char)
Note Unlike Windows this function does not differentiate a single character by the high order word of the passed pointer. To convert a single character call CharUpperBuffA instead with the length as 1.

Currently only supports SBCS.


function CharUpperW(lpsz:LPWSTR):LPWSTR;
Description: Lower to Upper case conversion in Unicode (WideChar)
Note Unlike Windows this function does not differentiate a single character by the high order word of the passed pointer. To convert a single character call CharUpperBuffW instead with the length as 1.


function CharUpperBuff(lpsz:LPSTR; cchLength:DWORD):DWORD; inline;
Description: To be documented
Note None documented


function CharUpperBuffA(lpsz:LPSTR; cchLength:DWORD):DWORD;
Description: Lower to Upper case conversion in ANSI code page (Char)
Note Currently only supports SBCS


function CharUpperBuffW(lpsz:LPWSTR; cchLength:DWORD):DWORD;
Description: Lower to Upper case conversion in Unicode (WideChar)
Note None documented


function CharLower(lpsz:LPSTR):LPSTR; inline;
Description: To be documented
Note None documented


function CharLowerA(lpsz:LPSTR):LPSTR;
Description: Upper to Lower case conversion in ANSI code page (Char)
Note Unlike Windows this function does not differentiate a single character by the high order word of the passed pointer. To convert a single character call CharLowerBuffA instead with the length as 1.

Currently only supports SBCS.


function CharLowerW(lpsz:LPWSTR):LPWSTR;
Description: Upper to Lower case conversion in Unicode (WideChar)
Note Unlike Windows this function does not differentiate a single character by the high order word of the passed pointer. To convert a single character call CharLowerBuffW instead with the length as 1.


function CharLowerBuff(lpsz:LPSTR; cchLength:DWORD):DWORD; inline;
Description: To be documented
Note None documented


function CharLowerBuffA(lpsz:LPSTR; cchLength:DWORD):DWORD;
Description: Upper to Lower case conversion in ANSI code page (Char)
Note Currently only supports SBCS


function CharLowerBuffW(lpsz:LPWSTR; cchLength:DWORD):DWORD;
Description: Upper to Lower case conversion in Unicode (WideChar)
Note None documented


function AnsiToOem(lpszSrc:LPCSTR; lpszDst:LPSTR):BOOL; inline;
Description: To be documented
Note None documented


function AnsiToOemBuff(lpszSrc:LPCSTR;lpszDst:LPSTR; cchDstLength:DWORD):BOOL; inline;
Description: To be documented
Note None documented


function OemToAnsi(lpszSrc:LPCSTR; lpszDst:LPSTR):BOOL; inline;
Description: To be documented
Note None documented


function OemToAnsiBuff(lpszSrc:LPCSTR; lpszDst:LPSTR; cchDstLength:DWORD):BOOL; inline;
Description: To be documented
Note None documented


function CharToOem(lpszSrc:LPCSTR; lpszDst:LPSTR):BOOL; inline;
Description: To be documented
Note None documented


function CharToOemA(lpszSrc:LPCSTR; lpszDst:LPSTR):BOOL;
Description: ANSI to OEM conversion (Char to Char)
Note Currently only supports SBCS


function CharToOemW(lpszSrc:LPCWSTR; lpszDst:LPSTR):BOOL;
Description: Unicode to OEM conversion (WideChar to Char)
Note Currently only supports SBCS


function OemToChar(lpszSrc:LPCSTR; lpszDst:LPSTR):BOOL; inline;
Description: To be documented
Note None documented


function OemToCharA(lpszSrc:LPCSTR; lpszDst:LPSTR):BOOL;
Description: OEM to ANSI conversion (Char to Char)
Note Currently only supports SBCS


function OemToCharW(lpszSrc:LPCSTR; lpszDst:LPWSTR):BOOL;
Description: OEM to Unicode conversion (Char to WideChar)
Note Currently only supports SBCS


function CharToOemBuff(lpszSrc:LPCSTR; lpszDst:LPSTR; cchDstLength:DWORD):BOOL; inline;
Description: To be documented
Note None documented


function CharToOemBuffA(lpszSrc:LPCSTR; lpszDst:LPSTR; cchDstLength:DWORD):BOOL;
Description: ANSI to OEM conversion (Char to Char)
Note Currently only supports SBCS


function CharToOemBuffW(lpszSrc:LPCWSTR; lpszDst:LPSTR; cchDstLength:DWORD):BOOL;
Description: Unicode to OEM conversion (WideChar to Char)
Note Currently only supports SBCS


function OemToCharBuff(lpszSrc:LPCSTR; lpszDst:LPSTR; cchDstLength:DWORD):BOOL; inline;
Description: To be documented
Note None documented


function OemToCharBuffA(lpszSrc:LPCSTR; lpszDst:LPSTR; cchDstLength:DWORD):BOOL;
Description: OEM to ANSI conversion (Char to Char)
Note Currently only supports SBCS


function OemToCharBuffW(lpszSrc:LPCSTR; lpszDst:LPWSTR; cchDstLength:DWORD):BOOL;
Description: OEM to Unicode conversion (Char to WideChar)
Note Currently only supports SBCS


RTL unicode functions

function SysCodePageToWideChar(Ch:Char):WideChar;
Description: ANSI to Unicode conversion (Char to WideChar)
Note Currently only supports SBCS


function SysWideCharToCodePage(Ch:WideChar):Char;
Description: Unicode to ANSI conversion (WideChar to Char)
Note Currently only supports SBCS


RTL unicode string manager functions

procedure SysWide2AnsiMove(Source:PWideChar; var Dest:RawByteString; cp:TSystemCodePage; Len:SizeInt);
Description: To be documented
Note None documented


procedure SysAnsi2WideMove(Source:PChar; cp:TSystemCodePage; var Dest:WideString; Len:SizeInt);
Description: To be documented
Note None documented


function SysUpperWideString(const S:WideString):WideString;
Description: To be documented
Note None documented


function SysLowerWideString(const S:WideString):WideString;
Description: To be documented
Note None documented


function SysCompareWideString(const s1,s2:WideString; Options:TCompareOptions):PtrInt;
Description: To be documented
Note None documented


function SysCompareTextWideString(const s1,s2:WideString):PtrInt;
Description: To be documented
Note None documented


procedure SysUnicode2AnsiMove(Source:PUnicodeChar; var Dest:RawByteString; cp:TSystemCodePage; Len:SizeInt);
Description: To be documented
Note None documented


procedure SysAnsi2UnicodeMove(Source:PChar; cp:TSystemCodePage; var Dest:UnicodeString; Len:SizeInt);
Description: To be documented
Note None documented


function SysUpperUnicodeString(const S:UnicodeString):UnicodeString;
Description: To be documented
Note None documented


function SysLowerUnicodeString(const S:UnicodeString):UnicodeString;
Description: To be documented
Note None documented


function SysCompareUnicodeString(const s1,s2:UnicodeString; Options:TCompareOptions):PtrInt;
Description: To be documented
Note None documented


function SysCompareTextUnicodeString(const s1,s2:UnicodeString):PtrInt;
Description: To be documented
Note None documented


function SysUpperAnsiString(const S:String):String;
Description: To be documented
Note None documented


function SysLowerAnsiString(const S:String):String;
Description: To be documented
Note None documented


function SysCompareStrAnsiString(const S1,S2:String):PtrInt;
Description: To be documented
Note None documented


function SysCompareTextAnsiString(const S1,S2:String):PtrInt;
Description: To be documented
Note None documented


function SysStrCompAnsiString(S1,S2:PChar):PtrInt;
Description: To be documented
Note None documented


function SysStrICompAnsiString(S1,S2:PChar):PtrInt;
Description: To be documented
Note None documented


function SysStrLCompAnsiString(S1,S2:PChar; MaxLen:PtrUInt):PtrInt;
Description: To be documented
Note None documented


function SysStrLICompAnsiString(S1,S2:PChar; MaxLen:PtrUInt):PtrInt;
Description: To be documented
Note None documented


function SysStrLowerAnsiString(Str:PChar):PChar;
Description: To be documented
Note None documented


function SysStrUpperAnsiString(Str:PChar):PChar;
Description: To be documented
Note None documented


Return to Unit Reference