я работаю над delphi 7 , и я работал над строками, я наткнулся на это
Для строки длины по умолчанию, то есть объявляемой просто как строка, максимальный размер всегда равен 255. Строка ShortString никогда не может увеличиваться до более чем 255 символов.
на строки Delphi
однажды мне пришлось сделать что-то подобное в моем коде delphi (это было для действительно большого запроса)
var
sMyStringOF256characters : string;
ilength : integer;
begin
sMyStringOF256characters:='ThisStringisofLength256,ThisStringisofLength256,.....'
//length of sMyStringOF256characters is 256
end;
я получаю это ошибка
[Ошибка] u_home.pas (38): Строковые литералы могут содержать не более 255 элементов.
но когда я попробую это
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 не выдала ошибку, указав, что длина превышает 255 для myExtremlyLongString ?
EDIT
я использовал
SetLength(sMyStringOF256characters,300);
но это не работает.