Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > SynUniHighlighter и SynEdit > Вопросы и предложения по xml-парсеру для компонента |
Автор: navykeds 25.7.2006, 20:27 |
А как скоро ожидается переход на парсер от Quadr0? P.S: и чем не устраивал делфийский? ![]() |
Автор: Vitalik 26.7.2006, 17:38 |
Как только я или Quadr0 реализуем возможность считывания всяких там &qt; и 
 ![]() Во-первых, многие нарекают на его "медленность" Во-вторых, в Delphi 5 и C++ Builder 5 его нет и в помине, а в C++ Builder 6 мне его подключить нормально не удалось.. ![]() |
Автор: navykeds 26.7.2006, 21:10 | ||
Ну медленность, в данном случае, понятие субъективное. С переходом на SimpleXML какого-либо прироста скорости я не увидел. По-поводу C++ Bulder 5/6 и Delphi 5: с таким же успехом можно пытаться прикручивать поддержку Delphi 1 ![]() Вытекающее из всего этого: действительно ли так нужен собственный парсер, если есть уже готовый, оттестированный, с документацией и т.д. и т.п.? Дабы пояснить, почему возник сей вопрос: дело в том, что лично я уже использую делфийский парсер (со времен когда компонент работал именно с ним), под него написана значительная часть кода и переделывать все заново было бы весьма утомительно, а главное безцельно. Возможно, имеет смысл сделать поддержку встроенного парсера и по необходимости переключаться на него директивой? |
Автор: navykeds 26.7.2006, 23:55 | ||||||||||
По-поводу поддержки разных сред: это я к тому, что поддерживать можно, иногда нужно и полезно, но это не должно мешать развитию компонента. Насчет реализации поддержки обоих типов парсера: второй вариант, конечно, правильнее. Но тут уже решать тебе, желательно принимая в расчет время работы над разными вариантами ![]() Впрочем, лично мне, заменить несколько файлов не сложно. Совершенно. P.S: как же тут быстро цитировать отдельные куски сообщения? |
Автор: Quadr0 28.7.2006, 13:28 |
... |
Автор: Vitalik 28.7.2006, 13:52 | ||
А что это за часть кода, если не секрет? ![]() Расскажешь подробнее? Выделяешь текст в сообщении, а потом щелкаешь по кнопке-картинке "Быстрая цитата" сверху сообщения ![]() |
Автор: navykeds 28.7.2006, 15:18 | ||||
Да, свой нужен, не спорю. А если поддерживать оба, то будет совсем замечательно ![]() Быстрая работа с файлами подсветки, считывание нужных значений.
В IE работает, в Опере (9) не очень ![]() |
Автор: Vitalik 28.7.2006, 17:17 |
Очень интересно ![]() А примерчик кода не приведешь?.. Я думаю это было бы полезно ![]() Я сам Оперой пользуюсь, и все прекрасно работает ![]() А что оно тебе при этом говорит? |
Автор: navykeds 28.7.2006, 18:34 | ||||
Сожалею, нет ![]()
Иногда говорит, что я воспользовался кнопкой цитирования другого участника. Сейчас под Оперой, раза с третьего цитату вставило. |
Автор: Vitalik 28.7.2006, 21:20 | ||||
Может тогда на мыло? Если не жалко ![]() А что ты там такое разрабатывашь? Ссылочкой не поделишься? ![]()
Ну эт правильно ![]() Просто нужно жать именно на ту кнопку "Быстрая цитата", которая соответствуюет выделенному сообщению (находится сверху от него) ![]() |
Автор: Vitalik 1.8.2006, 15:46 | ||
УРА! Наконец-то реализовал эту возможность! ![]() Ниже расскажу идею.. Есть файл 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. 2.8.2006, 14:42 |
А не реально устроить сравнительное тестирование парсеров? =) И самый быстрый пусть по умолчанию уже будет переименованный. (Хотя в лидере никто не сомневается =)) |
Автор: Vitalik 4.8.2006, 16:23 |
Ага, надо будет сообразить ![]() В каком смысле? ![]() |