D
DreamTiger
Unregistered / Unconfirmed
GUEST, unregistred user!
根据ByteType的帮助文件:
function ByteType(const S: string
Index: Integer): TMbcsByteType
Description
Call ByteType to determine the type of the byte specified by the Index parameter,
where 0 specifies the first byte in S, 1 specifies the second byte, and so on.
ByteType中的Index是从0开始的,但是事实上ByteType的源码是:
function ByteType(const S: string
Index: Integer): TMbcsByteType
begin
Result := mbSingleByte
if SysLocale.FarEast then
Result := ByteTypeTest(PChar(S), Index-1)
end
在使用ByteTypeTest时候,是从1开始的,也就是说,是按照Pascal的
语法使用的。
我是从SynEdit控件包在使用的时候出现了问题,可以把鼠标点到一个
中文字的中间追查到这个Bug的,所以提出来跟大家交流的,希望能够
有所帮助。(说明:SynEdit是mwEdit的继承者,地址是:
http://SynEdit.SourceForge.net)
function ByteType(const S: string
Index: Integer): TMbcsByteType
Description
Call ByteType to determine the type of the byte specified by the Index parameter,
where 0 specifies the first byte in S, 1 specifies the second byte, and so on.
ByteType中的Index是从0开始的,但是事实上ByteType的源码是:
function ByteType(const S: string
Index: Integer): TMbcsByteType
begin
Result := mbSingleByte
if SysLocale.FarEast then
Result := ByteTypeTest(PChar(S), Index-1)
end
在使用ByteTypeTest时候,是从1开始的,也就是说,是按照Pascal的
语法使用的。
我是从SynEdit控件包在使用的时候出现了问题,可以把鼠标点到一个
中文字的中间追查到这个Bug的,所以提出来跟大家交流的,希望能够
有所帮助。(说明:SynEdit是mwEdit的继承者,地址是:
http://SynEdit.SourceForge.net)