Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > SynUniHighlighter и SynEdit > О проекте |
Автор: Vit 8.11.2004, 05:16 |
Проект - разработка компоеннта для подкраски любого синтаксиса для Дельфи. Такой компонент создан трудами Fantasist, Vitalik, и меня. В настоящее время идёт его доработка и усовершенствование. Компонент абсолютно бесплатный и с полными исходниками! Вы можете уже сейчас брать его и использовать в любых своих приложениях, в том числе и коммерческих, а можете помогать нам в дальнейшей его разработке! |
Автор: Vitalik 8.11.2004, 14:14 |
Всем, всем, всем: Здесь вы можете задавать вопросы о проекте. То есть вопросы типа "что это такое и с чем его едят?" А сейчас я попробую вкратце описать идею и назначение компонента SynUniHighlighter... Существует такая библиотека компонентов, как http://sourceforge.net/projects/synedit/. Это большая коллекция разнообразных компонентов для работы с текстом. Основными возможностями этой библиотеки являются удобный редактор текста, возможность подсветки заданного синтаксиса, поиск и замена, экспорт в RTF и HTML, автозамена и многое другое... Но! SynEdit для подсветки использует только зашитые в него схемы, то есть то, что может подсвечивать SynEdit определяется до компиляции, а готовой программе этого изменить уже будет нельзя. Данный компонент SynUniHighlighter представляет собой универсальную подсветку для SynEdit, позволяющую менять себя динамически (во время выполнения программы). Плюс обладает полезными возможностями. Такими как, сохранение/загрузка подсветки на диск, удобный визуальный редактор дерева правил подсветки, импорт из других форматов подсветки (пока поддерживаются EditPlus и UltraEdit) и многое другое. Задумки очень большие и мы надеемся на вашу помощь при разработке этого проекта ![]() Спасибо за внимание! |
Автор: Vit 9.11.2004, 06:56 |
Очень кратко и упрощённо реализованная идея: Принцип такой - есть объект Range - это текст от какого-то символа до какого-то. Он имеет свойства - цвет, наклон, фон и т.п. Внутри может содержать либо другие Range либо списки ключевых слов... Возьмём на примере Дельфи: Вся программа это root-Range - от начала до конца, цвет чёрный, фон белый... Комментарии {} описываются как вложенный Range от { до }. Комментарии // описываются как вложенный Range от // до конца строки Строки описываются как вложенный Range от ' до '. Зарезервированные слова - список в root-Range Вложенный ассемблер - вложенный Range от Asm до End и у же внутри этого вложенного Range определены свои строки, списки ключевых слов и т.п. Это в самом простом виде... Вложенность этих Range неограниченная... |
Автор: En_t_end 14.1.2005, 18:55 |
А можно вопрос ? Какая от этого практическая польза ? Я имею в виду, разве в уже существующих компиляторах для Дельфи нет подсветки синтаксиса ? |
Автор: Vitalik 14.1.2005, 19:27 | ||||
Конечно можно ![]() ![]()
Этот компонент можно использовать, если нужно написать СВОЙ текстовый редактор с подсветкой синтаксиса. Например, вместо TMemo кидаешь на форму TSynEdit и теперь загружаемый текст можно не просто отображать, но еще и подсвечивать (по заданным шаблонам (схемам подсветки)). Например, берём компонент TSynPasSyn - кидаем на форму, связываем с TSynEdit и теперь текст в TSynEdit подсвечивается как исходники на Delphi ![]() Добавлено @ 19:27 А TSynUniHighlighter позволяет создавать ПРОИЗВОЛЬНЫЕ схемы подсветки ![]() |
Автор: Vitalik 19.9.2005, 16:30 | ||
|
Автор: igoreka 16.4.2009, 07:13 |
Добрый день А есть ли описание компонентов SynUniHighlighter и SynEdit и т.д. (В инете искал) примеры только на делфи (пишу на С++) просто хотелось бы какую то литературу или что то вроде описания заранее благодарен |