I was looking through my old copies of code using the X1 search
engine and I found exactly that code you pasted below!  I managed
to adapt it to the application I need done, and it worked like a charm!
That shows it pays to keep interesting code posts on elists for
future reuse!

Thanks, Eddie!
-Rich


Eddie Shipman wrote

> BTW, I did not test this and do not think it will work on
> a wrapped search value, say 'time for all'
>
>
> --- Eddie Shipman <[EMAIL PROTECTED]> wrote:
>
>> Rich, you can use the FindText function in RE to get the Selstart.
>> See this little example I wrote several yrs ago.
>>
>> RichEdit lines are like this:
>> {
>>  Now is the time
>>  for all good men
>>  to come to the aid
>>  of their country
>> }
>>
>>
>> procedure MarkThisWord(RE: TRichEdit; TheWord: String; Color: TColor; 
>> Style:
>> TFontStyles);
>> var
>>   i, CharPos, noChars: Integer;
>> begin
>>   CharPos := 0;
>>   noChars := 0;
>>   for i := 0 to Pred(RE.Lines.Count) do
>>     noChars := noChars + Length(RE.Lines[i]);
>>   CharPos := RE.FindText(TheWord, CharPos, noChars, [stWholeWord]);
>>   RE.SelStart := CharPos;
>>   RE.SelLength := Length(TheWord);
>>   RE.SelAttributes.Color := Color;
>>   RE.SelAttributes.Style := Style;
>> end;
>>
>> procedure MarkAllWords(RE: TRichEdit; TheWord: String; Color: TColor; 
>> Style:
>> TFontStyles);
>> var
>>  i, CharPos, CharPos2, noChars: Integer;
>> begin
>>  CharPos := 0;
>>  noChars := 0;
>>  for i := 0 to Pred(RE.Lines.Count) do
>>    noChars := noChars + Length(RE.Lines[i]);
>>  repeat
>>    CharPos2 := RE.FindText(TheWord, CharPos, noChars, [stWholeWord]);
>>    CharPos := CharPos2+1;
>>    RE.SelStart := CharPos2;
>>    RE.SelLength := Length(TheWord);
>>    RE.SelAttributes.Color := Color;
>>    RE.SelAttributes.Style := Style;
>>  until charpos = 0;
>> end;
>>
>> Syntax:
>>
>> procedure TForm1.Button1Click(Sender: TObject);
>> begin
>>   MarkThisWord(RichEdit1, 'the', clRed, [fsBold]);
>>   MarkAllWords(RichEdit1, 'to', clTeal, [fsItalic, fsBold]);
>> end;
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
> _______________________________________________
> Delphi mailing list -> [email protected]
> http://www.elists.org/mailman/listinfo/delphi
> 

_______________________________________________
Delphi mailing list -> [email protected]
http://www.elists.org/mailman/listinfo/delphi

Reply via email to