Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.03;
Скачать: CL | DM;

Вниз

поиск в Richedit   Найти похожие ветки 

 
Flea   (2005-11-14 22:14) [0]

добрый вечер! есть функция
richedit1.RE_SearchText("w",false,false,true,0,length(richedit1.Text))
она возвращает номер символа только если это один английский символ, в данном случае w. если больше одного, или это русский символ - то результат -1. скажите пожалуйста, так должно быть или где-то ошибка?


 
Flea   (2005-11-15 23:18) [1]

ладно, скажу попроще: у кого-нибудь работает поиск в richedit? может быть есть пример его использования?


 
MTsv DN   (2005-11-16 08:46) [2]

Привет...

Надо изменить здесь:

function RE_SearchText( const Value: WideString; MatchCase, WholeWord, ScanForward: Boolean;
                           SearchFrom, SearchTo: Integer ): Integer;
   {* |<#richedit>
      Searches given string starting from SearchFrom position up to SearchTo
      position (to the end of text, if SearchTo is -1). Returns zero-based
      character position of the next match, or -1 if there are no more matches.
      To search in bacward direction, set ScanForward to False, and pass
      SearchFrom > SearchTo (or even SearchFrom = -1 and SearchTo = 0). }


и здесь:

function TControl.RE_SearchText(const Value: WideString; MatchCase,
 WholeWord, ScanForward: Boolean; SearchFrom, SearchTo: Integer): Integer;
var Flags: Integer;
   FT: TFindTextW;
begin
 Flags := Integer( ScanForward );
 if WholeWord then Flags := Flags or FT_WHOLEWORD;
 if MatchCase then Flags := Flags or FT_MATCHCASE;
 FT.chrg.cpMin := SearchFrom;
 FT.chrg.cpMax := SearchTo;
 FT.lpstrText := PWideChar( Value );
 Result := Perform( EM_FINDTEXT, Flags, Integer( @FT ) );
end;


С Уважением MTsv DN


 
Vladimir Kladov   (2005-11-16 10:48) [3]

я добавлю но как отдельный метод RE_WSearchText.
Там должно быть сообщение не EM_FINDTEXT а EM_FINDTEXTW = WM_USER+123. Windows9x не должен поддерживать вообще WideString.


 
Flea   (2005-11-16 21:38) [4]

большое спасибо. заработало



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

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

Наверх




Память: 0.47 MB
Время: 0.029 c
15-1154631863
imbalsde
2006-08-03 23:04
2006.09.03
Время на написание программы


15-1154674208
syte_ser78
2006-08-04 10:50
2006.09.03
Кто хочет помочь?


2-1155419884
ronyn
2006-08-13 01:58
2006.09.03
ACSII получить номер символа


15-1154760816
McSimm
2006-08-05 10:53
2006.09.03
Пункт 2 правил форума


3-1151441197
Vosik
2006-06-28 00:46
2006.09.03
Триггеры на системных таблицах в InterBase