Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как форматировать определенные строки в Мемо? Жирный, курсив, подчеркнутый 
:(
    Опции темы
Mpak
Дата 1.2.2007, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



Такая вот проблема....
Есть текст в Memo:
Код

User1 - 01.02.2007 12:27:20
Тема: <Тема>
 <Сообщение>

User2 - 01.02.2007 12:27:23
Тема: <Тема>
 <Сообщение>

User3 - 01.02.2007 12:27:27
Тема: <Тема>
 <Сообщение>

User4 - 01.02.2007 12:27:32
Тема: <Тема>
 <Сообщение>

Возможно ли строчки с никами (User1, User2,....) и Темами допустим выделить жирным?
(Темы определенные (т.е. они известны) и Все пользователи зарегестрированы)
У меня есть предположение, производить проверку на пустую строчку возникает две проблемы
1. Как определить конец.
2. Если в сообщении пользователя будет пустая строчка, тогда он следующие строчки сделает форматированными...

Это сообщение отредактировал(а) Mpak - 1.2.2007, 09:49


--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
Romikgy
Дата 1.2.2007, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



имхо рисовать текст самому (через перехват сообщения винды)
PS че  не использовать RichEdit?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Mpak
Дата 1.2.2007, 10:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



Romikgy, мда.....не очень конечно перспектива...
А как через рич-едит?

Просто мемо я получше знаю, но видимо придется изучить рич - едит... smile 


--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
default_user
Дата 1.2.2007, 10:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 9
Регистрация: 27.12.2006
Где: Москва

Репутация: 1
Всего: 1



Mpak
RichEdit очень похож на Memo, так что проблем, я думаю, у тебя не будет. Все, что ты делал в Memo, ты сможешь сделать в RichEdit. Поменять цвет/атрибуты текста можно попробовать через RichEdit1->SelAttributes (атрибуты выбранного текста), только предварительно нужную строчку нужно выделить (с помощью установки RichEdit1->SelStart  и  RichEdit1->SelLength). Не забудь снять выделение после. 
Проверить на пустую строку можно через 
1) RichEdit1->Lines->Strings[i].IsEmpty();
2) RichEdit1->Lines->Strings[i].Length() == 0;

Цитата

2. Если в сообщении пользователя будет пустая строчка, тогда он следующие строчки сделает форматированными...

А нельзя форматировать строки сразу, при выводе, а не потом? После того, как строка "User1 - 01.02.2007 12:27:20" сформирована, выделить ее, поменять атрибуты, снять выделение.

Это сообщение отредактировал(а) default_user - 1.2.2007, 10:36
PM MAIL   Вверх
Rodman
Дата 1.2.2007, 10:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



Mpak

на Делфях, попробуй переведи, если не получится - спрашивай...

Еще попробуй поискать на www.torry.net компонентик FatPack. Позволяет выводить разноцветный текст...
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Mpak
Дата 1.2.2007, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



А есть у Рича что нибудь вроде положения (по центру, по левому краю, по правому краю)?


--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
Mpak
Дата 1.2.2007, 13:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



default_user
Цитата(default_user @  1.2.2007,  13:31 Найти цитируемый пост)
А нельзя форматировать строки сразу, при выводе, а не потом? После того, как строка "User1 - 01.02.2007 12:27:20" сформирована, выделить ее, поменять атрибуты, снять выделение.


Дело в том что у меня идет загрузка из файла:
Код

   RichEdit1->Lines->LoadFromFile("...");   



--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
Romikgy
Дата 1.2.2007, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



Цитата(Mpak @  1.2.2007,  11:40 Найти цитируемый пост)
А есть у Рича что нибудь вроде положения (по центру, по левому краю, по правому краю)? 

Alignment ?

Добавлено @ 13:36 
Кса ричэдит понимает формат "RTF format"


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Кнопа
Дата 1.2.2007, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 1.2.2007
Где: Москва

Репутация: нет
Всего: нет



Цитата(Mpak @ 1.2.2007,  13:22)
Дело в том что у меня идет загрузка из файла:
Код

   RichEdit1->Lines->LoadFromFile("...");   

Ну тогда лучше проверять по составу строки, чем по ее пустоте. Вероятность того, что в сообщении пользователя появится комбинация: User + Тема: (на следующей строке) намного меньше, чем появление пустых строк в тексте. Прийдется, наверное, делать проверку на имя пользователя+следующая строка начинается со слова "Тема:", тогда выделять. Подумай еще, может чего получше придумаешь.

зы - это я (default_user), просто ник другой захотелось  smile 

Цитата

А есть у Рича что нибудь вроде положения (по центру, по левому краю, по правому краю)?


Код

RichEdit1->Paragraph->Alignment = taLeftJustify;
RichEdit1->Paragraph->Alignment = taCenter;
RichEdit1->Paragraph->Alignment = taRightJustify;


А вообще, Help -> TRichEdit, там много всего интересного smile 

Это сообщение отредактировал(а) Кнопа - 1.2.2007, 14:40
PM MAIL   Вверх
Mpak
Дата 1.2.2007, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 12.11.2006

Репутация: 4
Всего: 7



Чего-то не получается...
Код

 RE->CaretPos.x=0;
 RE->CaretPos.y=0;
 RE->SelStart;
 RE->SelLength=4;
 RE->SelAttributes->Style << fsBold;;


По идее он должен выделить жирным первые четыре символа....
Как правильно?


--------------------
В любой откомпилированной программе есть, по крайней мере, одна ошибка...
P.S. А у меня их минимум две...
PM MAIL ICQ   Вверх
Romikgy
Дата 1.2.2007, 14:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



Цитата(Mpak @  1.2.2007,  13:45 Найти цитируемый пост)
RE->SelStart;

чему равно? 
имхо 1 должен приравнять


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Кнопа
Дата 1.2.2007, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 1.2.2007
Где: Москва

Репутация: нет
Всего: нет



Лови smile 
 RE->CaretPos.x=0;
 RE->CaretPos.y=0;
 RE->SelStart=0;
 RE->SelLength=4;
 RE->SelAttributes->Style =RE->SelAttributes->Style << fsBold;


Это сообщение отредактировал(а) Кнопа - 1.2.2007, 14:59
PM MAIL   Вверх
Romikgy
Дата 1.2.2007, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 11
Всего: 146



обшибся с 0 начинается
Код

RichEdit1->Lines->Text="Gfgfjdhjfhjdfjd\nfdfhdjfdhfd\ndjkfkdfkdf";
RichEdit1->SelStart=0;
RichEdit1->SelLength=4;
RichEdit1->SelAttributes->Style=TFontStyles()<<fsBold;
RichEdit1->SetFocus();
RichEdit1->SelStart=0;
RichEdit1->SelLength=0;



--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0898 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.