Графический интерфейс
для сценарного языка OneScript







    На этом сайте представлена бесплатная библиотека для скриптового языка OneScript, содержащая набор форм и элементов управления для построения графических приложений.

   Причин появления такой библиотеки было несколько и они довольно сильно растянуты во времени.
   Первая - системное администрирование. Сисадмином я проработал примерно 15 лет на заводе, фабрике, в госучреждениях. Всегда не хватало хорошего, универсального инструмента в работе. Например написать программу сохранения нужных данных в нужное место и время, и чтобы справилась она с длиннющими именами в 500 символов. Можно конечно найти готовое решение, но в нём чего нибудь нужного тебе как раз и не хватает. Организовать простенький (или даже сложненький) диалог с пользователем, затратив минимум времени на его написание, не вспоминая в очередной раз англоязычный синтаксис, было бы замечательно.
    Вторая причина - так и не научился думать на английском. WSH, AutoIt, Delphi и т.п. использовал в своей работе, но всегда проблема перевода меня сильно доставала.
    Третья - знакомство со скриптовым языком Андрея Овсянкина OneScript (в статье на infostart.ru). В сознании крупными буквами нарисовалось - НАКОНЕЦ ТО НАШЕЛ!
    Четвертая - знакомство с бесплатной библиотекой KiXforms, объектно-ориентированным расширением к скриптовому языку KiXtart. KiXforms была разработана Шоном Тэсси (Shawn Tassie) из компании CGI (Conseillers en gestion et informatique) в Канаде. Скриптовый язык KiXtart разработан Руудом ван Велсеном (Ruud van Velsen) из Нидерландского отделения Microsoft. Библиотека интересна тем, что позволяет получать события форм и элементов управления в текстовом виде, упрощая их обработку.
    Что в итоге? Есть русскоязычный OneScript без графического интерфейса и есть графический интерфейс KiXforms для скриптового языка, но не русского. Задача сформулирована, нужно их подружить. Дело закончилось изучением C# и появлением библиотеки guiKixFormsNet.dll (обертки KiXforms для работы в OneScript). В имени файла сохранил имя исходной библиотеки KixForms. Затем, уже освоив немного C#, решился написать свою версию форм. Получилась библиотека OneScriptForms.dll. С её помощью можно создавать формы и элементы управления для различных видов графических приложений, вести программирование как в русcкоязычном, так и в англоязычном вариантах.

   Первая версия (май 2021 года) была ориентирована на выполнение всего кода в одном файле сценария односкрипта. События элементов управления помещались в очередь событий и обрабатывались с некоторой задержкой или блокировались интерфейсом. Был ряд и других недостатков, сдерживающих применение форм. Исправить положение помогло взаимодействие с программистами, применяющими библиотеку на практике. Особенно с автором языка программирования Перфолента.Net Сергеем Рогаткиным. После изменений, начиная с версии 2.0.0.0 можно создавать приложения с использованием форм следуя соглашению об устройстве библиотеки односкрипта.

   Во время работы над библиотекой изучал C#, что называется "на ходу". Иногда, чтобы заставить правильно работать тот или иной метод или свойство объекта, приходилось долго бродить по интернету. Мне очень помогли статьи разных авторов, найденные в сети. Выражаю им свою благодарность и ниже перечислю ссылки на их статьи и на другие интересные ресурсы.