2Pascal-新时代的Pascal

标题: 27. 在 桌面平台 PC 上开启 从 0 开始的 String 下标 功能 [打印本页]

作者: wang_80919    时间: 2016-1-29 15:26
标题: 27. 在 桌面平台 PC 上开启 从 0 开始的 String 下标 功能
[北京]谢顿(21114963)  15:20:20
@[北京]老猫,您有问题看群共享和不看后悔 前几天提的问题顺便分享一下,新的编译器有一个编译开关,ZEROBASEDSTRINGS,用这个编译开关可以在Windows下面使用0开始的string
便于调试跨平台的string问题


大家可以 先 不开启 ZEROBASEDSTRINGS,测试。测试完了 再开启 ZEROBASEDSTRINGS ,再测试

跨平台的字符串 下标,写法如下。
{$ZEROBASEDSTRINGS ON}
var
  Str: string;
  I:  integer;
begin
  for I := 0 to Length(Str) - 1 do
  begin
    Str[Low(Str) + I] := Str[Low(Str) + I] xor 30;
  end;
  //or
  for I := Low(Str) to High(Str) do
  begin
    Str[I] := Str[I] xor 30;
  end;
end;

{$ZEROBASEDSTRINGS OFF}

再关闭和开启这个 ZEROBASEDSTRINGS 的不同情况下,应该得出相同的运行结果。否则就是您 字符串 下标使用错误。

关于其他字符串讨论请访问如下内容。
跨平台 字符串 讨论(以及 字符串编码 讨论)
http://www.2pascal.com/forum.php ... &tid=1654&fromuid=4
(出处: 2Pascal-新时代的Pascal)









欢迎光临 2Pascal-新时代的Pascal (http://2pascal.com/) Powered by Discuz! X3