Форум: "KOL";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
Внизпоиск в 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 вся ветка
Форум: "KOL";
Текущий архив: 2006.09.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c