Войти
ПроектыФорумРелизы

Визуальный редактор кода

Страницы: 1 2 Следующая »
#0
(Правка: 17 июня 2021, 12:45) 23:43, 10 июня 2021

Создал отдельную тему по поводу релиза моей новой программы.
Визуальный редактор кода.
Его назначение составлять с блок схем нужный алгоритм программы в соответствие с заложенными шаблонами.
Программа является языконезависимая.
То есть Блоки, с которых составляется алгоритм находятся в отдельных файлах в папке с программой.
Когда программа запускается она считывает с папки шаблоны и создает соответствующие кнопки для создания визуальных блоков в схеме.
Синтаксис описания блоков в файле содержит в себе всю информацию от внешнего вида блока, его возможного взаимодействия с другими блоками до кода который он будет генерировать.
Настройки блока довольно гибкие и позволяют создать шаблон который будет генерировать код на C++ и на Python. То есть создать визуальный редактор нужного языка.

Описание синтаксиса боков Как создать свои шаблоны

Схема выглядит примерно так:
Видео ее работы https://youtu.be/cPpyd6vCgks

Это схема бота для игры для языка Кибор, но генерируемый код зависит от библиотеки шаблонов.
Изображение

Ссылка для ознакомления и скачивания если будет желание https://kibor-bot.com/forum/topic.php?forum=1&topic=175
Ссылка на прямой архив https://kibor-bot.com/VisualEditor.rar


#1
14:02, 11 июня 2021

как будет выглядеть в такой штуке реализация FSM или Behavior tree?

#2
14:30, 11 июня 2021

patsanchik3
> как будет выглядеть в такой штуке реализация FSM или Behavior tree?
>
К сожалению не могу сказать, так как не обладаю нужными знаниями в этой теме.
Что бы создавать блоки надо знать язык, для которого они создаются.

#3
(Правка: 23 июня 2021, 11:07) 17:11, 17 июня 2021

Пример создания Визуального редактора кода для Python.

Данная схема использует Блоки, схема с которых генерирует код Python.
На видео демонстрируется авторизация на сайте ввода логина и пароля и создание новой темы на форуме.
Используется Python и Selenium.
https://youtu.be/BaJBUEcFQ-U
Изображение

#4
18:57, 17 июня 2021

Колесо изобретаем?
Хорошо забытое старое:
https://hiasm.com/
https://forum.hiasm.com/forum/59
https://forum.hiasm.com/main/

+ Показать

Боловство это всё.

#5
19:04, 17 июня 2021

flint2
> Боловство это всё.
Ну не знаю. Боловство не боловство, но пользователям моей программы, среди которых практически нет программистов довольно удобно.

И кстати.. Почему бы не побаловаться и не сделать к примеру что нибудь наподобие ZennoPoster на основе этого редактора, просто добавив несколько нужных блоков или визуальный конструктор других алгоритмов на выбранном языке..

#6
(Правка: 19:40) 19:26, 17 июня 2021

Vol

Почему бы не побаловаться и не сделать к примеру что нибудь наподобие

Для гимнастики ума - самое то. ))
Сам когда то увлекался.
Причём, можно делать достаточно крутые программы в любой области программирования.
Программа которая делается неделю-две, допустим, на VS, на HiAsm делается за полчаса.
Есть возможность использовать несколько языков и писать на них нормальный код помимо схемы...
Python тоже есть.
Но люди скоро из этого вырастают.
Vol
просто добавив несколько нужных блоков или визуальный конструктор других алгоритмов на выбранном языке..
Всё упирается в человеко-часы. То того нет, то этого не хватает...

Кстати, посмотри, как всё сделано в HiAsm, чтобы по граблям не ходить.
Во всяком случае, круче различных Blueprints на порядки!

#7
(Правка: 20:15) 20:05, 17 июня 2021

flint2
> Всё упирается в человеко-часы. То того нет, то этого не хватает...

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

Ее назначение использовать созданные универсальные блоки и из них строить алгоритм.
То есть к примеру 4 блоков анализа изображения экрана с всевозможными настройками в них, которые я добавил позволяет довольно удобно реализовать алгоритм программы, которая может не плохо получать информацию с графики экрана.
Один блок распознавания текста с таким выбором настроек может справиться с задачей распознать такой текст
Изображение
Изображение

