Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.07.28;
Скачать: [xml.tar.bz2];

Вниз

Длина текста в label   Найти похожие ветки 

 
mao   (2003-07-15 11:57) [0]

Кто-нибудь в курсе, в label можно как-то запихать текст длиннее 255 символов?


 
Юрий Федоров   (2003-07-15 12:00) [1]

type
TCaption = type string;
Откуда такие проблемы появились?
Или HugeStrings выключены ?


 
Anatoly Podgoretsky   (2003-07-15 12:00) [2]

А попробовать самому?


 
mao   (2003-07-15 12:54) [3]

Юрий Федоров © (15.07.03 12:00)
Что-то ничего не получается. :((



 
Юрий Федоров   (2003-07-15 12:57) [4]

Что не получается?
ЗЫ я тебе не предлагал этот тип описать - это просто цитата из VCL кода


 
Babay   (2003-07-15 13:00) [5]

Немогет быть...
вот так попробуй проблем быть недолжно

procedure TForm1.Button1Click(Sender: TObject);
Var i:Integer;
begin
for i:=1 to 300 do
label1.caption:=Label1.caption+inttostr(i);// явно больше 255
end;


 
Skier   (2003-07-15 13:02) [6]

>mao
А так не пробовал : YourLabel.AutoSize := True; ?


 
mao   (2003-07-15 14:13) [7]

Юрий Федоров © (15.07.03 12:57)
А я подумал, что ты намекаешь на смену типа...

Babay © (15.07.03 13:00)
В label он выводит только 255 символов! :о( Но если я делаю memo1.Text:=label1.Caption;, то в мемо выводится всеь текст (длинне 255 символов).

Skier © (15.07.03 13:02)
YourLabel.AutoSize := True; не помогает, а мне кстати над false, иначе этот текст (>255 символов) в одну строчку на форме не поместится;


 
Толик   (2003-07-15 14:28) [8]

to mao © (15.07.03 14:13)

иначе этот текст (>255 символов) в одну строчку на форме не поместится

А слабо в две строки? :) WordWrap := TRUE; и в месте переноса поставить пробел. Ну и высоту соответствующую поставить...


 
Zacho   (2003-07-15 14:33) [9]


> mao © (15.07.03 14:13)

Выводит столько, сколько влезает. Растяни label поширше, сделай форму побольше и т.п. :)


 
mao   (2003-07-15 14:34) [10]

Толик © (15.07.03 14:28)
Да нет не слабо, но это все равно ничего не меняет - входит только 255 символов. :о(


 
Толик   (2003-07-15 14:45) [11]

Стартуем НОВЫЙ проект.
На пустую форму кидаем стандартный Label и Button. В OnClick кнопки пишем:

procedure TForm1.Button1Click(Sender: TObject);
var
i: longint;
begin
Label1.Caption := "";
for i := 0 to 260 do
with Label1 do
Caption := Caption + " " + IntToStr(i);
end;
<\code>
Последнее число д.б. 260.
Чудес-то не бывает...


 
mao   (2003-07-15 15:40) [12]

Толик © (15.07.03 14:45)
Ну да, этот код работает! Но мне-то нужно впихнуть в label большой абзац текста. И выход я пока увидел только один - записывать этот текст в файл, из файла читать, например, в richedit, а потом делать label1.caption:=richedit.text.
Можно еще конечно читать базац в массив и потом посимвольно добавлять в label1.caption, но наверно это будет медленнее.
Изначально я хотел просто запихнуть этот абзац в caption руками в момент визуальной разработки программы.


 
Толик   (2003-07-15 15:52) [13]


нужно впихнуть в label большой абзац текста

Этот текст наверняка содержит т.н. непечатаемые символы форматирования, типа символов перевода строки #13 и т.д. Да и вставляется он наверняка метдом Ctrl+C Ctrl+V. В этом случае в Label будет помещён весь текс до ПЕРВОГО такого символа: ведь Ctrl+C не знает, что какие-то символы надо выкинуть...
В этом случае делаем так:
1. На форме правой мышой View as Text
2. В dfm-файле к каждой новой строке Label1.Caption приписываем руками #13#10
3. View as Form и да будет счастье.

З.Ы.
Если Ну да, этот код работает!, то не надо писать входит только 255 символов :)


 
sniknik   (2003-07-15 16:08) [14]

mao © (15.07.03 15:40)
выходов завсегда несколько, нужно только их увидеть ...
не получается в испекторе, открой форму как текст(dfm), правой кнопкой на форме с твоим Label-ом пункт View as Text.
найди нужный Label и вноси свой текст, удобнее и сколько хочеш.


 
mao   (2003-07-15 16:49) [15]

>Толик © (15.07.03 15:52)
>Этот текст наверняка содержит т.н. непечатаемые символы >форматирования
В том то и дело, что не содержит!
Например, такой текст (308 символов):
--
Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет Привет!
--
Если я просто вставляю такой текст через Ctrl+V в caption в свойствах label1 в инспекторе объектов, то туда вставляется только 255 символов от этого текста.
Если я вставляю этот текст в тексте программы:
label1.caption:="Привет Привет Привет ... Привет Привет!"
То вылезает error - String literals may have at most 255 elements

Это меня и подтолкнуло написать, что входит только 255 символов.


 
Anatoly Podgoretsky   (2003-07-15 16:54) [16]

Литералы не могут быть более 255 символов.
Кроме того, здесь не очень походящь такой компонент, для статического текста есть TStaticText


 
Толик   (2003-07-15 16:59) [17]

А на ошибке F1 нажать? Там же всё сказано:

This error message occurs when you declare a string type with more than 255 elements, if you assign a string literal of more than 255 characters to a variable of type ShortString, or when you have more than 255 characters in a single character string.

Note that you can construct long string literals spanning more than one line by using the "+" operator to concatenate several string literals.


Короче, соедини эту строку из двух:

Label1.Caption := "255 символов" + "ещё 255 символов";




Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.07.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.008 c
14-91910
AZ
2003-07-11 07:42
2003.07.28
Файлы *.gfx


14-91897
neuro
2003-07-11 20:07
2003.07.28
=)


1-91727
Vovanx
2003-07-15 04:27
2003.07.28
TFileStream и String


14-91891
BOA_KAA
2003-07-11 16:51
2003.07.28
А я люблю блины! :-)


14-91816
Palladin
2003-07-13 12:43
2003.07.28
Неуравновешеным личностям не рекомендуется :)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский