Watch, Follow, &
Connect with Us

ID: 26061, MECSUtils ver1.45

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 983 downloads
Copyright: Open Source or other


Updated on Tue, 09 Mar 2010 06:41:50 GMT
Originally uploaded on Wed, 17 Sep 2008 09:44:47 GMT
SHA1 Hash: 0A4A25C2FB279C9EBC9013F165776F1C364044EE
MD5 Hash: 9CA2CF6F8B0FD543D85DE9B13B72F97C

    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
- TBytes(*3) <- Add ver1.41

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

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

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

[AnsiString]
- MecsAnsiStringOf <- Add ver1.41
- MecsBytesOf <- Add ver1.41
- MecsGetCodePage
- MecsGetLeadBytes
- MecsShrinkElement <- Add ver1.41
- MecsStretchElement <- Add ver1.41

[UnicodeString/WideString]
- MecsEastAsianWidth
- MecsIsNormalized
- MecsMappingFix_CP932ToUnicode
- MecsMappingFix_JISX0208ToJISX0213 <- Add ver1.45
- MecsMappingFix_JISX0208ToUnicode
- MecsMappingFix_JISX0213ToJISX0208
- MecsMappingFix_UnicodeToCP932
- MecsMappingFix_UnicodeToJISX0208
- MecsNormalize
- 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]
- 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
- TrimNullTerm <- Add 1.42
- UTF32ToAnsi
- UTF32ToUTF16
- UTF32ToUTF8
- UTF16ToAnsi
- UTF16ToUTF32
- UTF16ToUTF8
- UTF8ToAnsi
- UTF8ToUTF32
- UTF8ToUTF16

*1 D2009 or later
*2 D2007 or before
*3 D2006 or before

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: ETNACDC02