请选择 进入手机版 | 继续访问电脑版

Lazarus中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

版权申明
查看: 1499|回复: 3

XE6编译的安卓程序,字符串问题

[复制链接]

该用户从未签到

发表于 2014-9-27 16:52:13 | 显示全部楼层 |阅读模式
本帖最后由 loxer 于 2014-9-27 20:00 编辑

XE6编译的安卓程序,字符串结果,居然是这样的:
var s:string;

s:='k李qt'
L=length(s)=4
s[0]=k
s[1]=李
s[L-1]=t
s[L]=

如果申明s:ansiString则出现
Undeclared identifier: 'ansistring' 问题

刚刚把Laz的代码搞好,XE6好不容易支持安卓了,不料这个基本问题出来了。


回复

使用道具 举报

该用户从未签到

 楼主 发表于 2014-9-27 19:56:35 | 显示全部楼层
不过,Delphi给出了个方案:开关
{$ZEROBASEDSTRINGS OFF}

上述代码结果为:
length(s)=4
s[1]=k
s[L-1]=q
s[L]=t
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-9-27 22:15:40 | 显示全部楼层
多Thanks分享~
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2014-9-30 09:52:56 | 显示全部楼层
XE 6 在安卓底下, 没有了 AnsiString 这类的东东. XE6 安装以后的 DCU 里面有保留 AnsiString 的声明,但系统默认不支持。它默认字符串一律都是 Unicode 的。

如果你非要逐个字节处理,用 TBytes 吧。
回复 支持 反对

使用道具 举报

QQ|手机版|小黑屋|Lazarus中国|Lazarus中文社区 ( 鄂ICP备16006501号-1

GMT+8, 2019-1-21 09:44 , Processed in 0.050570 second(s), 8 queries , Redis On.

Powered by Discuz! F1.0 Build 20160930

© 2001-2019 Comsenz Inc. & Discuz! Fans

快速回复 返回顶部 返回列表