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

08.03.22

Разработка - Работа с интерфейсом

Графический интерфейс расширяет возможности и область применения скриптового языка. Перед вами ещё один вариант GUI для уже широко используемого и отлично зарекомендовавшего себя инструмента автоматизации OneScript. С доступным комплектом контролов можно написать полноценное приложение, со множеством форм и диалогов. Большое внимание уделено документации, есть примеры на каждое свойство/метод. И в придачу к формам написан дизайнер форм. Без него работу над GUI считал не законченной. Всё это для того, чтобы тратить минимум усилий для получения максимального результата.

А зачем это?

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

Формы можно применить для:

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

 

Использование

Разработки доступны на github, графический интерфейс (OneScriptForms) и дизайнер форм (OneScriptFormsDesigner). Там же найдете ссылки на документацию.

Подключаем библиотеку форм и создаем кнопку:

    ПодключитьВнешнююКомпоненту("ВашКаталогНаДиске\OneScriptForms.dll");
    Ф = Новый ФормыДляОдноСкрипта();
    Форма1 = Ф.Форма();
    Форма1.Текст = "Форма1";
    Форма1.Отображать = Истина;
    Форма1.Показать();
    Форма1.Активизировать();
    
    Кнопка1 = Форма1.ЭлементыУправления.Добавить(Ф.Кнопка());
    Кнопка1.Границы = Ф.Прямоугольник(10, 10, 75, 25);
    Кнопка1.Текст = "Кнопка1";
    
    Ф.ЗапуститьОбработкуСобытий();

Подключаем и запускаем дизайнер форм:

     ПодключитьВнешнююКомпоненту("ВашКаталогНаДиске\OneScriptFormsDesigner.dll");
     ДФ = Новый ДизайнерФормДляОдноСкрипта();
     ДФ.Дизайнер();

 

Возможности форм

  • методы СвернутьКонсоль(), СкрытьКонсоль(), ВосстановитьКонсоль() позволяют управлять окном консоли, связанной с вызывающим процессом. То есть ДОСовским черным окном
  • использование буфера обмена
  • графика позволит рисовать кистью геометрические фигуры, заливать поверхности паттернами и рисунками, копировать области экрана
  • обработка событий с получением аргументов события
  • отправка нажатия клавиш активному приложению
  • поиск окна по заголовку
  • имитировать программно нажатие кнопок мыши
  • воспроизведение системных звуков и ".wav" файлов
  • создание окон сообщений
  • календари двух видов для удобного выбора даты
  • горизонтальный и вертикальный индикаторы (ProgressBar)
  • работа с кодировкой
  • использование класса Цвет
  • имеется набор коллекций - МассивСписок (ArrayList), СортированныйСписок (SortedList), СписокЭлементов (ListView), ХэшТаблица (HashTable), Коллекция (Collection)
  • класс Математика позволит делать математические вычисления
  • форму можно закрепить на рабочем столе и соответственно открепить от рабочего стола. Можно создать виджет, и он не будет свёрнут при использовании команды "Свернуть все окна"
  • работа с иконкой в системном трее
  • наблюдатель файловой системы проинформирует Вас о событиях, произошедших с файлами/каталогами
  • таймер даст возможность выполнять действия в запланированное время
  • есть диалоги для выбора шрифта, цвета, каталога, открытия/сохранения файла
  • при работе с классом Картинка Вы сможете попиксельно изменять изображение
  • класс Разделитель обеспечит разделение формы на отдельные, регулируемые мышью по размеру, области
  • конечно, есть классы Меню и КонтекстноеМеню
  • используя сетку свойств, можно например создать настройки интерфейса, доступные пользователю
  • таблицы

 

Возможности дизайнера

  • создание форм, размещение на форме элементов управления с помощью мыши
  • работа с несколькими формами одновременно
  • устанавка/изменение свойств элементов управления, в том числе работа с редакторами коллекций
  • устанавка обработчиков событий в виде не заполненных кодом процедур
  • спроектированную форму можно сразу запустить на исполнение и увидеть результаты
  • сохранение формы в файл ".osd" с последующим восстановлением для возобновления работы
  • формирование сценария с синтакисом OneScript или просмотр кода сценария непосредственно в дизайнере
  • редакторы коллекций и свойства представлены только на русском языке

Подробнее по формам: https://ahyahy.github.io/OneScriptForms/index.html

Подробнее по дизайнеру: https://ahyahy.github.io/OneScriptFormsDesigner/index.html

onescript gui designer

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    61810    43    59    

80

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54410    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16702    21    4    

35

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    10750    750    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Подходит для создания web-страниц для замены управляемых форм 1С, красивых отчетов, интерфейса мобильного приложения на платформе 1С и для простых страниц веб-сайтов.

2 стартмани

10.04.2023    9628    151    acces969    31    

118

Прокси хранилища 1С (IIS, OneScript)

Групповая разработка (Git, хранилище) OneScript DevOps и автоматизация разработки Платформа 1С v8.3 Россия Бесплатно (free)

Избавляемся от версионной зависимости, проверяем комментарии, вызываем веб-хуки, делаем красивые пути. И все это на привычном IIS и понятном OneScript.

08.12.2022    8046    kamisov    57    

95

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3671    kalyaka    2    

27
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. Darklight 32 10.03.22 14:56 Сейчас в теме
Очень интересно. А Есть ли где-нибудь дока по формату файла osd?
2. ahyahy 91 10.03.22 15:33 Сейчас в теме
(1) Нет по osd документации. Формат osd чисто моя выдумка. Сохранение и восстановление нужно было сделать простым для выгрузки/загрузки. Для этого лучше всего подходил формат ini файла. Немного переиначил его для лучшей обработки и сделал osd. Алгоритм выгрузки находится в SaveForm.cs, загрузки в основном в pDesignerMainForm.cs. Я опишу подробнее в справке к дизайнеру, попозже.
3. Darklight 32 10.03.22 16:25 Сейчас в теме
4. ahyahy 91 10.03.22 17:33 Сейчас в теме
(1)Вот подробнее в разделе "Сохранение формы в файл osd" в справке дизайнера https://ahyahy.github.io/OneScriptFormsDesigner/doc.html Не знаю достаточно ли будет этого, пишите.
5. PerlAmutor 129 28.06.23 06:25 Сейчас в теме
Использование Electron было бы более кроссплатформенно и красивее. С другой стороны, если мы имеем дело с консолью, то надо что-то на подобии этого (Textual for Python) https://www.youtube.com/watch?v=FSaI_qJGvAE

https://www.youtube.com/watch?v=-6qhZ5mBUSE&t=23s
Прикрепленные файлы:
Оставьте свое сообщение