Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.12.2009, 05:27   #1
TwiX
Участник клуба
 
Аватар для TwiX
 
Регистрация: 28.07.2009
Сообщений: 1,510
По умолчанию Строка больше 255 символов?

Как?
В общем надо послать indy запрос на url:AnsiSting, но url Больше 255 и компилятор ругается, что делать?
Почему ругается на AnsiString?? D2010

Добавлено:
Именно ругается на это:
url:='aaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaa';
[DCC Error] mainForm.pas(45): E2056 String literals may have at most 255 elements

Так же пробовал Array of char...

Последний раз редактировалось TwiX; 07.12.2009 в 05:35.
TwiX вне форума Ответить с цитированием
Старый 07.12.2009, 07:26   #2
Andrei
Форумчанин
 
Регистрация: 20.06.2007
Сообщений: 270
По умолчанию

Ну дык тебе чистым английским языком написали, что строчная константа может содержать не более 255 символов. Это, ИМХО, ограничение компилятора.

Создай переменную AnsiString, разбей свой текст на кусочки размером менее 255 символов и собери строку в переменную. И будет тебе счастье.

PS:
У меня Delphi7 и она начинает так же ругаться когда в тексте программы пытаюсь набрать текстовую константу длиной свыше 255 символов.

А может у меня просто руки кривые и я какие-то опции не включил? Это тоже не исключено. Во всяком случае я вывернулся как написал выше.
-Кукушка, кукушка! Накукуй мне сто лет!
-А накукуй тебе столько?

(с) Библия. Вольный перевод с древнееврейского.

Последний раз редактировалось Andrei; 07.12.2009 в 08:55. Причина: PS
Andrei вне форума Ответить с цитированием
Старый 07.12.2009, 09:38   #3
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
Сообщение

Это он вам про редактор кода сказал, что строка более 255 символов в ней. Кто будет переносы ставить???
Вот смотрите, всё прекрасно работает, и когда тип String:
Код:
procedure TForm1.FormCreate(Sender: TObject);
var
  url :AnsiString;
begin
 url:='aaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'+
      ' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaa';
end;
Alter вне форума Ответить с цитированием
Старый 07.12.2009, 10:46   #4
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

Суть в чем? Что вы плюсами строку разбили?

Последний раз редактировалось mihali4; 07.12.2009 в 17:30.
Altera вне форума Ответить с цитированием
Старый 07.12.2009, 11:16   #5
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

Цитата:
Вот смотрите, всё прекрасно работает, и когда тип String:
При чём здесь зарезервированное слово "string".
В Delphi до 2009 версии string = AnsiString. Можно писать как угодно кроме string[N].

Первый ответ от Andrei был в точку — нужно разбивать и потом склеивать (что было и сделано с помощью "+").
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Старый 07.12.2009, 16:44   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
В Delphi до 2009 версии string = AnsiString.
это тоже не причем.

строковые константы должны быть не более 256 байт(255 символов ShortString)
если надо длинее то конкатенацию никто не отменял.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 07.12.2009, 16:53   #7
GenniY
Форумчанин
 
Регистрация: 09.09.2009
Сообщений: 181
По умолчанию

Цитата:
строковые константы должны быть не более 256 байт(255 символов ShortString)
Всё правильно сказано: "константы" не более
Я акцентировал внимание на том, что не зависит от того string или AnsiString.
Получил помощь — отблагодарил.
GenniY вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строка длинною более 255 символов Kuzya59 Общие вопросы Delphi 7 27.09.2009 20:29
Как ввести строку больше 255 символов? slips Общие вопросы C/C++ 11 26.04.2009 19:53
Не получается добавить в memo текст больше 255 символов Norton Общие вопросы Delphi 8 01.04.2009 11:58
SQl и поля с длино более 255 символов JordanS БД в Delphi 16 21.06.2008 08:13
stringgrid поместить строку более 255 символов SeЯgey Помощь студентам 2 07.05.2008 16:41