RichTextBox и поиск сочетаний символов

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

RichTextBox и поиск сочетаний символов

Сообщение Ruslan Demidow » 11.05.2004 (Вт) 15:39

Привет всем.
Есть RichTextBox. В нем текст, в котором некоторые слова или словосочетания обрамлены в пары симоволов *
Нужно все эти словосочетания выделить жирным шрифтом.
Я делал так:
В цикле проходил посимвольно весь текст и при нахождении первого символа * присваивал позицию этого символа переменной StartPos.
После этого двигаясь дальше доходил до второго символа * и присваивал позицию этого символа переменной EndPos.
После этого уже стандартным
RichTextBox1.SelStart=StartPos
RichTextBox1.SelLength=EndPos-StartPos
RichTextBox1.SelBold=True
После этого начинал цикл заново со значения EndPos+1 до конца текста и всё по новой.
Но при выводе сообщения на экран - задержки с отображение в несколько секунд (тормозной алгоритм).
Знаю что есть варианты побыстрее, но в какую сторону копать не знаю. :oops:
Подскажите плиз. Если можно с примерами.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 11.05.2004 (Вт) 17:23

1. Ищешь первое вхождение * (не посимвольно, а через InStr).
2. Проверяешь, чтобы следующий символ после * был буквой или цифров (необязательно, но обычно выделение требуется для слов, а не для пробелов или знаков препинания).
3. Ищешь следующее вхождение * (так же InStr).
4. Проверяешь предыдущий символ, чтобы являлся буквой или цифрой. Так же необязательно, если п.2 не выполнялся.
5. Выделяешь полученный сегмент.
Lasciate ogni speranza, voi ch'entrate.

Ruslan Demidow
Мужчина!
Мужчина!
Аватара пользователя
 
Сообщения: 987
Зарегистрирован: 25.03.2004 (Чт) 13:39
Откуда: N.Novgorod

Сообщение Ruslan Demidow » 12.05.2004 (Ср) 8:36

Спасибо.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 19

    TopList