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

Вниз

глюк ричедит ?   Найти похожие ветки 

 
oleggar ©   (2006-07-05 13:50) [0]

я ищу текст в rtf с помощью trichedit.findtext ,и почему-то текст ищется только
английский.Это как-то лечится ?или придется использовать другие компоненты или загружать текст в массив ?


 
begin...end ©   (2006-07-05 14:32) [1]

Да, аналогичная проблема была, и здесь уже обсуждалась. Причём, если текущая раскладка клавиатуры -- русская, то русский текст ищется без проблем. Лечил собственной реализацией FindText с использованием EM_FINDTEXTW (т.е. сообщения для поиска текста в unicode-формате, описание см. в MSDN) вместо обычного EM_FINDTEXT. Работает это только в NT-системах, насколько я помню.


 
oleggar ©   (2006-07-05 15:00) [2]

у меня НТ .если поделитесь реализацией  ,буду рад до смерти


 
begin...end ©   (2006-07-05 17:36) [3]

> oleggar ©   (05.07.06 15:00) [2]

Вот код немного переделанного метода FindText. Он оформлен как функция, в которую нужно передавать ссылку на конкретный экземпляр RichEdit, но при желании можно создать наследника от TCustomRichEdit и добавить туда эту функцию как метод.

uses RichEdit;

function FindTextW(RichEdit: TCustomRichEdit; const SearchStr: WideString;
 StartPos, Length: Integer; Options: TSearchTypes): Integer;
const
 EM_FINDTEXTW = WM_USER + 123;

var
 Find: TFindTextW;
 Flags: Integer;
begin
 with Find.chrg do
 begin
   cpMin := StartPos;
   cpMax := cpMin + Length;
 end;
 Flags := 0;
 if stWholeWord in Options then Flags := Flags or FT_WHOLEWORD;
 if stMatchCase in Options then Flags := Flags or FT_MATCHCASE;
 Find.lpstrText := PWideChar(SearchStr);
 Result := SendMessage(RichEdit.Handle, EM_FINDTEXTW, Flags, LongInt(@Find));
end


Изменения (по сравнению с обычным FindText) выделены. Как видите, их совсем немного.
:о)


 
oleggar ©   (2006-07-05 18:47) [4]

спасибо



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

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

Наверх




Память: 0.47 MB
Время: 0.041 c
15-1153428532
Footballer
2006-07-21 00:48
2006.08.20
А какие вы знаете смайлики? %)


1-1152113846
Muchacho
2006-07-05 19:37
2006.08.20
генератор отчетов для Delphi 2006 .NET


2-1154460630
Ezorcist
2006-08-01 23:30
2006.08.20
Компонет и переменная


15-1153391517
Vlad
2006-07-20 14:31
2006.08.20
Ваша гражданская позиция (небольшой опрос)


2-1154425301
Damager
2006-08-01 13:41
2006.08.20
TAction компоненты + XPMan