zmiana koloru w tekście

0

Siema!
Mam taki problem:
Nie wiem jak zmienić kolor w tekście dla każdego słowa "Echo", ale tak, aby jeśli na początku lini tekstu jest takie słowo, to już go później w tej linii nie zmieniał. Oto przykład:
To co ma mieć zmieniony kolor, będzie pisane dużymi literami:

ECHO to jest takie echo
time > ECHO

Nie wiem także, jak zrobić tak, że jeśli zaraz po Echo nie będzie (po spacji) znaku "<<" ani "<" ani ">" ani ">>", to część linijki po Echo zmieni kolor na niebieski.
Przykład:

Zasady j.w.
echo MÓJ SMOKING MA ZAFAJDANĄ KOSZULKĘ!
echo < time

Myślę, że trzeba będzie zrobić coś podobnego do poniższego:

RichEdit1.SelAttributes.Color := clRed;

Dzięks za wszystko,
Dandi8

0

Jesli chodzi ci o kolorowanie skladni, to polecam SynEdit (http://synedit.sourceforge.net) Ma kolorowanie skladni kilku jezykow (w tym i batch) polecam...

0

Nie ort!, bo nie wiem jak...
A i wiem że ty zapomniałeś...
Czy ktoś ma jakiś oryginalniejszy pomysł??

0

RichEdit.SelStart := 0;
RichEdit.SelLength := Length(Trim(Copy(Tekst,1,Pos(' ',Tekst))));
RichEdit.SelAttributes.Color := clRed;

:-)

0

Mozesz skorzystac z Xrichedit, powinien byc na 4p. Wystarczy w zupelnosci, zrobi to co chcesz i nie trzeba przebudowywac programu :)

0

No fajnie wesołku, ale coś mi szwankuje ten komponent...
w tych Keyach co się ma wpisywać to co ma być podświetlone wpisuję, ustawiam KeyFonty odpowiednio, i okazuje się, że nic mi program nie podświetla...
W Keyach chyba może być tylko jeden wyraz...

Próbowałem i oddzielać spacjami wyrazy, i każdy w nowej linijce, ale nicz tego nie wyszło.
Próbowałem je też oddzielać znakiem ; ale tesh nic z tego.
HELP!!!!!!!!

0

A czytales readme do tego komponentu?? wydaje mi sie ze nie!
Oto odpowiedz:
"The most likely reason is that your list of keywords ist not sorted properly. It has to be sorted according to the "CompareStr"-Function.
" (cytat)

// musisz posortowac te wyrazy krore wpisales w keywords

0

ja tam i tak i tak tego nie kapuje...

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