Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > SynUniHighlighter и SynEdit > Ключевое слово по маске


Автор: Alex_C 8.10.2006, 18:06
Возможно ли создать для ключевого слово в SynEdit по определенному правилу, н-р 1 знак - буква, 2-цифра, 3-снова буква.
Т.е. слово "а1в" - будет подсвечено? Если можно - по подробнее, только в этом компоненте начал разбираться. 

Автор: Seldon 9.10.2006, 01:15
afaik, сейчас в SynUni такое реализовать нельзя. поддержка регэкспов планируецца вроде бы в следующих версиях.

Автор: Alex_C 9.10.2006, 10:07
А вот мне на одном форуме сказали что это можно реализовать подправив файлик SynMemo.pas, в котором содержаться события EM*****, вроде как специально для этого предназначенные, только вот более подробно ничего не сказали.  smile 
Может кто хоть более-менее подробно об этом рассказать?

Автор: Seldon 10.10.2006, 23:47
эээ, я конечно не знаю  что они тебе сказали, но EM_ тут ни к селу не к городу имхо.

у меня есть код, делающий что-то вроде того, что нужно тебе. но его перед тем как вылаживать нужно подправить. время сделать это у меня скорее всего появицца только на выходных... как подправлю - выложу.

Автор: Alex_C 11.10.2006, 08:50
А вот еще такой вопрос - динамически во время работы программы можно добавлять keywords, или только то, что зашито при компиляции можно использовать? Вроде опять же - на коком-то форуме читал что можно, а вот на вервой странице SynUniHighlighter написано, что нельзя, для этого и нужно использовать SynUniHighlighter. А у меня просто задача достаточно простая, вот и не хочется отягощать прогу дополнительными компонентами.

Автор: Alex_C 11.10.2006, 09:11
Сам ответил на этот вопрос - можно!
Используя  SynGeneralSyn - можно во время работы добавлять keywords!
Вот пример рабочий: 
SynGeneralSyn1.KeyWords.Add( 'hello' );
SynEdit1.Repaint;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)