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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Я хочу использовать компонент. Как? Установка и минимальные приёмы работы 
:(
    Опции темы
Vitalik
  Дата 10.11.2004, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

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



Компонент SynUniHighlighter предназначен для подсветки текста. Для его работы необходима библиотека компонентов SynEdit, а также компонент XmlParser

Итак, что нужно сделать, чтобы начать использовать компонент?

Цитата
1. Скачать библиотеку компонентов SynEdit. Можете качать любую версию. Я лично предпочитаю CVS-версии, так как они самые последние. Возможно вам достаточно будет скачать последнюю бету.
2. Распаковываем только что скачанный архив в какую-нибудь папку. Для условности будем называть её %SynEdit%
3. Открываем настройки Delphi: Tools » Environment options » Library » Library path » [...] » [...], выбираем папку %SynEdit%\Source\. Нажимаем Add, OK, OK.
4. Открываем нужный пакетный файл из папки %SynEdit%\Packages\. Например, если у вас Delphi 6, то имя нужного пакетного файла будет SynEdit_D6.dpk.
5. Нажимаем кнопку Compile.
6. Нажимаем кнопку Install.
7. Закрываем пакетный файл, не сохраняя изменения.


Теперь те же шаги нужно проделать еще для двух компонентов.
Во-первых, для XmlParser. Это компонент для быстрого считывания xml-файла.
Во-вторых, собственно для SynUniHighlighter (или SynUniSyn).

Начнём с XmlParser - он поставляется вместе с последними версиями SynUniHighlighter'a.

Цитата
1. Если вдруг оказалось, что у вас нет компонента XmlParser, то его можно скачать здесь.
2. Открываем настройки Delphi: Tools » Environment options » Library » Library path » [...] » [...], выбираем папку, куда мы распаковали XmlParser. Нажимаем Add, OK, OK.
3. Открываем нужный пакетный файл из папки c XmlParser. Например, если у вас Delphi 6, то имя нужного пакетного файла будет XmlComponents_D6_D7.dpk.
4. Нажимаем кнопку Compile.
6. Нажимаем кнопку Install.
6. Закрываем пакетный файл, не сохраняя изменения.


Теперь перейдём собственно к установке SynUniHighlighter. Она ничем не отличается от установки предыдущих двух компонентов.

Цитата
1. Скачиваем где-нибудь SynUniHighlighter.
2. Открываем настройки Delphi: Tools » Environment options » Library » Library path » [...] » [...], выбираем папку, куда мы распаковали SynUniHighlighter. Нажимаем Add, OK, OK.
3. Открываем нужный пакетный файл из папки c SynUniHighlighter. Например, если у вас Delphi 6, то имя нужного пакетного файла будет SynUniSyn_D6.dpk.
4. Нажимаем кнопку Compile.
5. Нажимаем кнопку Install.
6. Закрываем пакетный файл, не сохраняя изменения.


Вот и всё! smile
Теперь можете кидать на форму компоненты со страницы SynEdit и экспериментировать. Если кому-нибудь интересно, могу описать основные прийомы работы с компонентом SynUniSyn smile

Это сообщение отредактировал(а) Vitalik - 8.3.2005, 14:48
PM MAIL WWW ICQ YIM   Вверх
P@VeL
Дата 11.11.2004, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 11.11.2004
Где: Украина, Крым

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



Здравствуйте!

Я уже давно пользуюсь плагином к Total Commander'у SynPlus, который использует данный компонент. А вот теперь решил сам использовать этот компонент.

Поэтому было очень интересно услышать об основных прийомах работы с компонентом. smile

Спасибо!

PM MAIL ICQ   Вверх
Vitalik
Дата 11.11.2004, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

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



Здравствуйте, P@VeL.

А что за программу Вы пишете? smile

Могу дать пару простых первых уроков. Так сказать для быстрого старта smile

Урок 1 (статическое использование компонента подсветки)

1. Кидаем на форму компонент TSynEdit со страницы SynEdit
  1.1 Устанавливаем его свойство Align в True
  1.2 В свойство Lines вводим произвольный текст. Например, "SynEdit1 Sample {Some text}" smile
2. Кидаем на форму компонент TSynUniSyn со страницы SynEdit
  2.1 Двойной щелчок по компоненту и начанаем добавлять какие-нибудь правила. Например, Add Keywords, 'SynEdit1', 'Sample', Add range, From = '{', To = '}'.
3. На данный момент нужно после каждого изменения SynUniSyn нужно еще как-нибудь изменить форму, чтобы изменения в SynUniSyn сохранились. (Это баг)
4. Устанавливаем у SynEdit1 свойство Highlighter равным SynUniSyn1

Урок 2 (динамическое создание компонента подсветки)

1. Кидаем на форму компонент TSynEdit со страницы SynEdit
  1.1 Устанавливаем его свойство Align в True
  1.2 В свойство Lines вводим произвольный текст. Например, "SynEdit1 Sample {Some text}" smile
2. Добавляем в uses ссылки на модули SynUniHighlighter и SynUniRules
3. Добавляем в раздел public формы объявление SynUniSyn1:
Код
 public
   { Public declarations }
   SynUniSyn1: TSynUniSyn;
4. Кидаем на форму меню, добавляем новый пункт меню и в его обработчике пишем:
Код
procedure TForm1.MenuItemClick(Sender: TObject);
var
 SynKeyList: TSynKeyList;
 SynRange: TSynRange;
begin
 { Наш компонент подсветки }
 SynUniSyn1 := TSynUniSyn.Create(Self);

 { Правило "Список ключевых слов" }
 SynKeyList := TSynKeyList.Create('');
 { Название правила }
 SynKeyList.Name := 'Example';
 { Добавляем список слов }
 SynKeyList.KeyList.Add('SynEdit1');
 SynKeyList.KeyList.Add('Sample');
 { Атрибуты правила }
 SynKeyList.Attribs.Foreground := clBlue;
 SynKeyList.Attribs.Background := clWhite;
 SynKeyList.Attribs.Style := [fsBold];
 { Добавляем правило в дерево правил компонента }
 SynUniSyn1.MainRules.AddKeyList(SynKeyList);

 { Правило "Диапазон" }
 SynRange := TSynRange.Create('{', '}');
 { Название правила }
 SynRange.Name := 'Remarks';
 { Атрибуты правила }
 SynRange.Attribs.Foreground := clGray;
 SynRange.Attribs.Background := clWhite;
 SynRange.Attribs.Style := [fsItalic];
 { Добавляем правило в дерево правил компонента }
 SynUniSyn1.MainRules.AddRange(SynRange);

 { Устанавливаем наш компонент для SynEdit в качестве используемой подсветки }
 SynEdit1.Highlighter := SynUniSyn1;
end;


Урок 3 (Вызов визуального редактора подсветки)

1. Берём в качестве отправной точки любой из предыдущих примеров.
2. Добавляем в uses ссылку на модуль SynUniDesigner
3. Добавляем новый пункт меню и в его обработчике пишем:
Код
procedure TForm1.MenuItem2Click(Sender: TObject);
begin
 { Если компонент не создан, то выходим из процедуры }
 if SynUniSyn1 = nil then Exit;
 { Запуск визуального редактора подсветки }
 TSynUniDesigner.EditHighlighter(SynUniSyn1, 'Form title', 'LangFile.lng')
end;


Урок 4 (Загрузка правил подсветки из файла)

1. Берём в качестве отправной точки любой из предыдущих примеров.
2. Кидаем на форму компонент TOpenDialog со страницы Dialogs
3. Добавляем новый пункт меню и в его обработчике пишем:
Код
procedure TForm1.MenuItem3Click(Sender: TObject);
begin
 { Если компонент не создан, то выходим из процедуры }
 if SynUniSyn1 = nil then Exit;
 { Запускаем диалог открытия файла }
 if OpenDialog1.Execute then
   { Если файл подсветки был выбран, загружаем его в наш компонент }
   SynUniSyn1.LoadFromFile(OpenDialog1.Filename);
end;

PM MAIL WWW ICQ YIM   Вверх
P@VeL
Дата 11.11.2004, 22:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 7
Регистрация: 11.11.2004
Где: Украина, Крым

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



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

ЗЫ Спасибо за инфу smile
PM MAIL ICQ   Вверх
Vitalik
Дата 12.11.2004, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

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



Если будет нужна помощь - обращайся smile

Эта тема специально создана для того, чтобы обсуждать здесь проблемы установки компонента и минимальные приёмы работы с ним smile

Это сообщение отредактировал(а) Vitalik - 12.11.2004, 12:42
PM MAIL WWW ICQ YIM   Вверх
Kordub
Дата 22.2.2005, 14:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Не устанавливается пакет версии 1.8 - ошибка при компиляции
File not found: 'DsgnIntf.dcu'. У меня Delphi 7. Правда, устанавливается старая версия SynUniSyn, но она не работает с компонентом SynEdit. Т. е. если присвоить свойство
Код

SynEdit1.Highlighter := SynUniSyn1;

никакой подсветки нет
PM MAIL   Вверх
Vitalik
Дата 22.2.2005, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

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



Цитата(Kordub @ 22.2.2005, 14:24)
Не устанавливается пакет версии 1.8 - ошибка при компиляции
File not found: 'DsgnIntf.dcu'. У меня Delphi 7.

Давай обсудим это в теме "Под Delphi 7 и Delphi 2005 не устанавливается!"
Повтори там твоё сообщение, пожалуйста.

Цитата(Kordub @ 22.2.2005, 14:24)
Правда, устанавливается старая версия SynUniSyn, но она не работает с компонентом SynEdit. Т. е. если присвоить свойство
Код
SynEdit1.Highlighter := SynUniSyn1;
никакой подсветки нет

Очень странно! У меня работали обе версии, и работали правильно...
Давай это обсудим в той же теме, хорошо?
PM MAIL WWW ICQ YIM   Вверх
Guest
Дата 12.11.2005, 18:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Привет всем! У меня не устанавливается SynEdit. smile Что для этого нужно?


  Вверх
Vitalik
Дата 14.11.2005, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

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



Цитата(Guest @ 12.11.2005, 18:45)
Привет всем! У меня не устанавливается SynEdit.  Что для этого нужно?

Какую версию SynEdit и на какую версию Delphi или C++ Builder вы ставите?..
Что за ошибку выдаёт при установке?..
PM MAIL WWW ICQ YIM   Вверх
Guest
Дата 5.12.2005, 21:06 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Уважаемые, ставлю SynEdit v. 2.01b на Дельфи 7, потом Unhighlighter v 2.0a full и при компиляции unhighliter Дельфи ругается следующим образом : [Fatal Error] SynUniHighlighter.pas(35): File not found: 'SynEditCodeFolding.dcu' Я так понял, что версия СинЕдит древняя.
  Вверх
Гость_Fel
Дата 5.12.2005, 23:01 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Так, с этим разобрался, тебя ругается вот как

Range.Attributes.Name := 'New';
--
[Error] SynUniHighlighter.pas(160): Cannot assign to a read-only property
  Вверх
Vitalik
Дата 6.12.2005, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

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



Прочитай обо всём этом здесь: "UniHighlighter 2.0 - Установка компонента" smile
PM MAIL WWW ICQ YIM   Вверх
Гость_Fel
Дата 6.12.2005, 20:39 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Если избавляться от этой проблемы следующим образом:

{$I SynEdit.inc}
{$DEFINE CODEFOLDING}
//{$DEFINE PROTECTED_ATTRIBUTES} //comment
//{$DEFINE WRITABLE_ATTRIBUTE_NAME} //comment

то при двойном щелчке по SynUniSyn выскакивает следующее сообщение:

Sorry, this feature isn't implemented yet

:/ И что же делать?
  Вверх
Guest
Дата 6.12.2005, 20:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











И еще как удалить установленный анхайлайтер?
  Вверх
Vitalik
Дата 6.12.2005, 22:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

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



Цитата
то при двойном щелчке по SynUniSyn выскакивает следующее сообщение:
Sorry, this feature isn't implemented yet

Это действительно так. По ряду причин эта фича в UniHighlighter 2.0 Alpha не реализована.

Цитата(Guest @ 6.12.2005, 20:48)
И еще как удалить установленный анхайлайтер?

Не анхайлайтер, а унихайлайтер smile

А удаляется он обычно:
  • Удаляем из списка в "Install packages"
  • Удаляем путь из Library path
  • Удаляем файлы SynUni*.* из папки %Delphi%\Projects\Bpl

PM MAIL WWW ICQ YIM   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема »


 




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


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

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