delphi – TStringHelper没有返回正确的结果
发布时间:2020-12-15 09:42:12 所属栏目:大数据 来源:网络整理
导读:我在Win32应用程序中使用TStringHelper,但是当我尝试访问特定的char或获取子字符串时返回的值不一样如果我使用等效的旧字符串函数. {$APPTYPE CONSOLE}{$R *.res}uses System.SysUtils;var i : Integer; s : string;begin try i:=12345678; Writeln(i.ToStri
我在Win32应用程序中使用TStringHelper,但是当我尝试访问特定的char或获取子字符串时返回的值不一样如果我使用等效的旧字符串函数.
{$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文档中找到更多信息.
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |