![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте.
TListView (и TJvListView) ограничивает длину строки SubItems в 255 символов. Есть ли способ обойти это ограничение? Последний раз редактировалось Dummens, 23.05.2025 в 05:00. |
#2
|
|||
|
|||
![]() А кто тебе сказал, что есть такое ограничение?
Вот простейший пример (см ниже). При нажатии на кнопку 2 я ясно вижу, что все символы на месте (которые после 255). Т.е. это ты что-то напутал. Например, использовал где-то ShortString, вот при приведении типов где-то косяк и всплыл. Код:
|
#3
|
|||
|
|||
![]() Код:
|
#4
|
|||
|
|||
![]() lmikle Модератор <- Вы, юноша, у Михаила Фленова тыкать научились?
Честно говоря, Вам можно поставить неудовлетворительную оценку за ответ. Вопрос не внимательно читаете. Увидеть строку полностью можно не используя редакторы. Например, ShowMessage(ListView1.Items[0].SubItems[1]); Последний раз редактировалось Dummens, 25.05.2025 в 16:49. |
#5
|
|||
|
|||
![]() Ну, во первых, тут на форкмк принято на ты. Так что тут мимо.
С юношей тоже мимо. Теперь по конкретике. Вот как раз в SjowMessage строка и не показывается полностью. А при выводе в Memo я ее полностью вижу. Так что никаких ограничений на длинну строки нет (ну если только Дельфи не древняя, где String = ShortString по умолчанию, было такое в первыз 2х версиях, еслм не ошибаюсь). А конкретная ошибка - литерал не может быть длинее 255 символов. Так что ВАМ кол за вопрос - код не предоставили, ошибку переврали. Проблема не в TListView, а в самой строке. Строковый литерал не может быть длинее 255 символов, т.е. сама строка слишком длинная. Поменял в ВАШЕМ коде одно место и все заработало: Код:
|
#6
|
|||
|
|||
![]() Код:
Скриншот ShowMessage не прикрепляется... sLong ![]() ![]() По поводу юноши - в точку. Вы ещё молоды - амбиции наружу сами вылазят... ![]() Спасибо за попытку помочь ![]() |
#7
|
|||
|
|||
![]() 1. Константу сделал просто для удобства.
2. Отображение - не проверял, но если колонку сделать нужной ширины, то должно отобразиться все. В хинте обрезается, но это поведение именно родного виндового контрола, TListView - просто обертка над ним. Если и есть какие-то онраничения, то 3. Еще раз - нельзя сделать литерал длинной более 255 символов. Это ограничение компилятора, а не компонента. В последней версии, вроде, сделали длинные литералы, но надо смотреть, у меня не последняя. Фактически, sLong и создает UnicodeString/AnsiString из нескольких литералов. ЗЫ. По поводу возраста и амбиций даже спорить не хочу, все равно объяснять бесполезно. Хотя излишнее использование смайлов уже говорит о том, что я, все-таки, старше. ЗЗЫ. Просьба не указывать на очепятки, у меня клава без русских букв... ЗЗЗЫ. Прекращаем срач. Если еще есть вопросы по существу - задавай, если нет - то лучше вообще не отвечать. Вот твой пример с полной отрисовкой строки: Код:
Последний раз редактировалось lmikle, 26.05.2025 в 18:30. |
#8
|
||||
|
||||
![]() Цитата:
Вам видимо 70+ лет и на форуме в первый раз в жизни Тогда понятно ваше старческое брюзжание И не стоит писать с умным видом всякую чушь, что тот же ListView ограничивает длину строки, как и хамить модераторам. А если только что купили книжку по программированию, то ведите себя соответствующе вашим нулевым знаниям. |
#9
|
|||
|
|||
![]() А разве с Delphi работают не только 70-ти летние?
![]() |