Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
1-89914
muzik
2003-11-18 15:29
2003.11.27
Как проверить включен удалённый комп или нет зная только ИП адрес


9-89671
vitall
2003-05-18 13:19
2003.11.27
как узнать объём видео памяти?


14-90095
REA
2003-11-04 16:04
2003.11.27
Круговая порука


14-90053
tytus
2003-11-06 10:49
2003.11.27
WindowsXP SP2


1-89905
Atreides
2003-11-15 07:26
2003.11.27
Сообщение с Чекбоксом




   Наверх