А зачем это?
Если Вы скажете, что такие инструменты уже есть, то будете правы. Продолжайте пользоваться привычными инструментами, программами. Но может быть найдутся и те, кому эти библиотеки пригодятся, сократят время разработки, понравится удобство работы в дизайнере? Просто мне интересно программировать.
Формы можно применить для:
- решения административных задач
- оформления графического интерфейса для утилит, работающих только через консоль
- организации диалогов с пользователем или небольшого рабочего места
- и, думаю Вы сами сможете продолжить список...
Использование
Разработки доступны на 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