Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
alhtub

Как реализовать FindNext в FindDialog для компонента RichEdit?

10.05.2012, 19:23. Показов 2732. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Для текстового редактора необходима кнопка "Найти". Текст вводится в RichEdit. При открытии диалога FindDialog и нажатии кнопки "найти далее" ищется только первое вхождение подстроки в строках. Как сделать так, чтобы по нажатию кнопки выделялись по-очереди все найденные соответствия? Слышал, что можно использовать для этого функцию strstr, но сделать не смог.
Помогите пожалуйста!
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.05.2012, 19:23
Ответы с готовыми решениями:

Динамическое создание компонента на Richedit
после динамического создания компонента TImage в richedit невозможно ничего набрать текс просто печатается пустым и все что было напечатано...

Доступ к определённой строке компонента RichEdit
Здравствуйте. У меня есть одно поле, состоящее из двух строк. В каждой строке я хочу задать собственное форматирование (шрифт, выравнивание...

Разработать текстовый редактор на основе компонента RichEdit
Разработать на ассемблере простейший текстовый редактор на основе компонента RichEdit, работающего с текстом в обогащенном формате....

3
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
10.05.2012, 22:38
C++
1
2
3
4
5
TSearchTypes Stype;
Stype = Stype << stMatchCase;
stop = RichEdit1->FindText("Text",start,RichEdit1->Text.Length(),Stype);
start=stop;
//Ищим дальше
0
alhtub
11.05.2012, 10:35
Добавлено через 34 секунды
Цитата Сообщение от Avazart Посмотреть сообщение
C++
1
2
3
4
5
TSearchTypes Stype;
Stype = Stype << stMatchCase;
stop = RichEdit1->FindText("Text",start,RichEdit1->Text.Length(),Stype);
start=stop;
//Ищим дальше
А в каком месте программы этот фрагмент должен быть?

Если вставить этот фрагмент куда бы то ни было - жалуется на stop и start

Сейчас поиск с помощью диалога выглядит следующим образом:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void __fastcall TA::FindDialog1Find(TObject *Sender)
{
  try {
    int SelPos = B->RichEdit1->Lines->Text.Pos(FindDialog1->FindText);
    if (SelPos > 0) {
      A->SetFocus();
      B->RichEdit1->SetFocus();
      B->RichEdit1->SelStart = SelPos - 1;
      B->RichEdit1->SelLength = FindDialog1->FindTextA.Length();
    }
    else
      MessageBeep(0);
  }
  catch(EAccessViolation&e) {
    ShowMessage("Error");
  }
}
(A и B - соответственно материнская и дочерние формы, т.к. это MDI-приложение)
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
11.05.2012, 16:22
смотри Выделение предложений в RichEdit C++ Builder
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.05.2012, 16:22
Помогаю со студенческими работами здесь

Разрыв компонента на части RichEdit, RxRichEdit в Delphi 7
Возможно ли сделать разрыв RichEdit или RxRichEdit на страницы (части)? Если да, то как, иначе, подскажите какой-либо другой компонент.

DatetimePichker (Как реализовать запись в БД данных с этого компонента)
Что необходимо прописать чтобы из datatimepichker (число,месяц, год) записовалось в базе и отображалось нормально.

Как создать FindDialog?
Доброго времени суток!!! Как создать в VB стандартный диалог поиска текста, например как в C++ Builder (FindDialog)?

Как сделать на ADO FindNext по рекордсету? А?
Подскажите...

Как сделать, чтобы FindNext заканчивал поиск на последнем элементе?
Есть столбец, в котором некоторое значение повторяются, нужно выбрать по очереди эти значения из списка,я при этом использую свойство...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru