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

Вниз

Вопрос по RichEdit, очень срочно   Найти похожие ветки 

 
Danila j. Bagrov   (2002-07-07 22:47) [0]

Прощу помощи у мастеров.
Вопрос тупой, но все же. Есть RichEdit.
Есть
RichEdit.Lines.Add("Типа текст 1-ого абзаца");
RichEdit.Lines.Add("Типа текст 2-ого абзаца");
получим на выходе:
"Типа текст 1-ого абзаца
Типа текст 2-ого абзаца"
,а если мне нужно сделать на выходе, к примеру:
"Типа текст 1-ого абзаца и ЭТО ТОЖЕ 1-ый абзац"
И в два оператора, нужно это постольку-поскольку Add"om только до 255 символов можно вставить (обычный стринг), а абзац куда больше чем 255 сим. И от этого не уйти. К тому же в тексте абзаца, по ходу нужно будет изменять Атрибуты всякие: подчеркивание и тэпэ.


 
SerVS   (2002-07-07 23:52) [1]

2обычный стринг
Кто тебе сказал? String=AnsiString, мне пока длинны хватало ;))


 
Danila j. Bagrov   (2002-07-08 00:01) [2]

Дело в том, что я просто объяснил задачу, пример у меня соверешенно другой. Мне нужно записать след:
Мастера Делфи delphi.mastak.ru. Форум
Как сделать такое? В ОДНУ строчку.


 
Anatoly Podgoretsky   (2002-07-08 00:43) [3]

Lines имеет string, это тебе никак не поможет?


 
Danila j. Bagrov   (2002-07-08 00:51) [4]

плохо объясняю значит, никто понять не может :)

Вот реальный текст, где -ИЗ БАЗЫ- значение берется из базы, длина его неизвестна, поэтому string не поможет.

2. “Работник” -ИЗ БАЗЫ- принимается на работу в "..." на должность -ИЗ БАЗЫ- ... квалификации -ИЗ БАЗЫ-
3. Договор является: -ИЗ БАЗЫ-
4. Вид договора: -ИЗ БАЗЫ-

трудность в том, что им кровь из носа нужно, то что "-ИЗ БАЗЫ-", жирным курсивом, или просто курсивом, или подчеркнутым ...

Если делать так
-Вставляем строку "2. "Работник"" ...Lines.Add();
-Теперь пишем курсивом
-Вставляем строку -ИЗ БАЗЫ-
-Теперь пишем обычным шрифтом
-Вставляем строку ...

то получится, что-то вроде:

"2. "Работник""
"-ИЗ БАЗЫ-"
"..."

а нужно в один абзац,
может сейчас хоть нормально объяснил ...


 
Anatoly Podgoretsky   (2002-07-08 00:59) [5]

Так ты понял намек насчет строк или нет. Если не понял то посмотри в хелпе строковые операции, в первую очередь конкатенацию, если термин непонятен, то это объединение строк


 
Danila j. Bagrov   (2002-07-08 01:22) [6]

Намек понял, но проблема не в этом, точнее не только в этом. Конкатенация знаем что такое.
Должно на выходе получится:
"1. Закрытое акционерное общество ... "Работодатель""

Код проги:

qrep_form.RichText.Lines.Strings[0] := " 1. Закрытое акционерное общество ...";
//Переключаемся на жирный
qrep_form.RichText.Font.Style := [fsBold];
//Прибавляем "Работодателя"
qrep_form.RichText.Lines.Strings[0]:=qrep_form.RichText.Lines.Strings[0]+"Работодатель";

НО, естественно штука в том, что жирным будет все. Вот в чем проблема ...


2Anatoly, можно тебе в аську постучаться ? А то осталось 6 часов для того чтобы это все сделать ... горю.


 
Oleg_Gashev   (2002-07-08 01:50) [7]

Посмотри PlainText property и вставляй строки в виде RTF текста.


 
int64   (2002-07-08 03:27) [8]

Я когда-то давно делал так:
При формировании стринга, который должен был выводиться, запоминал позиции и длины тех мест, которые нужно изменить.
Потом, то, что запомнил выделял с помощью SelStart и SelLength, и менял стиль, как хотел.
Может есть и другие способы, но меня это тогда устраивало.

Вот пример:

procedure TForm1.Button1Click(Sender: TObject);
var s1, s2, RedString: string;
RedLength, RedStartPos: integer;
begin
s1:= "Закрытое акционерное общество ... ";
RedString:= "Работодатель";
RedLength:= Length(RedString);
RedStartPos:= Length(RichEdit1.Text)+Length(s1);
s2:= " Открытое акционерное общество ... ";
RichEdit1.Lines.add(s1+RedString+s2);
RichEdit1.SelStart:= RedStartPos;
RichEdit1.SelLength:= RedLength;
RichEdit1.SelAttributes.Color := clRed;
end;




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

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

Наверх




Память: 0.46 MB
Время: 0.005 c
14-58310
alex9999
2002-06-19 10:58
2002.07.18
коллеги


6-58239
Duncan
2002-05-06 23:54
2002.07.18
Обсчет трафика


3-58006
Борис М...
2002-06-27 14:01
2002.07.18
Удаление записи в Базе Данных


14-58262
blackweber
2002-06-16 15:23
2002.07.18
Текила


1-58199
Rock
2002-07-06 00:32
2002.07.18
TImage





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский