delphi’string’文字怎么可能超过255?

delphi’string’文字怎么可能超过255?,第1张

概述我在delphi 7工作,我正在工作的字符串,我遇到这个 For a string of default length, that is, declared simply as string, max size is always 255. A ShortString is never allowed to grow to more than 255 characters. 在delphi str 我在delphi 7工作,我正在工作的字符串,我遇到这个

For a string of default length,that is,declared simply as string,max size is always 255. A ShortString is never allowed to grow to more than 255 characters.

在delphi strings

一旦我不得不在我的delphi代码中做这样的事情(这是一个很大的查询)

var    sMyStringOF256characters : string;    ilength : integer;    begin       sMyStringOF256characters:='ThisstringisofLength256,ThisstringisofLength256,.....'       //length of sMyStringOF256characters is 256    end;

我得到这个错误

[Error] u_home.pas(38): String literals may have at most 255 elements.

但是当我尝试这个

var      iCounter              : integer;      myExtremlyLongString  : string;   begin      myExtremlyLongString:='';      Label1.Caption:='';      for iCounter:=0 to 2500 do         begin            myExtremlyLongString:=myExtremlyLongString+inttostr(iCounter);            Label1.Caption:=myExtremlyLongString;         end;         Label2.Caption:=inttostr(length(myExtremlyLongString));   end;

结果是

你可以看到myExtremlyLongString的长度是8894个字符。

为什么delphi没有给出任何错误,说myExtremlyLongString的长度超过255?

编辑
我用了

SetLength(sMyStringOF256characters,300);

但它没有工作。

解决方法

why dID not delphi give any error saying the length is beyond 255 for
myExtremlyLongString?

在Long String(AnsiString)部分的文本中你有一个答案。

In current versions of Delphi,the string type is simply an alias for
AnsiString,

所以字符串不限于255个字符,而是一个字符串文字。这意味着您可以构建长度超过255个字符的字符串,但不能在长度超过255个字符的代码中使用字符串值。如果你愿意,你需要拆分它们。

sMyString:='ThisstringisofLength255'+'ThisstringisofLength255';
总结

以上是内存溢出为你收集整理的delphi’string’文字怎么可能超过255?全部内容,希望文章能够帮你解决delphi’string’文字怎么可能超过255?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1280831.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存