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

Поиск слова в RichEdit

19.05.2011, 03:04. Показов 9861. Ответов 41
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как найти слово, например введенное в Edit?
спаисибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.05.2011, 03:04
Ответы с готовыми решениями:

Поиск в RichEdit
Здравствуйте! Нужна помощь вот в чем! Организовал поиск по RichEdit'у с выделением все четко! на форуме тем много! ...

Поиск в RichEdit
Здраствуйте!!! Вопрос в следущем: Хочу с одного RichEdit3 сверять текст с RichEdit2 при условии что он находиттса между Если ...

RichEdit поиск в строке
Поиск в строке RichEdit Есть три RichEdit1,..2,..3. В первом RichEdit1 считывает, в третьем находит похожий, выводит во второй. С...

41
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
19.05.2011, 04:13
C++
1
Edit->Text.Pos("слово")
0
1 / 1 / 1
Регистрация: 01.03.2011
Сообщений: 89
19.05.2011, 12:48  [ТС]
братишка, слово введенное в Едит нужно найти в RichEdit.
и главное не часть а целое
0
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
19.05.2011, 13:00
Цитата Сообщение от ruslan_smirnov Посмотреть сообщение
братишка, слово введенное в Едит нужно найти в RichEdit.
и главное не часть а целое
полегче с выражениями

вам абсолютно верно указали как нужно искать слова, выражения и все прочее

C++
1
RichEdit1->Text.Pos(Edit1->Text);
после исполнения данного кода, указатель у вас будет находится на первой букве слова введенного в Едит1
1
1 / 1 / 1
Регистрация: 01.03.2011
Сообщений: 89
19.05.2011, 13:04  [ТС]
ок, сорри тогда, но к примеру выведит ли сообщение о нахождении или не нахождении данного слова?
0
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
19.05.2011, 15:10
а потестить самому никак ?

Добавлено через 4 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm3::Button1Click(TObject *Sender)
{
  int found;
  found = 0;
  found = RichEdit1->Text.Pos(Edit1->Text);
  if (found > 0) {
    ShowMessage("Ta Ta  )) it works!!");
  }
  else {
    ShowMessage(" You lost some words... check again!! ");
  }
}
на нажатие кнопки поставь єтот код
2
1 / 1 / 1
Регистрация: 01.03.2011
Сообщений: 89
19.05.2011, 17:48  [ТС]
здесь он выдает истину даже если найдена часть слова!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
19.05.2011, 17:56
Цитата Сообщение от ruslan_smirnov Посмотреть сообщение
здесь он выдает истину даже если найдена часть слова!
Цитата Сообщение от koldun
после исполнения данного кода, указатель у вас будет находится на первой букве слова введенного в Едит1
,а то, что вы хотите, надо делать, используя FindText().
0
1 / 1 / 1
Регистрация: 01.03.2011
Сообщений: 89
19.05.2011, 17:56  [ТС]
можно спросить как?это важно!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
19.05.2011, 18:00
это вам важно
или так
Программа "Прямой поиск строки"
0
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
19.05.2011, 18:01
надрать в ИДЕ
C++
1
RichEdit1->Text.
и нажми сонтрл+пробел

увидиш там все доступные команды, из них выбери то что нужно, и следуя подсказкам ИДЕ используй.
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
19.05.2011, 18:10
RichEdit форматирование и не только
Как найти и заменить текст в Memo или в txt-файле?
RichEdit

