Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск текста вверх 
V
    Опции темы
BIV
Дата 7.6.2013, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 20.12.2007

Репутация: нет
Всего: 1



Всем доброе время суток!
Помогите пожалуйста реализовать поиск текста в CEdit в обратном порядке, т.е. от конца в начало.
Я реализовал поиск вперед:

Код

int nSelStart, nSelEnd;
edit1.SetFocus();  //Устанавливаю фокус на поле, чтобы получить расположение каретки
edit1.GetSel(nSelStart,nSelEnd); //Получаю позицию каретки
UpdateData(TRUE); //Чтобы получить данные с поля как со CString
nSelEnd=(int)edit.Find(_T(strFind),nSelEnd /*Сколько пропустить*/); //Получаю позицию первых символов ищущей строки
UpdateData(FALSE); //Возвращаю обратно, чтобы можно было получить результат
edit1.SetSel(nSelEnd,nSelEnd+strFind.GetLength());  //Выделяю найденное слова 
edit1.SetFocus(); //Устанавливаю фокус на поле чтобы увидеть выделение
//Вывожу ошибку если не нахожу заданное слово в текте
if(nSelEnd==-1)MessageBox("Не удается найти \x22"+strFind+"\x22","Поиск",MB_ICONINFORMATION); 


Как можно, опираясь на этот код, реализовать поиск в другую сторону?

Это сообщение отредактировал(а) BIV - 7.6.2013, 23:24
PM MAIL   Вверх
Albor
Дата 10.6.2013, 07:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 589
Регистрация: 28.2.2009

Репутация: 7
Всего: 9



Как вариант, получить реверсивную копию исходной(edit.MakeReverse()) и строки поиска (strFind.MakeReverse()), и потом уже искать нужное. После высчитать позицию найденного.
PM MAIL ICQ   Вверх
BIV
Дата 26.6.2013, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 219
Регистрация: 20.12.2007

Репутация: нет
Всего: 1



Albor, спасибо!) Разобрался
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0416 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.