Программа не позиционируется как визуальная среда программирования.
Она скорее может использоваться как конструктор, в котором алгоритм строится из универсальных, тематических шаблонов.

А от шаблонов зависит, то ли это будет программа для автоматизации на сайтах с помощью Python, то ли это будет программа для создания бота для игры или любой другой автоматизации к примеру на C++.

А шаблоны можно добавлять просто создав txt файл, в котором содержится вся информация о блоке, его внешнем виде, логике, код который генерирует и куда вставляет. Какие переменные объявляет, как взаимодействует с другими переменными... И тд.

Синтаксис создания блоков достаточно гибкий.
Все блоки которые созданы для этого редактора созданы внешне.
То есть можно создать блок который генерирует цикл for и блок который вызывает WinApi функцию и блок который реализует функцию распознавания текста с помощью этих правил.

#8
(Правка: 20:32) 20:23, 17 июня 2021

Vol

Программа не позиционируется как визуальная среда программирования.

Понятно.
+ Показать
#9
20:44, 17 июня 2021

flint2
> Сначала надо объяснить, что мы получаем из схемы на выходе чёрного ящика:
> код(скрипт), exe, байт код, что то иное.
Да. Мы получаем то, что указали в шаблоне генерировать.

Синтаксис создания шаблонов тут
https://kibor-bot.com/forum/topic.php?forum=1&topic=175&postid=16… 28#1622950928
Проще понять на примере готовых шаблонов..

Видео как создать простой шаблон
https://youtu.be/rvWn7s4xUwY
Процесс создания начинается с 4:34

=============================

Я еще не приступил к нормальной справке на эту тему. Пока просто выкладываю видео с демонстрацией работы.

#10
21:28, 17 июня 2021
+ Показать
#11
(Правка: 4:12) 4:11, 18 июня 2021

Скачал архив с программой. Поковырялся.
Интерфейс очень не интуитивный. ОЧЕНЬ! Я не понял как пользоваться этой "программой".
Делал человек который не знает о удобности интерфейса ничего совсем.

У программы стиль Windows 95. Это уже устарело.

Но даже тут можно сделать нормально.

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

У каждого блока, от которого идёт какая то связь с другим блоком, должны быть входные и выходные пины, потянув за которые, пользователь может сделать соединение с другим  блоком.

Свойства блока должны настраиваться на панели свойств.

Изображение

А пока что всё очень и очень плохо. Надо переделывать.

#12
(Правка: 5:52) 5:31, 18 июня 2021

Спасибо за обзор.

std::cin
> Создание блоков должно происходить либо перетягиванием из палитры блоков, либо
> после нажания кнопки с нужным блоком на палитре.
Выбираете галку блока который хотите создать и зажав и отпустив левую кнопку мыши на холсте создаете столько таких блоков сколько хотите. Зачем их таскать постоянно с панели?

std::cin
> У каждого блока, от которого идёт какая то связь с другим блоком, должны быть
> входные и выходные пины, потянув за которые, пользователь может сделать
> соединение с другим блоком.
Чем сейчас не удобно соединять блоки просто зажав мышь на одном перевести мышь на другой? К которому связь прилипнет в том месте в котором мы навели на блок сама. Без привязки к определенным точкам блока? Выходов блок имеет всегда не более 2. Никто не знает сколько входов может иметь блок и с какой стороны нагляднее к нему конектиться в схеме..

std::cin
> Свойства блока должны настраиваться на панели свойств.
..
Не уверен.. Практика показала, что лучше иметь возможность открывать одновременно несколько диалогов настроек различных блоков, чем только одно. Открыв несколько одновременно можно легко копировать значения, параметры, переменные с одного блока в другой.
К тому же тут нет стандартной панели свойств.
Все диалоги которые открываются при выборе Свойств создаются индивидуально для каждого шаблона и описаны в его файле.
Он может быть таким и таким:
Изображение
Ни о какой стандартной панели речи быть не может.

Это не копия какой то программы, к которой вы привыкли.

#13
8:49, 18 июня 2021

Забавно, тоже что-то такое планировал сделать )

#14
10:15, 18 июня 2021

Жесть XD

Страницы: 1 2 Следующая »
ПроектыФорумРелизы