Delphi跨平台的字符串代码标准


本文整理自网络,侵删。

 

去年的写过关于跨平台的字符串代码,发现没说明白,自己都看糊涂了。于是做了这样的测试:

procedure TForm3.Button1Click(Sender: TObject);
var
  I: Integer;
  s:string;
begin

  s:='0123456789';

  for I := 0 to s.length-1 do
  begin
    memo1.Lines.Add(s.Chars[i]);
  end;

end;

上面的代码,分解一个字符串的每个字符,用Memo显示出来。看看win32与android下的显示结果:
再说说Delphi跨平台的字符串代码标准再说说Delphi跨平台的字符串代码标准


结果是一样一样的,说明什么呢?
如果让一套代码适应跨平台,要用String来处理字符串,同时用StringHelper或StringBuilder来辅助实现代码,并且,字符串的下标都是从0开始的。

后记:对于使用的Pos函数,用IndexOf取代。
i:=Pos(s1,s2)
改写成:
i:=s2.IndexOf(s1,0);
注意:Pos从1开始的,而IndexOf从0开始的。当查不到子串时,Pos返回是0,而IndexOf返回-1.

 

来源 http://blog.sina.com.cn/s/blog_44fa172f0101rtex.html

相关阅读 >>

Delphi ticon保存ico文件时失真的解决办法

Delphi 获取网卡mac代码可用2020.01.22

Delphi 用注册表对Delphi程序进行验证

Delphi firedac数据库引擎连接mysql

Delphi xe8 中tidtcpclient的writeln编码变化

Delphi android调用授权管理打开通知监听服务

Delphi 取当前目录下所有文件夹名和文件名

Delphi 分享三个随机字符串

Delphi 通过api 隐藏任务栏所有托盘图标

Delphi10.3 构造生成输出json数据

更多相关阅读请进入《Delphi》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...