Добавлено через 1 минуту
Цитата Сообщение от koldun Посмотреть сообщение
и нажми сонтрл+пробел
если бы все было так просто...
0
1 / 1 / 1
Регистрация: 01.03.2011
Сообщений: 89
19.05.2011, 18:13  [ТС]
C++
1
2
3
4
5
6
7
8
9
void __fastcall TForm5::BitBtn1Click(TObject *Sender)
{
 if (Pos(Edit1->Text,RichEdit1->Text)!=0)
    {
     RichEdit1->SelStart = RichEdit1->Text.TrimRight().Pos(Edit1->Text)-1;
     RichEdit1->SelLength=Edit1->Text.Length()+1;
    }
  else ShowMessage("Не найдено!");
}
вот сделал по теме, но результат идентичный((

Добавлено через 1 минуту
хотелось бы обойтись без FindDialog
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
19.05.2011, 18:18
см. сообщение №6 - koldun дал тебе вполне рабочий код.

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
void __fastcall TForm5::BitBtn1Click(TObject *Sender)
{
  int i =  RichEdit1->Text.Pos(Edit1->Text);
  if (!=-1) {
    RichEdit1->SelStart = i;
    RichEdit1->SelLength = Edit1->Text.Length()+1;
    RichEdit1->SelAtrributes->Color << clRed;
// или RichEdit1->SelAtrributes->Color = clRed; // не помню
  }
  else ShowMessage("Не найдено!");
}
0
1 / 1 / 1
Регистрация: 01.03.2011
Сообщений: 89
19.05.2011, 18:21  [ТС]
тот код также ищет слово, но даже если ввести букву этого слова все равно истина

Добавлено через 2 минуты
Цитата Сообщение от LK Посмотреть сообщение
см. сообщение №6 - koldun дал тебе вполне рабочий код.

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
void __fastcall TForm5::BitBtn1Click(TObject *Sender)
{
 
 int i =  RichEdit1->Text.Pos(Edit1->Text);
 if (!=-1)
        {
         RichEdit1->SelStart = i;
         RichEdit1->SelLength = Edit1->Text.Length()+1;
         RichEdit1->SelAtrributes->Color << clRed;
        }
  else ShowMessage("Не найдено!");
}
if (!=-1)

[C++ Error] Unit5.cpp(115): E2188 Expression syntax

делаю if (i!=-1) не работает
0
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
19.05.2011, 18:25
ruslan_smirnov,

Руслан, ну ты странный человек...

тоесть ты хочеш сказать, что если у меня в ричедите будет фраза "коля утром поглумился над светой"

а в эдите будет слово "надя"

то вот тот код что я привел всеравно покажет что такое слово найдено ???

ты что-то путаешь...
0
1 / 1 / 1
Регистрация: 01.03.2011
Сообщений: 89
19.05.2011, 18:27  [ТС]
Цитата Сообщение от koldun Посмотреть сообщение
ruslan_smirnov,

Руслан, ну ты странный человек...

тоесть ты хочеш сказать, что если у меня в ричедите будет фраза "коля утром поглумился над светой"

а в эдите будет слово "надя"

то вот тот код что я привел всеравно покажет что такое слово найдено ???

ты что-то путаешь...
соглашусь

к примеру если в едит я введу к примеру первые три буквы слова, то он его конечно найдет, но мне нужно слово целиком, так как оно связано с базой(
0
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
19.05.2011, 18:31
код писать не буду, потому как в данный момент переустанавливаю ИДЕ

но натолкну на мысль:

тебе нужно получать длинну слова в эдите, находить(приведенным мною способом) точку нахождения данного выражения в ричэдите, вырезать фразу длинною в эдит1, помещать фразу в какойто стринг, и сравнивать 2 строчки, если совпали, ура, если нет, ищем дальше.
0
1 / 1 / 1
Регистрация: 01.03.2011
Сообщений: 89
19.05.2011, 18:32  [ТС]
подожду пока переустановишь
0
145 / 100 / 6
Регистрация: 11.03.2010
Сообщений: 477
19.05.2011, 18:36
попробуй пока сам сделать... я через пол часа ухожу домой, и помоч смогу тока завтра к 11 дня
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.05.2011, 18:36
Помогаю со студенческими работами здесь

Поиск слов в RichEdit
int found = 0; found =Form1-&gt;RichEdit1-&gt;Text.Pos(Form2-&gt;Edit1-&gt;Text); if (found &gt; 0) { ...

Цветные слова при нажатии на кнопку (RichEdit)
Не могу розобратса как добавти при нажатии на кнопку слово (например красного цвета). Добавлять строки я знаю как а вот как цветной текст...

RichEdit поиск и замена текста
Доброго времени суток. Мне нужно действовать по такому алгоритму: Если в RichEdit1 содержится текст :), то я заменяю этот текст на...

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

RichEdit и FindText, поиск текста в обратном направлении
Как искать текст вперед я разобрался: if...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru