Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как заменить выделенный текст в memo?


ssa ©   (2007-06-25 02:47:00) 

Необходимо выделенный текст заменить на другой. Допустим среди текста пользователь выделяет 1 слово ( "слово" ), нажав на кнопку это слово должно замениться на "<br>слово</br>"
Спасибо!


Tack   (2007-06-27 14:59:00) [1]


procedure InsertText(Edit: TMemo; Text: String);
begin
 Edit.Perform(EM_REPLACESEL, 0, Integer(PChar(Text)));
 Edit.SelStart := Edit.SelStart + Length(Text);
end;


TStas   (2007-06-25 21:13:00) [2]

>antonn Вот я как раз с форума скрипт, который именно это и делает содрал, любопытсва ради


antonn   (2007-06-25 13:19:00) [3]

оффтоп: эх, если бы и в яваскрипте все было так просто и работало везде... :)


ssa   (2007-06-25 11:34:00) [4]

спасибо!


Юрий Зотов   (2007-06-25 08:25:00) [5]

Гм... и правда... забыл про него... а проще получится...
:о)


Babay   (2007-06-25 08:20:00) [6]

Так это, а SelText не подходит?


Юрий Зотов   (2007-06-25 08:08:00) [7]

Copy - дает подстроку заданной длины начиная с заданной позиции.
SelStart - позиция начала выделенного текста.
SelLength - длина выделенного текста.
Length - длина строки.
Text - текст в Memo.

Что нужно сделать:
Memo.Text := Copy(...) + '<br>' + Copy(...) + '</br>' +Copy(...);

И получим то, что хочется. А что написать в параметрах Copy - это уж Вы подумайте сами. Список всего, что там нужно см.выше.


Наверх

Титульная страница Поиск, карта сайта Написать письмо