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

Вниз

RichEdit->FindText() Проблемы   Найти похожие ветки 

 
madm   (2003-11-13 18:08) [0]

Здравствуйте!
Собственно возникла такая трудность... Есть RichEdit в который я программно пишу текст(на русском и английском). В некоторый момент я пытаюсь найти в этом тексте строку:

int ToEnd = FMain->FEditor->RichEdit1->Text.Length();
int FoundAt = FMain->FEditor->RichEdit1->FindText(TreeView1->Selected->Text, 0, ToEnd - 1, TSearchTypes()<< stMatchCase);


Такой кусок текста в RichEdit точно есть, но не находиться :(
Такие проблемы только с русским когда текст английский то все ищется без проблем.

Может кто сталкивался?


 
}{enon ©   (2003-11-13 20:23) [1]

Странно...
Я поэксперементировал: результат поиска зависит не только от текста, но и от текущей раскладки клавиатуры (?!).
В принципе, можно попробавать так:
result := FloattoStr(Pos(Edit1.Text, RichEdit1.text));
При этом индексация начинается с 1, а перевод строки считается за два символа (#10, #13).


 
}{enon ©   (2003-11-13 20:41) [2]

P.S.:
1)FloatToStr здесь лишний (сорри)
2)Этот код ищет с учетом регистра. Если нужно, чтобы регистр не учитывался, используй AnsiUpperCase:
r esult := Pos(AnsiUpperCase(Edit1.Text),AnsiUpperCase(RichEdit1.Text));
Вроде бы всё, только (если требуется) замени Edit1.Text на требуемую строку (если я понял вопрос, то на "TreeView1.Selected.Text")


 
Ru ©   (2003-11-14 09:40) [3]

AnsiPos попробуй, но для этого текст надо скопировать из эдита


 
madm   (2003-11-17 15:39) [4]

Спасибо, но было интересно именно что это за глюк такой в RichEdit"e. И результат поиска зависит там от нескольких вещей, например если отредактировать этот текст(удалить хотя бы одну букву) руками, а не программно, то все начнет искаться нормально...
Вобще вопрос все еще в силе - почему так происходит???



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

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

Наверх




Память: 0.47 MB
Время: 0.02 c
14-90054
Е-Моё имя
2003-11-05 14:57
2003.11.27
Как сделать строку длиной больше мильярда?


1-89986
Olga_Oo
2003-11-17 10:59
2003.11.27
Label


1-89904
Varelik
2003-11-13 13:55
2003.11.27
Разжуйте тему на счет


3-89719
Пубертанец
2003-11-07 16:43
2003.11.27
GroupingLevel в ClientDataSet


14-90057
Denis_Ac
2003-10-31 08:58
2003.11.27
Вот Интересно стало