查了一下网上的方法,大部分用ord、bytetype或ord+bytetype方法,但不知道为什么,XE10.2下判断的结果不对。
用ORD的,函数的参数应该是WideChar,string无论如何转变都不行,查了一下,有的说以前版本可以支持直接强制转换,可是在高版本下就是不行。
研究了一下,XE10.2版本下通过:
var s1:string;
if (ord(s1[1]) <= 40869) and (ord(s1[1]) >= 19968) then showmessage('结果为汉字');
ord(s1[2]) 结果全是0,不知道为什么,反正也没用,不管了。
目前我测试了几个文件,结果正确,其他错误尚未发现。
哪位高手有在XE10.2下的其他方法,请提供一下。