Строковая константа длинной более 255 символов

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

Строковая константа длинной более 255 символов

Сообщение coyot.rush » 12.09.2011 20:54:27

Код: Выделить всё
Error: Constant strings can't be longer than 255 chars

При попытке использовать строковую константу длиной более 255 символов.
Варианты решения
1)
A single string constant can contain at most 255 chars. Try splitting up the string into multiple smaller parts and concatenate them with a + operator.
http://www.freepascal.org/docs-html/user/userse61.html
Использовать +.
2) :?: :?: :?:
Хочется записывать длинную строку без использования +. Можно ли такое осуществить в fpc ? Есть ли специальные директивы компиляции?
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: Строковая константа длинной более 255 символов

Сообщение Сквозняк » 12.09.2011 23:55:38

Бедные редакторы, они ведь тоже на исходники с короткими строками заточены. Да и компилятор потеряет скорость если станет компилировать ansistring.
Есть ли специальные директивы компиляции?
Справка fpc в консоле ничего подходящего не показывает, трудно искать чёрную кошку в тёмной комнате.
Сквозняк
энтузиаст
 
Сообщения: 1129
Зарегистрирован: 29.06.2006 22:08:32

Re: Строковая константа длинной более 255 символов

Сообщение Sergei I. Gorelkin » 13.09.2011 00:24:58

Ограничение на длину строковой константы распространяется вроде только на режим {$H-}. Но есть ограничение в 255 символов на длину строки исходного файла, так что длинные константы так или иначе придется писать в несколько строк и соединять плюсами. Директив нет.
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
 
Сообщения: 1407
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Re: Строковая константа длинной более 255 символов

Сообщение Ask » 13.09.2011 10:15:15

В trunk'е этой проблемы уже нет
Ask
постоялец
 
Сообщения: 163
Зарегистрирован: 25.12.2008 03:51:37

Re: Строковая константа длинной более 255 символов

Сообщение coyot.rush » 13.09.2011 21:23:00

Часть файла main.mfm (на форме tmemoedit ):
Код: Выделить всё
object tmemoedit1: tmemoedit
    frame.localprops = [frl_colorclient]
    taborder = 10
    bounds_x = 8
    bounds_y = 160
    bounds_cx = 516
    bounds_cy = 245
    value = '01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789'
  end


Строка больше 255 символов и всё прекрасно компилируется :!: :?:
Аватара пользователя
coyot.rush
постоялец
 
Сообщения: 309
Зарегистрирован: 14.08.2009 08:59:48

Re: Строковая константа длинной более 255 символов

Сообщение Brainenjii » 14.09.2011 07:55:59

В лазарусе есть возможность создать строку ресурсов - в этом случае плюсики появятся автоматически
Аватара пользователя
Brainenjii
энтузиаст
 
Сообщения: 1351
Зарегистрирован: 10.05.2007 00:04:46


Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru