Графический интерфейс для сценарного языка 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 Платные (руб)

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

6000 руб.

16.01.2015    62984    44    59    

82

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

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

2400 руб.

29.06.2020    18850    26    6    

41

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

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

1500 руб.

06.10.2020    10222    7    7    

10

Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    16779    mrXoxot    43    

121

Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

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

27.05.2024    7338    smielka    37    

100

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

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

27.12.2023    14782    913    elcoan    47    

117

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

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

2 стартмани

10.04.2023    11907    162    acces969    31    

124
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Darklight 33 10.03.22 14:56 Сейчас в теме
Очень интересно. А Есть ли где-нибудь дока по формату файла osd?
2. ahyahy 93 10.03.22 15:33 Сейчас в теме
(1) Нет по osd документации. Формат osd чисто моя выдумка. Сохранение и восстановление нужно было сделать простым для выгрузки/загрузки. Для этого лучше всего подходил формат ini файла. Немного переиначил его для лучшей обработки и сделал osd. Алгоритм выгрузки находится в SaveForm.cs, загрузки в основном в pDesignerMainForm.cs. Я опишу подробнее в справке к дизайнеру, попозже.
3. Darklight 33 10.03.22 16:25 Сейчас в теме
4. ahyahy 93 10.03.22 17:33 Сейчас в теме
(1)Вот подробнее в разделе "Сохранение формы в файл osd" в справке дизайнера https://ahyahy.github.io/OneScriptFormsDesigner/doc.html Не знаю достаточно ли будет этого, пишите.
5. PerlAmutor 155 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
Прикрепленные файлы:
6. marcusbey 04.09.24 17:15 Сейчас в теме
А где-то есть информация о том, как это дело в .exe компилить? И можно ли?:
7. ahyahy 93 04.09.24 18:54 Сейчас в теме
(6) Расскажу про два способа компилировать программы, написанные с помощью библиотеки OneScriptForms.
Первый - это использование компилятора OneScript. Пример привожу для версии 1.8.4.5.
Используйте команду

oscript.exe -make C:\000\Тетрис.os C:\000\Тетрис.exe

Сценарий взят из справки форм

Документация

раздел Дополнения, подраздел Игры.
Только замените путь до библиотеки на относительный

ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptForms\OneScriptForms\bin\Debug\OneScriptFo­rms.dll");
замените на
ПодключитьВнешнююКомпоненту("OneScriptForms.dll");

и это нужно сделать до компиляции.
И конечно в каталог C:\000\ поместите библиотеку OneScriptForms.dll

Второй способ - использовать разработку OneScriptNoConsole

Запуск сценариев OneScript без окна консоли

В этом случае Вы получаете так же возможность создать исполняемый файл EXE программы.
Но кроме того у Вас программа будет запускаться без показа окна консоли, то есть без DOS окна.
И ещё Вы сможете персонифицировать свою программу. В свойствах EXE файла сможете указать автора, фирму и другую информацию.
Подробное описание присутствует на гитхабе.
8. marcusbey 01.10.24 09:54 Сейчас в теме
(7) Большое спасибо! попробую
Оставьте свое сообщение