Шилин Александр писал(а):
Нельзя ли добавить в ИС Дракон режим «выполнения» алгоритма, записанного в Дракон-схеме?
Понятно, что при записи алгоритма у нас нет чёткого указания «как делать». Поэтому строго выполнения программными средствами алгоритма в Дракон-схеме добиться, наверное, нельзя.
Лет пять назад я делал внешнюю hook-надстройку к ИС Дракон, позволяющую именно СТРОГОЕ выполнение кода программными средствами (по программным приложениям икон).
Программка сидит в трее и ждёт нажатия определённых клавиш.
При нажатии клавиши выполнения кода (и если активное окно называется "ИС Дракон"):
1) в Дракон-редактор посылается симуляция нажатия Ctrl+S, лист сохраняется,
2) новый файл .DRT (его имя берется из заголовка окна) переводится на язык программирования (в моём случае - vb6), причём все ключевые слова распознаются с мною же созданного русского ЯП, принятого мною в Дракон-схемах, на англоязычную терминологию VB;
3) этот VB-код преобразуется для возможности отладки (после каждого действия проверка нажатия стоп/клавиши и проверка режима отладки, запоминаются все переменные, в начале и конце каждой задачи отлов ошибок, показ имён и значений всех текущих переменных и т.д.)
4) Этот конечный программный код выполняется самой же программой, которой и был приготовлен, с помощью элемента управления VbScript - он позволяет запустить "программу внутри программы" по скрипту vb.
5) В режиме отладки после каждого действия в ИС Дракон посылаются симуляции нажатий клавиш для поиска иконы по номеру, вводится № следующей иконы и Enter. Таким образом,
на схеме выделяется икона, подлежащая следующему выполнению., как принято во всех отладчиках.
Так я планировал (и написал до половины)
отладчик Дракон-схем внутри ИС "Дракон". Заметив ошибку в последующих иконах, можно исправить её, автоматически сохранить схему и передать программе в трей, которая обновит список дальнейших действий . Всё это не так уж сложно, потому что элемент VbScript всё продумал за нас.
Но потом забросил это дело, потому что элементом VBScript невозможно на лету подключать динамические библиотеки, стало быть, профессиональной средой программирования это стать не может, а только учебной.
Но в учебных рамках среда была бы полновесной, могущей реализовать самые сложные алгоритмические задачи на уровне профессионального языка программирования.
Могу передать VB-исходники и подробные комментарии тому, кто решит довести дело до конца.