Lazarus中文社区

 找回密码
 立即注册(注册审核可向QQ群索取)

QQ登录

只需一步,快速开始

版权申明
查看: 4829|回复: 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, 2025-5-2 11:49 , Processed in 0.027528 second(s), 10 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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