![]() |
Модераторы: Vitalik |
![]() ![]() ![]() |
|
navykeds |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 16.3.2006 Репутация: 3 Всего: 3 |
А как скоро ожидается переход на парсер от Quadr0?
P.S: и чем не устраивал делфийский? ![]() |
|||
|
||||
Vitalik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Как только я или Quadr0 реализуем возможность считывания всяких там &qt; и 
 ![]() Во-первых, многие нарекают на его "медленность" Во-вторых, в Delphi 5 и C++ Builder 5 его нет и в помине, а в C++ Builder 6 мне его подключить нормально не удалось.. ![]() |
|||
|
||||
navykeds |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 16.3.2006 Репутация: 3 Всего: 3 |
Ну медленность, в данном случае, понятие субъективное. С переходом на SimpleXML какого-либо прироста скорости я не увидел. По-поводу C++ Bulder 5/6 и Delphi 5: с таким же успехом можно пытаться прикручивать поддержку Delphi 1 ![]() Вытекающее из всего этого: действительно ли так нужен собственный парсер, если есть уже готовый, оттестированный, с документацией и т.д. и т.п.? Дабы пояснить, почему возник сей вопрос: дело в том, что лично я уже использую делфийский парсер (со времен когда компонент работал именно с ним), под него написана значительная часть кода и переделывать все заново было бы весьма утомительно, а главное безцельно. Возможно, имеет смысл сделать поддержку встроенного парсера и по необходимости переключаться на него директивой? |
|||
|
||||
Vitalik |
|
||||||||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
По поводу не-"медлительности" стандартного парсера я частично с тобой согласен и поэтому мы его использовали в UniHighlighter 2.0a..
Но для компонента было бы полезно поддерживать не только Delphi 6 и Delphi 7, но еще хотя бы Delphi 5. Плюс также как у тебя симпатия к этому парсеру, у некоторых, к сожалению, антипатия. Поэтому ответ на вопрос
А вот на счет этого:
Вот только пока не решил как лучше это реализовать. Пока что вижу два варианта: 1). Остановиться на достигнутом и просто сделать дублирующие файлы SynUniFormatNativeXml*.pas, которые будут написаны для нужных xml-парсеров. Для того чтобы использовать другой парсер нужно будет просто заменить эти файлы на альтернативные. 2). Сделать как-нибудь возможность использования в файлах SynUniFormatNativeXml*.pas какого-нибудь абстрактного парсера, методы которого можно было бы обучать работе с нужным конкретным парсером. Такой подход избавил бы от не обходимости обновления всех файлов SynUniFormatNativeXml*.pas при исправлении каких-то ошибок или при добавлении новых возможностей или еще при каких-нибудь таких событиях.. |
||||||||
|
|||||||||
navykeds |
|
|||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 16.3.2006 Репутация: 3 Всего: 3 |
По-поводу поддержки разных сред: это я к тому, что поддерживать можно, иногда нужно и полезно, но это не должно мешать развитию компонента. Насчет реализации поддержки обоих типов парсера: второй вариант, конечно, правильнее. Но тут уже решать тебе, желательно принимая в расчет время работы над разными вариантами ![]() Впрочем, лично мне, заменить несколько файлов не сложно. Совершенно. P.S: как же тут быстро цитировать отдельные куски сообщения? Это сообщение отредактировал(а) navykeds - 26.7.2006, 23:56 |
|||
|
||||
Quadr0 |
|
|||
Unregistered |
...
Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 11:47 |
|||
|
||||
Vitalik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
А что это за часть кода, если не секрет? ![]() Расскажешь подробнее? Выделяешь текст в сообщении, а потом щелкаешь по кнопке-картинке "Быстрая цитата" сверху сообщения ![]() |
|||
|
||||
navykeds |
|
||||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 16.3.2006 Репутация: 3 Всего: 3 |
Да, свой нужен, не спорю. А если поддерживать оба, то будет совсем замечательно ![]() Быстрая работа с файлами подсветки, считывание нужных значений.
В IE работает, в Опере (9) не очень ![]() |
||||
|
|||||
Vitalik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Очень интересно ![]() А примерчик кода не приведешь?.. Я думаю это было бы полезно ![]() Я сам Оперой пользуюсь, и все прекрасно работает ![]() А что оно тебе при этом говорит? |
|||
|
||||
navykeds |
|
||||
Новичок Профиль Группа: Участник Сообщений: 36 Регистрация: 16.3.2006 Репутация: 3 Всего: 3 |
Сожалею, нет ![]()
Иногда говорит, что я воспользовался кнопкой цитирования другого участника. Сейчас под Оперой, раза с третьего цитату вставило. |
||||
|
|||||
Vitalik |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
Может тогда на мыло? Если не жалко ![]() А что ты там такое разрабатывашь? Ссылочкой не поделишься? ![]()
Ну эт правильно ![]() Просто нужно жать именно на ту кнопку "Быстрая цитата", которая соответствуюет выделенному сообщению (находится сверху от него) ![]() |
||||
|
|||||
Vitalik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
УРА! Наконец-то реализовал эту возможность! ![]() Ниже расскажу идею.. Есть файл SynUniXmlParserInterface.pas содержащий классы для "абстрактного" xml-парсера. Файл SynUniXmlParser.pas содержит классы-наследники от "абстрактного" парсера и соответственно реализацию всех методов под нужный парсер. Если нужно использовать нестандартный xml-парсер, то нужно написать свой файлик SynUniXmlParser.pas и перекрыть нужные методы "абстрактного" парсера из SynUniXmlParserInterface.pas. Были разработаны файлы SynUniXmlParser.pas для стандартного делфийского xml-парсера, для xml-парсера SimpleXml и для xml-парсера от Quadr0. Файлы называются соответственно: SynUniXmlParser_XmlDocument.pas, SynUniXmlParser_SimpleXml.pas, SynUniXmlParser_YZXmlParser.pas. Чтобы использовать нужный xml-парсер надо просто переименовать соответствующий файл в SynUniXmlParser.pas. Так пойдет или лучше реализовать как-нить покрасивее? ![]() |
|||
|
||||
Sep. |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 109 Регистрация: 22.7.2004 Репутация: 6 Всего: 6 |
А не реально устроить сравнительное тестирование парсеров? =) И самый быстрый пусть по умолчанию уже будет переименованный.
(Хотя в лидере никто не сомневается =)) --------------------
Syn - TotalCommander lister plugin | SynTree - coders sourcebook |
|||
|
||||
Vitalik |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Координатор проекта Сообщений: 653 Регистрация: 8.11.2004 Где: Ukraine, Kharkov Репутация: 9 Всего: 12 |
||||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |