Форум программистов, компьютерный форум, киберфорум
diadiavova
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
Старый
Рейтинг: 5.00. Голосов: 1.
Поддержка дополнительных языков программирования во внедренных скриптах XSLT
Запись от diadiavova размещена 07.06.2021 в 11:00
Показов 5044 Комментарии 0

В предыдущем посте я рассматривал возможность реализации поддержки внедренных скриптов в .Net 5 и .Net Core. В развитие темы я подумал, что не стоит ограничиваться языками C# и VB.Net и решил поэкспериментировать и с другими языками программирования. В первую очередь мой выбор пал на языки WSH, то есть Jscript и VBScript. Эти языки поддерживаются библиотекой msxml (пример можно посмотреть здесь), механизм внедрения такой же как и в случае преобразования...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
Возвращение поддержки внедренных скриптов в XSLT в .Net Core и .Net 5
Запись от diadiavova размещена 29.05.2021 в 09:00
Показов 4279 Комментарии 2

  1. Немного теории
  2. Процессор
  3. Добавление статического объекта
  4. Компиляция
  5. ProxyGenerator
  6. Результаты
В .Net Framework для XSLT поддерживалась возможность включать в XSLT скрипты, написанные на нескольких языках программирования (C#, VB.Net, JScript.Net). Функции, описанные в этих скриптах можно использовать в выражениях XPath, благодаря чему...
Аватар для diadiavova
Старый
Рейтинг: 4.00. Голосов: 4.
Управление браузером из внешнего приложения
Запись от diadiavova размещена 22.06.2020 в 09:00
Показов 8300 Комментарии 14

  1. Общие замечания
  2. Сервер
  3. Реализация расширения
  4. Приложение
  5. Запускаем – проверяем
Общие замечания

Если описывать задачу, которую мы здесь будем решать, в двух словах, то состоит она во взаимодействии настольного приложение с браузером. Мне известно о существовании Selenium WebDriver, однако, насколько я знаю, возможности...
Аватар для diadiavova
Старый
Рейтинг: 4.50. Голосов: 2.
Расширение для Inkscape. Дополнение.
Запись от diadiavova размещена 02.06.2020 в 09:00
Показов 3233 Комментарии 2

  1. Расширение XSLT 2.0 с использованием Saxon
  2. Расширение на Node.js
В предыдущем посте я рассмотрел общий подход к созданию расширения для Inkscape на примере приложения C#, которое выполняет преобразование XSLT. Сейчас мне просто хотелось бы добавить пару примеров.
Расширение XSLT 2.0 с использованием Saxon

Приложение, запускающее преобразование XSLT, рассмотренное в предыдущем посте, может быть полезно...
Аватар для diadiavova
Старый
Добавление схемы XSLT 2.0 в Visual Studio
Запись от diadiavova размещена 31.05.2020 в 09:00
Показов 1835 Комментарии 0
Метки visual studio

В Visual Studio поддерживается только XSLT версии 1.0. Я уже раньше писал, как можно использовать Saxon для выполнения преобразований XSLT 2.0 из интерфейса Visual Studio, но для поддержки редактирования документов этой версии в «студии» понадобится схема. Схему можно скачать отсюда, но работать она вот прям так сразу не будет. Во-первых, там есть две инструкции импорта, которые ссылаются на документы...
Аватар для diadiavova
Старый
Рейтинг: 4.50. Голосов: 2.
Структурное равенство и структурное сравнение в F#
Запись от diadiavova размещена 27.05.2020 в 09:00
Показов 3524 Комментарии 0

  1. Структурное равенство
  2. Равенство сложных типов
  3. Зачем это нужно
  4. Пример из мира Судоку (лирическое отступление)
  5. Структурное сравнение
  6. Что нам все это дает
Структурное равенство и структурное сравнение в F#

В общем и целом, данные вопросы вряд ли вызывают серьезные затруднения, однако разобраться в некоторых нюансах, как мне кажется, будет интересно.

Структурное равенство

Начнем с простого примера. Создадим консольное...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 2.
Встраиваемые функции и статически разрешаемые параметры типов в F#
Запись от diadiavova размещена 23.10.2019 в 09:00
Показов 1950 Комментарии 0

  1. Куда и как встраиваются функции
  2. Статически разрешаемые параметры типов
  3. Привязка к членам в теле функции
Читая документацию по данным вопросам, я ловил себя на мысли, что какие-то важные детали от меня ускользают, причем вовсе даже не потому, что что-то непонятно описано, а потому, что в документации отсутствуют какие-то важные детали. Поэтому решил разобраться в этом более детально.

Куда и как встраиваются функции

В документации читаем:
Встроенные функции
...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
Библиотека fparsec. Паресер математических выражений.
Запись от diadiavova размещена 29.07.2018 в 09:00
Показов 2607 Комментарии 0

  1. А в чем проблема?
  2. Модель дерева
  3. Класс OperatorPrecedenceParser
  4. Добавление унарных операторов
  5. Бинарные операторы
  6. Тернарный оператор
  7. Числа, скобки и фукнции
  8. Определение TermParser
  9. Тестирование
  10. О дополнительных функциях
А в чем проблема?

При парсинге математических выражений, наибольшую сложность, пожалуй, вызывают инфиксные операторы. Сложность заключается в том,...
Аватар для diadiavova
Старый
ASP.Net MVC + EF Core: пробуем подружить с F#
Запись от diadiavova размещена 05.07.2018 в 09:00
Показов 3415 Комментарии 0
Метки asp.net, aspnet, efcore, f#

  1. Введение
  2. Создание проекта
  3. Подготовка к использованию
  4. Создание модели
  5. Пробуем добавить миграцию
  6. Проект на C# и миграция
  7. Работа с данными
  8. Добавление связанных данных
Введение

В процессе описания мы создадим проект ASP.Net MVC на платформе .Net Core на языке F#, добавим к нему Entity Framawork Core и разберемся как все это можно совместить. Для того чтобы не "изобретать велосипед", я взял за основу руководство, написанное для языка C# и далее буду...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 2.
Пишем JSFuck-транслятор
Запись от diadiavova размещена 04.06.2018 в 01:23
Показов 4976 Комментарии 0
Метки javascript, jsfuck

  1. О чем пойдет речь
  2. Базовые понятия
  3. Приступим к написанию кода
  4. Дополним базовый словарь
  5. Работа с функциями
  6. Использование encodeURI вместо escape
  7. Несколько мыслей по поводу оптимизации вывода
  8. Оптимизация работы с fromCharCode
  9. Немного тестов
О чем пойдет речь

Для начала цитата из Википедии
JSFuck is an esoteric programming style of JavaScript, where code is written using only six characters: [,], (, ), !, and +. The name is derived from Brainfuck, an esoteric
...
Аватар для diadiavova
Старый
Рейтинг: 2.50. Голосов: 2.
И снова музыка VK
Запись от diadiavova размещена 07.11.2017 в 13:09
Показов 8041 Комментарии 0

  1. Предварительные замечания
  2. Получение данных о треке
  3. Получение прямой ссылки
  4. Скрипт для Tampermonkey
Предварительные замечания

На тему скачивания музыки из социальной сети "В контакте" я уже писал ранее, но с тех пор кое-что изменилось, так что скрипты, актуальные для того времени - больше не работают. Мало того, "вконтактик"...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
Разбиение коллекции на диапазоны средствами LINQ.
Запись от diadiavova размещена 24.10.2017 в 14:51
Показов 3040 Комментарии 0
Метки c#, linq

  1. Задача с форума
  2. Попробуем обобщить
Задача с форума
Недавно на форуме попался достаточно простой вопрос - как получить длину самой длинной последовательности чисел, идущих подряд (то есть где каждое последующее число диапазона больше предыдущего на единицу). Решение задачи достаточно простое...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
Несколько мыслей об HTA
Запись от diadiavova размещена 03.03.2017 в 13:49
Показов 13364 Комментарии 0

  1. Об HTML-приложениях.
  2. Краткое сравнение или почему HTA выглядит привлекательно
  3. В поисках утраченного диалога
  4. Не оставлять же все в таком виде
  5. А нельзя ли сделать поудобнее?
  6. Попробуем что-нибудь запустить
  7. Заключение
Об HTML-приложениях.

Клиентские Web-технологии (я сейчас говорю в первую очередь о связке HTM/JavaScript/CSS) уже давно вышли за пределы той ниши, которая была им...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 3.
MIDI музыка на C#. Часть 4-я.
Запись от diadiavova размещена 20.10.2016 в 13:18
Показов 2877 Комментарии 0
Метки c#, midi, music, winmm

  1. Пауза и воспроизведение с любого момента
  2. Фильтр по каналам
  3. Транспозиция
Пауза и воспроизведение с любого момента

Остановить воспроизведение несложно, надо только иметь в виду, что на момент остановки, какие-то звуки уже звучат и их неплохо было бы остановить, а стало быть простого уничтожения таймера будет недостаточно....
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
MIDI музыка на C#. Часть 3-я.
Запись от diadiavova размещена 18.10.2016 в 15:59
Показов 3132 Комментарии 0
Метки c#, midi, music, winmm

  1. Шаблоны аккордов
  2. Другой подход к шаблонизации аккордов
  3. Воспроизведение с использованием таймера
Шаблоны аккордов

При написании GetChord мне пришлось несколько раз исправлять ошибки. Несмотря на то, что рисунок аккомпанемента был чрезвычайно простым, реализация его в виде потока сообщений оказалась задачей не такой...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
MIDI музыка на C#. Часть 2-я.
Запись от diadiavova размещена 04.10.2016 в 16:14
Показов 3229 Комментарии 0
Метки c#, midi, music, winmm

  1. Воспроизведение потока сообщений
  2. Аккомпанемент
  3. Объединение коллекций сообщений
Воспроизведение потока сообщений

Описанный выше метод воспроизведения мелодии - на самом деле не очень хорош. Он довольно просто реализуется и хорош тем, что в результате мы получаем методику очень похожую на исполнение мелодий на бипере,...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 3.
MIDI музыка на C#. Часть 1-я.
Запись от diadiavova размещена 02.10.2016 в 17:59
Показов 15824 Комментарии 12
Метки c#, midi, music, winmm

  1. Воспроизводим ноту
  2. Сыграем мелодию
  3. Воспользуемся старыми наработками
Разбираясь в вопросах темы "Мелодии на бипере", решил не останавливаться на достигнутом и пошел дальше. Наиболее естественным способом что-то сыграть на компьютере является использование MIDI. Естественно, для разработки профессионального...
Аватар для diadiavova
Старый
Рейтинг: 5.00. Голосов: 1.
Мелодии на бипере
Запись от diadiavova размещена 26.09.2016 в 15:48
Показов 13820 Комментарии 0
Метки beep, c#, music

  1. Выделяем логику воспроизведения в отдельный метод
  2. Создаем понятный формат
  3. Пример мелодии
  4. Код обработки формата
Идею для статьи навеяла одноименная тема на форуме. Практическое применение проигрывания мелодий с помощью Console.Beep, по всей видимости, если и существует, то очень ограниченное, так что все нижеизложенное - не более чем развлечение. Ну, разве что можно давать консольным...
Аватар для diadiavova
Старый
Поговорим об XPathNavigator
Запись от diadiavova размещена 29.08.2016 в 23:48
Показов 4099 Комментарии 0

  1. О языке XPath
  2. Преимущества XPathNavigator
  3. Создаем собственный XPathNavigator
  4. Расширение языка собственной функцией
  5. Тестирование
  6. Использование XSLT
О языке XPath

XPath – прекрасный язык навигации по XML-документу. Его удобно использовать как для отбора узлов в документе XML, так и как составную часть других языков, таких как: XLink, XSLT или XQuery....
Аватар для diadiavova
Старый
Mono под Linux'ом. Жизнь без WebBrowser.
Запись от diadiavova размещена 18.07.2016 в 16:51
Показов 4397 Комментарии 0
Метки c#, linux, mono, mozilla, webbrowser

Недавно понадобилось писать небольшие приложения под Linux. Естественно, первое, что я предпринял в этом направлении - начал изучать, какие возможности предоставляет Mono и особенно WinForms. Причины вполне понятны: хорошо знакомая технология, язык, среда разработки со всеми ее наворотами....
Аватар для diadiavova
Старый
CustomButtons часть 9-я. Код, сохранение параметров и отедльные приложения.
Запись от diadiavova размещена 31.03.2016 в 11:43
Показов 3283 Комментарии 0

  1. Структура кода
  2. Кнопки с настраиваемыми параметрами.
  3. Создание отдельного приложения для тестирования инструментов
  4. Кнопки с самомодифицирующимся кодом
Структура кода

Оверлей является наиболее удобным механизмом создания кнопок, вносящих изменение в структуру интерфейса. Тем не менее, используя оверлеи, надо понимать некоторые нюансы их...
Аватар для diadiavova
Старый
CustomButtons часть 7-я. Еще пара слов о GreaseMonkey и букмарклетах.
Запись от diadiavova размещена 17.03.2016 в 11:18
Показов 3478 Комментарии 0

  1. Фильтрация элементов меню в зависимости от адреса страницы
  2. Выполнение скрипта при загрузке страницы
  3. Работа с закладками
Фильтрация элементов меню в зависимости от адреса страницы

В GreaseMonkey есть такая удобная штука: команды скриптов в соответствующем меню отображаются только на тех страницах для которых одни предназначались. Это позволяет не...
Аватар для diadiavova
Старый
CustomButtons часть 6-я. Генерация текста.
Запись от diadiavova размещена 13.03.2016 в 14:23
Показов 2958 Комментарии 0

  1. Генерация текста из шаблонов
  2. Преобразование страницы с помощью XSLT
То, что будет описано в этой статье не относится исключительно к CustomButtons и платформе Mozilla, тем не менее при работе с этим расширением может оказаться полезным.
Генерация текста из шаблонов

Создание HTML-кода для отображения выходных данных и создания диалоговых окон может оказаться процессом достаточно...
Аватар для diadiavova
Старый
CustomButtons часть 5-я. Добавим интерактивности.
Запись от diadiavova размещена 10.03.2016 в 14:44
Показов 2844 Комментарии 0

  1. Панели
  2. Вывод данных в виде HTML-документа
  3. Модальные диалоги и наблюдатели
Многие задачи автоматизации требуют либо вывода какой-то информации пользователю, либо предоставления ему возможности ввести какие-то данные или выбрать параметры выполнения. Самые простые задачи такого типа могут быть решены...
Аватар для diadiavova
Старый
CustomButtons часть 4-я. Добавим оверлеи в кнопку
Запись от diadiavova размещена 06.03.2016 в 00:35
Показов 4238 Комментарии 0

  1. Оверлеи
  2. Внедрение оверлея в код кнопки
  3. Схема XUL
Дополнять контекстное меню одним-двумя элементами можно и программно, как это было показано в предыдущей статье, но создавать код более-менее сложной структуры вручную - как-то не хочется. Кроме того, пример с контекстным меню был просто иллюстрацией...
Аватар для diadiavova
Старый
CustomButtons часть 3-я. Взаимодействие с интерфейсом Firefox.
Запись от diadiavova размещена 27.02.2016 в 13:45
Показов 3752 Комментарии 0

  1. Откуда брать информацию о структуре интерфейса
  2. Контекстное меню
Ознакомившись с работой с файловой системой, буфером обмена, реестром и тому подобными вещами, можно уже делать много чего. Однако код с chrome-привилегиями может гораздо больше. И одной из таких возможностей является возможность взаимодействия...
Аватар для diadiavova
Новые блоги и статьи
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru