gpt4 book ai didi

delphi - TStringHelper 未返回正确的结果

转载 作者:行者123 更新时间:2023-12-03 15:17:05 25 4
gpt4 key购买 nike

我在 Win32 应用程序中使用 TStringHelper,但是当我尝试访问特定字符或获取子字符串时,如果我使用等效的旧字符串函数,则返回的值不相同。

{$APPTYPE CONSOLE}

{$R *.res}

uses
System.SysUtils;

var
i : Integer;
s : string;
begin
try
i:=12345678;
Writeln(i.ToString().Chars[1]); // returns 2
Writeln(i.ToString().Substring(1)); //returns 2345678

s:=IntToStr(i);
Writeln(s[1]); //returns 1
Writeln(Copy(s,1,Length(s)));//returns 12345678
except
on E: Exception do
Writeln(E.ClassName, ': ', E.Message);
end;
Readln;
end.

问题是为什么 TStringHelper 函数不等同于旧的字符串函数?

最佳答案

这是因为 System.SysUtils.TStringHelper 的所有方法和属性都是从零开始的索引,这个助手是用 {$ZEROBASEDSTRINGS ON} 编译的。指示。您可以在System.SysUtils.TStringHelper中找到更多信息文档。

关于delphi - TStringHelper 未返回正确的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17584294/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com