在操作系统语言选择英文时,widestring与string转换的问题

qiujsh qiujsh 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在操作系统语言选择英文时,发现下边情况赋值后b的值是不一样的,b的值必须通过类型为string类型的a,如果赋完后,才能保证b的值与直接赋的结果是一样的.

var
a:String;
b:WideString;
begin
//第一种赋值法:
b:='中国'; //这样赋完是正确的

//第二种赋值法:
a:='中国';
b:=WideString(a); //这样赋完b的值是乱码,怎么转换才能使这样赋完的结果与 b:='中国'; 这样赋完的结果是相同的.

在使用微软TTS发音时,SPVoice控件的第一个参数是WideString,如果通过第一种赋值方式赋完值后,控件能正确工作,通过第二种方式赋完值后控件不工作,因为b的值能过数据库字段的asstring读出来的,必须做转换,该如何转换才能解决这个问题,操作系统的语言选项要求选择英文
...全文
评论 14
收藏 已收藏
分享
返回顶部