Страница: 1 |
Страница: 1 |
Вопрос: Поиск в RTF
Добавлено: 22.12.06 20:47
Автор вопроса: Maxxx | Web-сайт:
Ума не хватает реализовать поиск в VB.NET. В VB6 - хватало, а здесь - нет. уже и MSDN перерыл, но все-равно не понимаю. Так вот: есть текст в RTFbox'e, и надобно, найти, например, слово "выборка". Причем, надо чтобы все найденные эти слова в тексте были, например, выделены подчеркиванием. Заранее благодарен.
Ответы
Всего ответов: 8
Номер ответа: 1
Автор ответа:
EROS
Вопросов: 58
Ответов: 4255
Профиль | | #1
Добавлено: 23.12.06 00:29
И на каком этапе возникли трудности?
Номер ответа: 2
Автор ответа:
Viper
ICQ: 249094859
Вопросов: 0
Ответов: 310
Профиль | | #2
Добавлено: 23.12.06 08:03
А метод Find отменили штоль? А как ты думаешь зачем существует свойство SelectionFont?
Номер ответа: 3
Автор ответа:
Maxxx
Вопросов: 7
Ответов: 23
Web-сайт:
Профиль | | #3
Добавлено: 23.12.06 15:19
Да я знаю про метод Find. А только вот как им пользоваться? приведите, пожалуйста, пример, а то пример, приведенный в MSND я не понимаю.
Номер ответа: 4
Автор ответа:
Maxxx
Вопросов: 7
Ответов: 23
Web-сайт:
Профиль | | #4
Добавлено: 23.12.06 15:48
Ну, немного разобрался:
Dim abc As Integer
abc = rtf.Find("выборка"
txt.Text = abc
Т.е. , abc возвращает номер символа строки, с которой начинается искомое слово. А как теперь определить сколько всего слов таких в тексте, и как их выделить в тексте тем же Bold'ом.
Номер ответа: 5
Автор ответа:
Maxxx
Вопросов: 7
Ответов: 23
Web-сайт:
Профиль | | #5
Добавлено: 23.12.06 16:24
Хм... разобрался еще немного.
Dim num_find As Integer
While Not num_find = -1
num_find = rtf.Find("выборка" 'ищем нужное слово
If num_find <> -1 Then rtf.SelectedText = "ля-ля-ля" 'подставлем нужное слово на место найденного
Ума у меня хватило только на то, чтобы заменить нейденные слова на другие. А как выделить цветом все выделенные слова и подсчитать, сколько всего их найдено. Помогите, пожалуйста.
Номер ответа: 6
Автор ответа:
Maxxx
Вопросов: 7
Ответов: 23
Web-сайт:
Профиль | | #6
Добавлено: 23.12.06 16:49
Dim num_find As Integer 'переменная для определния номера символа начала найденного слова
While Not num_find = -1 'цикл, до тех пор, пока не кончатся найденные слова
num_find = rtf.Find("выборка" 'ищем нужное слово
'If num_find <> -1 Then rtf.SelectedText = "выебка"
If num_find <> -1 Then
rtf.SelectionColor = Color.Blue
rtf.SelectedText = "выебка"
'rtf.SelectionColor = Color.Blue
End If
End While
В общем, додумался и как менять цвет. Но! Я могу менять цвет только тогда, когда я меняю само найденное слово. А как просто поменять цвет, без замены слова?
Номер ответа: 7
Автор ответа:
Maxxx
Вопросов: 7
Ответов: 23
Web-сайт:
Профиль | | #7
Добавлено: 23.12.06 23:25
Люди, ну подскажите все же!
Номер ответа: 8
Автор ответа:
Viper
ICQ: 249094859
Вопросов: 0
Ответов: 310
Профиль | | #8
Добавлено: 25.12.06 10:31
Дык rtf.SelectionColor = Color.Blue чем не рулит?