Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.03.19;
Скачать: 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 вся ветка

Текущий архив: 2006.03.19;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.046 c
15-1140533892
Fl@sh
2006-02-21 17:58
2006.03.19
Книга по FireBird 1.0.3 or 1.5..


15-1140674894
7BB
2006-02-23 09:08
2006.03.19
Оберон, Модула


3-1138252297
Андрей К.
2006-01-26 08:11
2006.03.19
строки в RadioGroup


4-1135243373
bobah
2005-12-22 12:22
2006.03.19
Прерывание процесса установки модемного соединения.


2-1141044416
Познающий глубины
2006-02-27 15:46
2006.03.19
Передача параметров.