|
Вопрос # 2 684/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Помогите, пожалуйста, реализовать поиск текста в RichEdit1. Какой должен быть код для кнопки BitBtn2, отвечающая за продолжение поиска?
Приложение: Переключить в обычный режим- procedure TForm1.BitBtn1Click(Sender: TObject);
- begin
- with RichEdit1 do
- begin
-
- StartPos:=SelStart+SelLength
- else
- StartPos:=0;
- ToEnd:=Length(Text)-StartPos;
-
- if CheckBox1.Checked then
- FoundAt:=FindText(Edit2.Text, StartPos, ToEnd, [stMatchCase])
- else
- FoundAt:=FindText(Edit2.Text, StartPos, ToEnd, []);
-
-
- begin
-
- SetFocus;
- SelStart:=FoundAt;
- SelLength:=Length(Edit2.Text);
-
-
- end
- else begin
-
- BitBtn1.Enabled:=true;
- BitBtn2.Enabled:=false;
- end;
- end;
- end;
 |
Вопрос задала: Наталья В. (статус: Посетитель)
Вопрос отправлен: 25 апреля 2009, 22:06
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Quark
Здравствуйте, Наталья В.!
На мой взгляд - достаточно сделать так:
StartPos := FoundAt + Length(Edit2.Text);
а далее использовать тот же FindText.
Надо задать StartPos. В данном случае, если фрагмент найден и возвращена его позиция, нужно к найденной позиции добавить длину искомого слова - тогда поиск продолжиться с позиции, следующей за этим словом и оно не вылезет повторно.
 |
Ответ отправил: Quark (статус: 1-ый класс)
Время отправки: 26 апреля 2009, 20:33
Оценка за ответ: 5
Комментарий к оценке: Спасибочки Вам за помощь:))
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|