IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Дельфи компонент для подкраски синтаксиса
сообщение
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 156
Пол: Мужской

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


Результат совместной работы Fanasist'а и меня. Это компонент для Дельфи для известного пакета SynEdit (http://synedit.sourceforge.net), позволяющий на лету создавать подкраску синтаксиса по любым правилам любых форматов (создание и загрузка в run-time, хранение шаблонов на диске). В настоящее время пакет включает в себя более 300 готовых шаблонов для наиболее распространённых форматов, но каждый может создать свой собственный шаблон (можно с помошью компонента или используя прилагающуюся утилиту). Пример использования - простенький текстовый редактор с поддержкой любых расскрасок.

Загрузить можно с:
http://chicago.lastplanet.com/unihighlighter.zip

Платформа: Delphi 5/6

Для работы необходимо установить предварительно установить пакет SynEdit (http://synedit.sourceforge.net).

Компонент свободен для распространения и поставляется с исходными кодами.

Логика работы:

Для подкраски синтаксиса необходимо предусмотреть следующие правила:
1) расскраска всего кода в промежутке от одного слова до второго - например комментарии /*...*/ или строки "...."
2) расскраска ключевых слов

Это реализовано, кроме того бывают ситуации когда промежуток должен быть расскрашен по другому с другими правилами например ASP код внутри HTML или ассемблерные вставки внутри Дельфи - это тоже реализовано тем что внутри промежутка можно использовать свои правила и промежутки. Вложенность не лимитирована.


Ждём комментариев.


Всем кому интересно, я создал форум для обсуждения компонента, правда сообщения писать только на английском, там уже идёт дисскуссия с авторами проекта SynEdit:

http://www.delphist.com/forum/


--------------------
With the best regards Vit

Все всегда уезжают навсегда. Вернуться невозможно-вместо нас всегда возвращается кто-то другой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Adminь
****

Группа: Пользователи
Сообщений: 803
Пол: Мужской
Реальное имя: Евгений

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


Чтож, посмотел, круто...
Кстати успешно компилируется в D7...
Я давно пользуюсь компонентами SynEdit...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Adminь
****

Группа: Пользователи
Сообщений: 803
Пол: Мужской
Реальное имя: Евгений

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


Первый глюк.
Уж не знаю чей, но привожу пример php кота, который обрабатывается некорректно
$MENUSCRIPT = "$DOCUMENT_ROOT/pages/left.php";
$PAGEVAR["new"] = "<img src="/pic/new.gif" width=30 height=17 border=0>";
$CGI = eregi("CGI", $GATEWAY_INTERFACE);
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Бывалый
***

Группа: Пользователи
Сообщений: 156
Пол: Мужской

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


Это не глюк компонента, а недоработка шаблона для расскраски PHP, просто надо добавить в Range, который описывает строки, список ключевых слов, и в него положить одно слово " - тогда оно будет распознаваться правильно. Открой програмку UniEdit и попробуй разобраться с логикой работы Highlighter - там правила описания формата достаточно мощные, чтобы описать 99% форматов, но конечно бывают особо замороченные случаи... В общем-то смысл компонента не в прилагаемых шаблонах, а в том что можно с лёгкостью изготовить свой собственный шаблон или исправить мой, так чтобы полностью отвечал твоим нуждам.


--------------------
With the best regards Vit

Все всегда уезжают навсегда. Вернуться невозможно-вместо нас всегда возвращается кто-то другой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Всем привет! rolleyes.gif

Собственно хочу сказать, что за эти два года многое по поводу компонента изменилось :yes:

Во-первых, всем добро пожаловать на новый сайт компонента: http://www.unihighlighter.com

Во-вторых, с тех пор были выпущены UniHighlighter версии 1.5, 1.8 и совсем недавно 2.0 alpha (обо всём этом можно прочитать на сайте) ;)

Ну и, в-третьих, наконец-то был создан русскоязычный форум по этому компоненту: http://forum.vingrad.ru/index.php?showforum=170 (он уже функционирует почти год и собрал в себе 87 тем и 692 сообщения)

Если будут возникать вопросы/предложения - пишите сюда или (что даже лучше) на официальный форум компонента :yes:

Спасибо за внимание! :D
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.10.2020 11:37
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name