WPF-Blockly
Это визуальный редактор программирования, подобный Google Blocky и Scratch, но реализованный с помощью WPF и dotnet. По сравнению с существующими инструментами, визуальный скрипт больше похож на реальный код и имеет больше возможностей для программирования. С помощью этого инструмента вы можете просто включить своё приложение с визуальным редактором кода и запустить свой визуальный код.
В демоверсии мы создаём визуальный редактор кода, похожий на редактор Scratch.
Вы также можете скачать его из Microsoft Store.
На данный момент реализованы следующие функции:
Помимо функций программирования, этот инструмент имеет следующие возможности:
Чтобы написать собственные выражения и операторы, вам необходимо наследовать класс Expression или Statement, переписать Descriptor или BlockDescriptor для настройки внешнего вида вашего класса.
Дескриптор для выражения:
Некоторые операторы имеют только одну строку, отображение оператора такое же, как и у выражения, поэтому вы используете Descriptor только для оператора. Определение Descriptor такое же, как у выражения, ничего не пишите в BlockDescriptor.
Для некоторых сложных операторов, таких как if-else, while операторы, эти операторы содержат несколько BlockStatement и несколько Expression, вам нужно настроить BlockDescriptor:
Например, оператор if-else содержит следующий BlockDescriptor:
if — TextItemDescriptor для if и. Дескриптор выражения для теста
Дескриптор блочного оператора для последующего блочного оператора.
else — дескриптор текстового элемента для else.
Дескриптор блочного оператора для альтернативного блочного оператора.
Переопределите функцию ExecuteImpl, чтобы записать выполнение вашего выражения и оператора. Чтобы выполнить другое выражение и оператор, просто вызовите функцию Execute. ExecutionEnvironment хранит все значения переменных, вы можете зарегистрировать свою переменную в среде. Перед регистрацией необходимо убедиться в уровне вашей среды выполнения и использовать новую среду выполнения, если это необходимо.
Уровни среды выполнения: — 1-й уровень — базовая среда выполнения для хранения всех глобальных переменных и функций; — 2-й уровень — среда класса, хранит статические переменные для каждого класса; — 3-й уровень — экземплярная среда, хранит все нестатические переменные каждого экземпляра класса; — 4-й уровень — функциональная среда, хранит переменные локальных переменных функции; — 5-й или более — хранит локальные переменные каждого блочного оператора.
Существует пять типов завершения: значение, исключение, прерывание, продолжение и возврат. Оператор цикла обрабатывает прерывание и продолжение, оператор функции обрабатывает завершение возврата, оператор try-catch обрабатывает исключение.
Если ваша функция выполнения, вы должны вернуть правильный тип завершения, вернуть завершение исключения при возникновении исключения, иначе выполнение скрипта пойдёт неправильно.
Скриншоты
Версия сообщества:
Хранилищная версия:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )