Форум программистов CODEBY.NET Хостинг в Беларуси — Active Technologies

Разработка бизнес сайтов

Нужны клиенты? Тогда сюда быстрее...
X   Сообщение сайта
(Сообщение закроется через 2 секунды)

Здравствуйте, гость ( Вход | Регистрация )




> Выделение текста, Очень надо!!!!!!!
vitalya777
Вставить ник
сообщение 1:04:2008, 14:18
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 14
Регистрация: 10:03:2008
Пользователь №: 15 761



Репутация: - 0 +


Я пишу так:


КОД: C/C++

CODE
void __fastcall TForm1::N4Click(TObject *Sender)
1. 2. {
3. RichEdit1->Font->Size=10;
4. int StartPos, Position=0, Endpos;
5.
6. AnsiString *SearchWords;
7. SearchWords = new AnsiString[5];
8. SearchWords[0]=" while ";
9. SearchWords[2]="end";
10. SearchWords[3]=" While ";
11. SearchWords[4]="End";
12. for(int i=0;i<5;i++)
13. {
14. Position=0;
15. StartPos = 0;
16.
17. Endpos = RichEdit1->Text.Length();
18.
19. while (Position!=-1)
20. {
21. Endpos = RichEdit1->Text.Length() - StartPos;
22. Position = RichEdit1->FindText(SearchWords[i], StartPos, Endpos, TSearchTypes()<< stMatchCase);
23.
24. RichEdit1->SelStart = Position;
25. RichEdit1->SelLength = SearchWords[i].Length();
26. RichEdit1->SelAttributes->Style =RichEdit1->SelAttributes->Style<<fsBold;
27. RichEdit1->SelAttributes->Style =RichEdit1->SelAttributes->Style<<fsItalic;
28. StartPos = Position+SearchWords[i].Length();
29. }
30. }
31.



Как можно сделать так, чтобы эти слова выделяло только тогда, когда они сами?
Обясняю: просто например в слове Sender слово end тоже выделяет, а мне это не нужно, можно ли как-то это исправить?А если написать в програме " end ", то в слове Sender слово end не выделяется, но когда написать так в тексте : end; , то слово end тоже не выделяется, а это нужно!

Сообщение отредактировал European - 2:04:2008, 07:33
Причина редактирования: Установка тегов кода
Подняться вверх 
 
Сообщение #1
 
Новая тема 
Ответов (1 - 3)
European
Вставить ник
сообщение 2:04:2008, 07:59
Цитата Ответить 


Божественный
*****

Группа: Модеры
Сообщений: 1 816
Регистрация: 4:09:2006
Из: Минск
Пользователь №: 6 316
Специализация: C++



Репутация: - 31 +


Если нужна самопальная подсветка, то нужно использовать более сложные алгоритмы поиска ключевых слов, т.к. они должны располагаться между символами-"разделителями", такими как ";", пробел, конец строки, символы комментариев и т.д.
Если самому писать не нужно, то можно воспользоваться готовыми компонентами, например SynEdit
Подняться вверх 
 
Сообщение #2
vitalya777
Вставить ник
сообщение 2:04:2008, 10:59
Цитата Ответить 


Новенький
*

Группа: Программист
Сообщений: 14
Регистрация: 10:03:2008
Пользователь №: 15 761



Репутация: - 0 +


выкладите хотя бы кокой-то пример, бо у меня ну никак не получается! Заранее спасибо!
Подняться вверх 
 
Сообщение #3
European
Вставить ник
сообщение 2:04:2008, 11:18
Цитата Ответить 


Божественный
*****

Группа: Модеры
Сообщений: 1 816
Регистрация: 4:09:2006
Из: Минск
Пользователь №: 6 316
Специализация: C++



Репутация: - 31 +


Цитата(vitalya777 @ 2:04:2008 - 12:59) *
выкладите хотя бы кокой-то пример

http://www.google.ru/search?q=реализовать+...таксиса+С%2B%2B
Подняться вверх 
 
Сообщение #4


Быстрый ответ  Ответить  Новая тема 

> Быстрый ответ
Полужирный
Курсив
Подчеркнутый
Вставить изображение
Смайлики
Цитата
Код
 
 Отправлять уведомления об ответах на e-mail |  Включить смайлики |  Добавить подпись
   

 

RSS Текстовая версия Сейчас: 17:05:2008 - 10:54
с нами можно связаться по:
телефону: +375-(29)-632-60-67
e-mail:info@codeby.net