ID: 26061, MECSUtils ver1.37

by Hideaki Tominaga Email: Anonymous


MECSUtils unit constains several functions and classes to support international characters with AnsiString/UnicodeString/WideString.
Download Details
CDN Login Required to Download. (You will be redirected to the login page if you click on the Download Link)
To download this, you must have registered:
A free membership

For Delphi, Version 11.0  to 14.0 613 downloads
Copyright: Open Source or other


Updated on Mon, 28 Sep 2009 19:57:50 GMT
Originally uploaded on Wed, 17 Sep 2008 09:44:47 GMT
SHA1 Hash: F9DCAA3F6DA35422B32A468A9215ADAA9ED3AA1B
MD5 Hash: 0E7F851075EF342CE7160CA3D98DD6FA

    Explore the files in this upload

Description
MECSUtils unit constains several functions and classes to support international characters with AnsiString/UnicodeString/WideString.

# Please check source code for detail.

Classes:
---------------------
- PUnicodeChar(*1)
- PUTF8Char
- TEastAsianWidth
- TElementType
- TIndexCount
- TLeadBytes
- TNORM_FORM
- UnicodeChar(*1)
- UTF8Char
- TCombiningType <- Add ver1.20

Variables:
---------------------
- DefaultAnsiCodePage
- DefaultOEMCodePage
- DefaultLCID

Functions/Procedures:
---------------------

[Codepage/CharSet/Locale]
- CodePageToFontCharset
- FontCharsetToCodePage
- IsFarEastCharSet
- IsFarEastLCID

[AnsiString]
- MecsGetCodePage
- MecsGetLeadBytes

[UnicodeString/WideString]
- MecsEastAsianWidth
- MecsIsNormalized
- MecsMappingFix_CP932ToUnicode <- Add ver1.35
- MecsMappingFix_JISX0208ToUnicode <- Add ver1.33
- MecsMappingFix_UnicodeToCP932 <- Add ver1.35
- MecsMappingFix_UnicodeToJISX0208 <- Add ver1.33
- MecsNormalize <- Mod ver1.20
- StrLen(*2)

[Common]
- MecsCharLength
- MecsCharToElementIndex
- MecsCharToElementIndexCount
- MecsCharToElementLen
- MecsCopy
- MecsDelete
- MecsElementToCharIndex
- MecsElementToCharLen
- MecsElementType
- MecsInsert
- MecsIsFullWidth
- MecsIsLeadElement
- MecsIsMECElement
- MecsIsTrailElement
- MecsLeftStr
- MecsLength
- MecsMidStr
- MecsNextCharIndex
- MecsReverseString
- MecsRightStr
- MecsStrCharLength
- MecsStrElementType
- MecsStrLen
- MecsStrNextChar

[Combining Character Sequence] <- Add ver1.20
- MecsCCSLength
- MecsCCSToElementIndex
- MecsCCSToElementLen
- MecsCombiningType
- MecsCopyC
- MecsDeleteC
- MecsElementToCCSIndex
- MecsElementToCCSLen
- MecsInsertC
- MecsLeftStrC
- MecsLengthC
- MecsMidStrC
- MecsNextCCSIndex
- MecsReverseStringC
- MecsRightStrC
- MecsStrCCSLength
- MecsStrLenC
- MecsStrNextCCS

[Convert]
- AnsiToUTF32
- AnsiToUTF16
- AnsiToUTF8
- CodePointToUTF16
- CodePointToUTF8
- ConvertMultiByteToUnicode
- ConvertString
- ConvertUnicodeToMultiByte
- UTF32ToAnsi
- UTF32ToUTF16
- UTF32ToUTF8
- UTF16ToAnsi
- UTF16ToUTF32
- UTF16ToUTF8
- UTF8ToAnsi
- UTF8ToUTF32
- UTF8ToUTF16

*1 D2009 / D2010 only
*2 D2007 only

Example:

var
A: AnsiString;
B: UTF8String;
begin
A := '11?22?33?44';
A := MecsCopy(A, 1, 5); // '11?22'
B := AnsiToUTF8(A);
B := MecsCopy(B, 2, 2, CP_UTF8); // '1?'
ShowMessage(IntToStr(MecsLength(B, CP_UTF8))); // return '2'
end;

# '?' is Multi-byte charcter.

   Latest Comments  View All Add New

Move mouse over comment to see the full text

Server Response from: USSVS-BDN14