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?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)