gpt4 book ai didi

string - Delphi 'string' 文字怎么可能超过 255 个字符?

转载 作者:行者123 更新时间:2023-12-03 14:33:52 25 4
gpt4 key购买 nike

我正在使用 Delphi 7 和字符串,以及 I came across this :

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 代码中执行类似的操作(这是一个非常大的查询):

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 := '';
for iCounter := 0 to 2500 do
begin
myExtremlyLongString := myExtremlyLongString + IntToStr(iCounter);
end;
Label1.Caption := myExtremlyLongString;
Label2.Caption := IntToStr(Length(myExtremlyLongString));
end;

...结果是:

Delphi Form show both Label's values

如您所见,myExtremlyLongString 的长度为 8894 个字符。为什么 Delphi 没有给出任何错误,指出 myExtremlyLongString 的长度超过 255?我也用过这个,但它不起作用:

SetLength(sMyStringOF256characters, 300);

最佳答案

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

您的答案位于长字符串 (AnsiString) 部分的文本中。

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

因此字符串不限于 255 个字符,但字符串文字却如此。这意味着您可以构建长度超过 255 个字符的字符串,但代码中的字符串值不能超过 255 个字符。如果你想要的话,你需要将它们分开。

sMyString:='ThisStringisofLength255'+'ThisStringisofLength255';

关于string - Delphi 'string' 文字怎么可能超过 255 个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8767899/

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