Форум программистов, компьютерный форум CyberForum.ru

Выделить строку - C++

Восстановить пароль Регистрация
 
Peperovich
43 / 43 / 4
Регистрация: 17.05.2011
Сообщений: 162
04.06.2012, 23:32     Выделить строку #1
Всем ДД. Помогите правильно выделить строку с ошибкой в Edit Box.
Я разбиваю строку на лексемы, если лексема не подходит под мои условия, то я должен ее выделить. Но у меня почему то криво выделяется. в чем загвоздка, я понимаю, что где то в SetSel, но никак не могу понять как там правильно выставлять индексы.

C++
1
2
3
4
5
6
7
...
CEdit m_edit;//переменная Edit Box
CString resToken;//содержит лексемы
....//тут разбитие на лексемы, оно правильное
m_edit.SetSel(LineT.Find(resToken),LineT.Find(resToken)+1,0);
m_edit.SetFocus();
...
Добавлено через 3 часа 39 минут
Помогите кто-нибудь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.06.2012, 23:32     Выделить строку
Посмотрите здесь:

функция, которая копирует строку в другую строку заданное количество раз C++
Поменять местами строку с максимальный элемент и строку с минимальным элементом матрицы C++
C++ Разбить введенную строку на слова и выделить под каждое слово отдельный массив
C++ ввести строку символов. Сформировать строку вдвое большей длины, где каждый символ предворяется пробелом. Вывести полученную строку.
Поменять местами первую строку и строку сумма элементов которой минимальна C++
C++ В заданной числовой вещественной матрице размерности N*N поменять местами K-ую строку и L-ую строку
C++ Ввести строку символов, если ее длина >6, выделить подстроку в { } скобках.
Ввести строку текста и строку поиска, найти местоположение первого вхождения строки поиска в строку текста C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
05.06.2012, 01:52     Выделить строку #2
Цитата Сообщение от Peperovich Посмотреть сообщение
LineT.Find(resToken),LineT.Find(resToken)+1
- ну дык ты один символ всего выделяешь
LineT.Find(resToken) - вернёт первую позицию вхождения resToken в LineT а LineT.Find(resToken)+1 на 1-ну позицию больше. Тут надо хотябы так
C++
1
m_edit.SetSel(LineT.Find(resToken),resToken.GetLength(),0);
т.е выделяем под длину resToken с позиции его вхождения LineT.Find(resToken).
Ну а вообще LineT должна быть записана в m_edit + Едит должен быть и стрингом контролом одновременно, тогда да можно расчитывать на выделение.

Не по теме:

Написал словами так как на код уже нет сил - иду спать...

Yandex
Объявления
05.06.2012, 01:52     Выделить строку
Ответ Создать тему
Опции темы

Текущее время: 21:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru