Главная страница
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.022 c
3-89754
Liavik
2003-11-08 00:30
2003.11.27
Отчет


4-90167
Serega____
2003-10-03 14:32
2003.11.27
API


6-90042
Король
2003-09-30 18:38
2003.11.27
Пропингировать все компи


1-89916
Sandman25
2003-11-18 13:48
2003.11.27
IntToStr и Const


3-89766
ST_
2003-11-07 01:30
2003.11.27
Поле Boolean