[Delphi] Zmiana atybutów w RichEdit (ale nie taka zwyk

0

Mam sobie w RichEdit tekst:
"to jest komponent RichEdit
w którym to chce zmienić atrybuty"

W tym tekście znajdują się dwa słowa "to". Chciałbym zmienić ich kolor na np. czerwony. Jak to zrobić ?
Czyli procedura ma wyszukać słowa "to", a potem zmienić ich kolor.

0

Po prostu wyszukaj słowo 'to' (możesz przelecieć wszystkie znaki), zaznacz je i zmień SelAttributes.--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

0

No dobrze. Ale jak szukać we wszystkich znakach ? Bo jeżeli zastosuje Pos() to on wyszuka mi zawsze tylko to słowo które jest pierwsze. Trzeba by było aby szukał we wszystkich liniach po kolei. Ale jak ? No i potem jak zmienić atrybut tego co znajdzie w danej linii ?

0

qba napisał:
No dobrze. Ale jak szukać we wszystkich znakach ? Bo jeżeli zastosuje Pos() to on wyszuka mi zawsze tylko to słowo które jest pierwsze. Trzeba by było aby szukał we wszystkich liniach po kolei. Ale jak ? No i potem jak zmienić atrybut tego co znajdzie w danej linii ?

Najprościej (ale mało efektywnie) to zrobić tak:
with RichEdit1 do
for x:= 0 to Length(Text) do
if (Text[x]+Text[x+1])='to' then
begin
SelStart := x;
SelLength := 2;
SelAttributes.Color := clRed;
end;
--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

0

OKI. dzięki. Działa. Tylko że w SelStart trzeba odjąć 1 (SelStart := x-1).

A jest może jakaś inna bardzej integralna możliwość ? (Troche się pomęcze może mi się uda coś innego wymyśleć )

0

qba napisał:
OKI. dzięki. Działa. Tylko że w SelStart trzeba odjąć 1 (SelStart := x-1).

A jest może jakaś inna bardzej integralna możliwość ? (Troche się pomęcze może mi się uda coś innego wymyśleć )

Ja też ubolewam nad tym, że Pos wyszukuje tylko pierwszy znak. Chciałbym móc wywoływać to w pętelce od danego znaku. (Przynajmniej nic o tym nie wiem).--Jest jeszcze jeden błąd ... :)

Apel: Piszcie w tematach o jaki język programowania chodzi np. : [Delphi], [C++], itp.

0

z tym Pos() to moze te linki cos pomoga:
http://www.swissdelphicenter.com/en/showcode.php?id=738
http://www.swissdelphicenter.com/en/showcode.php?id=474

:)---=-=[ Delphi 3, 6 ]=-=-
-=-=-==[ LKS ]==-=-=-
-=[ [email protected] ]=-

1 użytkowników online, w tym zalogowanych: 0, gości: 1