![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как заменить выделенный текст в 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 - это уж Вы подумайте сами. Список всего, что там нужно см.выше.