Модераторы: Vitalik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работающая версия компонента UniHighLighter здесь! Нашел и выкладываю, работающую версию 
:(
    Опции темы
StranikS
Дата 28.5.2013, 19:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.2.2006

Репутация: 1
Всего: 2



В связи с тем, что проект UniHighLighter приказал долго жить и данная секция форума по сути находится в летаргическом состоянии, то, как следствие, здесь нет ни файлов ни рабочих ссылок. Поэтому потратив пару дней уже неделю, я все же нашел насобирал рабочих исходников, которые ниже и привожу. Архивы запакованы 7-zip c LZMA2, распаковывать через 7-zip 9.20 или WinRaR 4.10 или более новые их версии

Компоненты для старых не юникодовых версий Delphi:
  • Пакет подсветки синтаксиса SynEdit 2.0.6 - скачать (найден мной тут, последний раз обновлялся 11.07.2007).
  • Компонент UniHighLighter:
    • Версия 1.0 с примерами и старым редактором *.hgl файлов - скачать (точная версия не известна, файлы датируются 2003/02/01, авторы Fantasist и Vit, не распознает *.hgl файлы более поздних версий).
    • Версия 1.8 с поддержкой xml-формата *.hgl файлов - скачать (файлы датируются 2004/08/14, авторы Fantasist, Vit и Vitalik, требует предварительной установки XML-парсера из папки \UniHighLighter\XMLParser).
    • Версия 2.0.X, но думаю что это 2.0.4b, идет со встроенной поддержкой xml-формата *.hgl файлов - скачать (файлы датируются 2006/07/19, авторы Fantasist, Vit, Vitalik и Quadr0, парсер xml-файлов уже встроен).
  • База *.hgl файлов для подсветки 332 разных языков и их вариаций - скачать (файлы не xml-формата, также там лежит редактор highlights.exe для их редактирования).
Компоненты для юникодовой Delphi 2009:
  • Пакет подсветки синтаксиса UniSynEdit Delphi2009 - скачать (найден мной тут на форуме).
  • Портированная под юникод версия компонента UniHighLighter 2.0.4b - скачать (найдена там же).
И отдельно выкладываю почивший в бозе проект китайского программиста по доработке компонентов пакета SynEdit со встроенным UniHighLighter и кодфолдингом из проекта Mystix
  • Пакет SynEditStudio 5.8Fix3 - скачать (последнее обновление конец 2008 года, совместим со всеми Delphi начиная с Delphi5 до Delphi2009, в этом пакете есть все элементы из TSynEdit c поддержкой указанных выше функций и встроенным UniHighLighter 2.0.4b, однако ключевым моментом пакета является новый компонент TSynEditor - это полнофункциональный редактор на базе простого TSynEdit, имеет встроенные функции поиска, замены, подсветки, проверки орфографии и содержит уже готовые формы для этого и вспомогательные компоненты, но.... вот тут то и косячек, на эти формах надписи на китайском как результат видим '???', потому если им пользоваться, то нужно при установки пакета все формы отредактировать и привести в нужный вам вид. В принципе им можно и не пользоваться, а брать как и раньше просто TSynEdit и другие компоненты иже с ним.).
  • Так же в архиве идут наборы подсветок версии 2.0 в формате XML с поддержкой кодфолдинга! Редактировать файлы и делать новые можно с помощью редактора Highlighters\UniEdit.exe, у него главная форма на китайском, но сам редактор родной на английском.
Пример установки на Delphi 6.0 (6.0.240) Update Pack 3 последней версии пакетов (на другие версии ставить не пробовал):
  • Распаковываем в Projects\Bpl\ архивы SynEdit 2.0.6.7z и UniHighLighter 2.0.4b for SynEdit.7z
  • Добавляем пути к папкам \SynEdit\Source\ и \UniHighLighter\Component Source\ в окружение среды (Tools - Environment Opt - Library - Library Path - ...)
  • Открываем файл \SynEdit\Packages\SynEdit_R7.dpk. Компилируем, закрываем не сохраняя.
  • Открываем файл \SynEdit\Packages\SynEdit_D7.dpk. Компилируем, инсталлим, закрываем не сохраняя.
  • Теперь ставим \UniHighLighter\SynUniSyn_D7.dpk.
  • Проверяем, кидаем на форму из вкладки SynEdit компоненты SynEdit и SynUniSyn, затем в обработчике создания формы прописываем:
    Код

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    SynEdit1.Highlighter:=nil;
    SynUniSyn1.MainRules.Reset;
    SynUniSyn1.MainRules.clear;
    SynUniSyn1.LoadFromFile('<любой hgl-файл>');
    SynEdit1.Highlighter:=SynUniSyn1;
    end;
Все файлы по ссылкам можно скачать здесь.

Это сообщение отредактировал(а) StranikS - 19.2.2018, 18:50
PM MAIL   Вверх
StranikS
Дата 26.7.2013, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.2.2006

Репутация: 1
Всего: 2



С моими результатами применения компонентов из китайского пакета SynEditStudio 5.8Fix3 на Delphi 6.0 (6.0.240) Update Pack 3 можно
ознакомиться тут. Это проект текстового редактора XCPad, для редактирования конфиг-файлов XVM-мода игры WorldOfTanks.

Это сообщение отредактировал(а) StranikS - 28.4.2014, 14:37
PM MAIL   Вверх
Sanchezzz
Дата 28.8.2013, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: нет
Всего: 60



Создайте лучше репозиторий на Gidhub что бы с бедо-хостингов опять не потерять.


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Samotnik
Дата 15.9.2013, 03:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: нет
Всего: 191



кто здесь?  smile 
PM MAIL   Вверх
MassDefect
Дата 8.10.2013, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 8.10.2013

Репутация: нет
Всего: нет



Спасибо за кучку ссылок на мёртвый проект. Версия для Delphi 2009 не завелась на XE2. Пытаюсь реанимировать. Судя по исходникам, компонент даже не пытались подогнать под юникод: файлы hgl сохраняются/грузятся потоком без разбора, анси кодировка там или юникод; один только этот код:
Код

 //Fill remaining table
 for i:=0 to 255 do
 if SymbolList[char(i)]=nil then
 begin
  if  char(i) in fTermSymbols then
    SymbolList[char(i)]:=fDefaultTermSymbol
  else
  if char(i) in ['0'..'9'] then
    SymbolList[char(i)]:=fNumberSymbol
  else
    SymbolList[char(i)]:=fDefaultSymbols;
 end;

кричит "я работаю только с ANSI !".
В общем, если и лечить компоненту, то только почти полным переписанием, над чем сейчас и работаю (пока переписал только загрузку/сохранение hgl-файлов, разбираюсь что там и как устроено).

Ну а зачем я за это взялся? Мне нужна подсветка с довольно сложными и, в некоторых местах, динамически меняющимися правилами.

Может зря я это всё делаю и есть какой-то "живой", работающий на XE вариант компонента подсветки синтаксиса?
PM MAIL   Вверх
StranikS
Дата 15.10.2013, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 1.2.2006

Репутация: 1
Всего: 2



Цитата(MassDefect @ 8.10.2013,  11:11)
Судя по исходникам, компонент даже не пытались подогнать под юникод

Может зря я это всё делаю и есть какой-то "живой", работающий на XE вариант компонента подсветки синтаксиса?

Конечно, нет там ни какого юникода, компонент разрабатывался до юникод-бума, а потом когда он случился не нашлось ни кого что бы начать всю работу за нова, но под юникод.

Да, т.е., нет - в реальности аналогов этого компонента просто нет. Если переписываете под юникод, то за исходник берите версию из китайского пакета, она самая последняя и жила до 2009 г. если не ошибаюсь. Там версия hgl вроде 2.1 с поддержкой кодфолдинга
, встроено сворачивание кода и море багов пофиксено...  

Это сообщение отредактировал(а) StranikS - 15.10.2013, 15:12
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема »


 




[ Время генерации скрипта: 0.1329 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.