Вниз
Скачать: CL | DM;

Редактирование в RichEdit   Найти похожие ветки 

← →
Fenix ©   (2006-03-03 19:09) [0]

Доброе время суток.
Меня интересуют алгоритмы нахождения в RichEdit определенного словосочетания, и изменения его цвета и размера. Подскажите наиболее актуальные алгоритмы.
Допустим у меня есть текст, и в нем надо выделить допустим "<br>". Притом, что это должно происходить при изменении текста в RichEdit"e.


← →
Handle   (2006-03-03 20:56) [1]

Функция замены в строке всех вхождений одной подстроки на другую

В отличие от других подобных функций, эта - не зависнет, если в строке нужно
заменить не только одно слово совершенно другим,
но и допустим, слово "Штаны" на "-Штаны-"
(Т.е. начальное слово после замены остается, но к нему добавляется какой нибудь
символ справа, или слева. В данном случае по краям слова добавлен знак минуса).

function Replace(Str, X, Y: string): string;
{Str - строка, в которой будет производиться замена.
X - подстрока, которая должна быть заменена.
Y - подстрока, на которую будет произведена заменена}


var
 buf1, buf2, buffer: string;
 i: Integer;

begin
 buf1 := "";
 buf2 := Str;
 Buffer := Str;

 while Pos(X, buf2) > 0 do
 begin
   buf2 := Copy(buf2, Pos(X, buf2), (Length(buf2) - Pos(X, buf2)) + 1);
   buf1 := Copy(Buffer, 1, Length(Buffer) - Length(buf2)) + Y;
   Delete(buf2, Pos(X, buf2), Length(X));
   Buffer := buf1 + buf2;
 end;

 Replace := Buffer;
end;
Пример использования:

procedure TForm1.Button1Click(Sender: TObject);
var
 a: Integer;
begin
 for a := 0 to Memo1.Lines.Count do
   Memo1.Lines[a] := Replace(Memo1.Lines[a], "Штаны", "-Штаны-");
end;


← →
Fenix ©   (2006-03-03 21:17) [2]

не ты не понял... мна надо только изменить цвет шрифта. А текст так и останеться... Допустим у меня есть список поределенных слов, и мне надо в тексте все эти слова выделить, изменив их цвет и шрифт...



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
3-1138350305
Tavor
2006-01-27 11:25
2006.03.19
поиск через sql


2-1141582040
ctudent
2006-03-05 21:07
2006.03.19
Проблем-с! Возник?


2-1141654657
SMAC
2006-03-06 17:17
2006.03.19
IntTo...


3-1138550324
wizzz
2006-01-29 18:58
2006.03.19
Как отловить событие "выбор значения из PickList"?


15-1140999217
Бугага
2006-02-27 03:13
2006.03.19
JavaScript




   Наверх