Вопрос: Поиск в TextBox 2 | Добавлено: 14.07.10 12:05 |
Автор вопроса: ![]() |
Ребят, еще раз сорки..
Вчера задавал почти аналогичный вопрос... http://www.vbnet.ru/forum/show.aspx?id=207267 вот код: ' Поиск в TextBox
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ' Вычисляем начало (первый символ искомого слова или строки) Dim SelectStart As Integer = InStr(TextBox1.Text, TextBox2.Text, vbTextCompare) ' Вычисляем длину искомого символа, слова или строки Dim SelectLen As Integer = Len(TextBox2.Text) If SelectStart > 0 Then ' Если ищем не пустое место, то TextBox1.Focus() ' фокус на TextBox и TextBox1.Select(SelectStart - 1, SelectLen) ' выделяем искомый фрагмент. End If End Sub До ответа вроде сам допер..Но появился следующий вопрос!
На форме еще имеется кнопка "Найти далее", соответственно нажав на нее - в текстбоксе где ищется сочетание (буква, символ, слово) - доллжно это сочетание выделиться, если таковое конечно есть.. Тоесть нужно найти и выделить не первое похожее сочетание , а следующее за ним, и соответственно последующее за следующем (если такое есть )...Сори за туфтологию.. Кароче обычный поиск в блокноте, с функцией "Найтид" и "Найти далее" Кто поможет |
Ответы | Всего ответов: 20 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 9 Ответов: 35 |
Профиль | | #1 | Добавлено: 14.07.10 16:33 |
НУ поможет кто? или долго код писать? хотя бы идеи |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #2 | Добавлено: 15.07.10 02:04 |
Сделать такой же поиск как в блокноте вобщем-то нетривиальная задача, и ты хочешь чтоб тебе весь код написали? |
Номер ответа: 3 Автор ответа: ![]() ![]() ICQ: 345685652 Вопросов: 96 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 15.07.10 03:05 |
он наверное не понимает, что InStr возвращает номер символа найденной строки, а первый параметр этой функции указывает с какого по счету символа нужно искать.
А если он это понимает, то он просто мозгами думать не хочет. |
Номер ответа: 4 Автор ответа: ![]() ![]() ICQ: 345685652 Вопросов: 96 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 15.07.10 03:06 |
Мы здесь таких как "мозгами думать не хочет" не любим...
|
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 9 Ответов: 35 |
Профиль | | #5 | Добавлено: 15.07.10 13:14 |
нда...подъебы писать не лень, а советы лень... |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 9 Ответов: 35 |
Профиль | | #6 | Добавлено: 15.07.10 13:18 |
а первый параметр этой функции указывает не на то с какого по счету символа нужно искать, а выражение для поиска...тоесть там где нужно найти , и уже второй параметр искомое....если Вы про это
|
Номер ответа: 7 Автор ответа: ![]() ![]() ICQ: 345685652 Вопросов: 96 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 15.07.10 14:43 |
наивная душа Албанца.
Function InStr([Start], [String1], [String2], [Compare As VbCompareMethod = vbBinaryCompare])
Member of VBA.Strings Returns the position of the first occurrence of one string within another |
Номер ответа: 8 Автор ответа: ![]() ![]() ICQ: 345685652 Вопросов: 96 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #8 | Добавлено: 15.07.10 14:44 |
Object Browser решает! |
Номер ответа: 9 Автор ответа: ![]() ![]() ICQ: 345685652 Вопросов: 96 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 15.07.10 14:59 |
нда...подъебы писать не лень, а советы лень...
Вам, уважаемый, самому подумать лень... Вам в первой теме Dark Engine написал как функция работает. В чем проблема? Правильно! Лень! |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 9 Ответов: 35 |
Профиль | | #10 | Добавлено: 15.07.10 16:47 |
кароче! не проще было написать совет или код?! нахэ мне твои поучительные довыды...я не за тем сюда обращался, а проблему решил, и опять же нехэ писать про лень и про думать, любит не любит |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() ![]() Вопросов: 9 Ответов: 35 |
Профиль | | #11 | Добавлено: 15.07.10 16:49 |
блин!!!харьки пучеглазые(ЫЙ) |
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 4 Ответов: 457 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 15.07.10 16:56 |
Итак, на форме имеем:
TextBox1 - сюда мы вводим текст, который ищем TextBox2 - сюда мы вводим текст, в котором ищем. Для этого контрола НЕОБХОДИМО установить свойство HideSelection = False - это чтоб не гасилось выделение при работе на другом контроле, в частности, при нажатии на кнопку поиска. Желательно также MultiRow = True - чтоб по-человечески вбивать многострочный текст. И Button1 - кнопка, по нажатию на которую будет происходить поиск. Далее: Объявляем переменную уровня класса:
т.е. пишем эту строчку под строчкой
![]() ну и код для кнопки:
Все, при поиске найденный фрагмент подсвечивается, при повторном - подсвечивается следующий. Содержимое TextBox2 прокручивается при необходимости. Чтоб не бегать по кругу, а также в случае отрицательных результатов вылетит сообщение: "Пройден конец документа" P.S. А подумать точно лень |
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 4 Ответов: 457 |
Web-сайт: Профиль | Цитата | #13 | Добавлено: 15.07.10 16:58 |
прошу прощения, свойство не MultiRow, а MultiLine |
Номер ответа: 14 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 4 Ответов: 457 |
Web-сайт: Профиль | Цитата | #14 | Добавлено: 15.07.10 17:03 |
I'm, ты охуел просто!
Тебе AWP четко и ясно подкинул идею. Не такая уж и сложность была ее реализовать, так что про "думать лень" - весьма актуально сказано |
Номер ответа: 15 Автор ответа: ![]() ![]() ICQ: 345685652 Вопросов: 96 Ответов: 1212 |
Web-сайт: Профиль | Цитата | #15 | Добавлено: 15.07.10 17:42 |
да не то, чтобы я идею кидал сильно кидал, просто в первой теме Dark Engine полностью алгоритм действий написал, и для поиска и для "Искать далее". |
|