Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Поиск в RTF Добавлено: 22.12.06 20:47  

Автор вопроса:  Maxxx | Web-сайт: polithelp.sibmediagroup.ru
Ума не хватает реализовать поиск в 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-сайт: polithelp.sibmediagroup.ru
 Профиль | | #3
Добавлено: 23.12.06 15:19
Да я знаю про метод Find. А только вот как им пользоваться? приведите, пожалуйста, пример, а то пример, приведенный в MSND я не понимаю.

Ответить

Номер ответа: 4
Автор ответа:
 Maxxx



Вопросов: 7
Ответов: 23
 Web-сайт: polithelp.sibmediagroup.ru
 Профиль | | #4
Добавлено: 23.12.06 15:48
Ну, немного разобрался:

Dim abc As Integer
    abc = rtf.Find("выборка";)
    txt.Text = abc

Т.е. , abc возвращает номер символа строки, с которой начинается искомое слово. А как теперь определить сколько всего слов таких в тексте, и как их выделить в тексте тем же Bold'ом.

Ответить

Номер ответа: 5
Автор ответа:
 Maxxx



Вопросов: 7
Ответов: 23
 Web-сайт: polithelp.sibmediagroup.ru
 Профиль | | #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-сайт: polithelp.sibmediagroup.ru
 Профиль | | #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-сайт: polithelp.sibmediagroup.ru
 Профиль | | #7
Добавлено: 23.12.06 23:25
Люди, ну подскажите все же!

Ответить

Номер ответа: 8
Автор ответа:
 Viper



ICQ: 249094859 

Вопросов: 0
Ответов: 310
 Профиль | | #8 Добавлено: 25.12.06 10:31
Дык rtf.SelectionColor = Color.Blue чем не рулит?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам