Перейти к содержимому
Zer0Galaxy

Система визуального программирования FormsMaker

Рекомендуемые сообщения

Верно. Любой объект на луа есть ничто иное как таблица. Изменение свойств объекта это редактирование таблицы. А если учесть, что переменные и функции являются полями таблицы _G, то можно говорить, что программирование тоже редактирование таблицы.

Взгляд соответствующий аватарке.

---

А не будет ли лучше, редактировать свойства в компоненте по типу TextEditor?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

А не будет ли лучше, редактировать свойства в компоненте по типу TextEditor?
При клике на какое то из свойств открывается окно редактирования свойства (его я не показал на скриншоте), в котором присутствует компонент Edit. В этот Edit вводится новое значение свойства. Или речь идет об одном TextEditorе, в котором редактируются сразу все свойства?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

При клике на какое то из свойств открывается окно редактирования свойства (его я не показал на скриншоте), в котором присутствует компонент Edit. В этот Edit вводится новое значение свойства. Или речь идет об одном TextEditorе, в котором редактируются сразу все свойства?

Об одном. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сколько надо - по идее надо создать столько экземпляров этого компонента. И еще я не понял: как он должен выглядеть и что точно делать?

Изменено пользователем SergOmarov

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

TextEdit должен быть похож на компонент Edit, с той лишь разницей, что Edit это редактор одной строки, а TextEdit - многострочный редактор. Но с добавлением этого компонента библиотека forms должна остаться "легкой", а для этого нужно максимально использовать системные ресурсы. К примеру, для создания Edit я использовал стандартный term.read, хоть и не совсем обычным способом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Чередуя дни беспросветной лени с часами бешеного программирования, удалось реализовать редактор обработчиков событий. Таким образом FormsMaker начинает приобретать черты полноценной системы программирования. Продемонстрирую на примере простенькой программы - счетчик количества нажатий на кнопку.

Запустим fmaker и создадим на форме метку (addLabel). Эта метка будет отображать количество нажатий. Необходимо установить начальное значение равное нулю, для чего щелкнем ПКМ на метке и откроем окно свойств. Выберем свойство "caption" (надпись) и зададим ему новое значение - "0"

post-7-0-44038000-1440071175_thumb.png

Закроем окно свойств метки и аналогичным образом создадим кнопку (addButton). В качестве надписи укажем - "+1"

post-7-0-29730500-1440071180_thumb.png

Щелкнем на строчку onClick в окне свойств кнопки. onClick - это обработчик нажатия на кнопку. Пока он не привязан ни к какой функции, о чем нам и сообщается.

post-7-0-28268500-1440071186_thumb.png

Что бы создать функцию обработки, нажимаем кнопку "New" и попадаем в редактор обработчика событий

post-7-0-10419600-1440071193_thumb.png

Заголовок функции-обработчика и завершающий end создаются автоматически. Наша задача прописать тело функции

post-7-0-78805100-1440071199_thumb.png

Строчка 

Label1.caption=Label1.caption+1

увеличивает значение надписи на единицу. А строчка

Label1:redraw()

вызывает перерисовку компонента Label1.

Для выхода из редактора обработчика событий необходимо кликнуть за пределами поля редактирования или нажать F10. Вот, собственно, и всё программирование. Теперь необходимо сгенерировать код, для чего вызвать соответствующий пункт меню

post-7-0-70738600-1440071205_thumb.png

... и выйти из FormsMaker

post-7-0-17667700-1440071211_thumb.png

Что бы посмотреть код, получившийся в результате генерации, откроем его командой "edit Project1.lua"

post-7-0-64917100-1440071216_thumb.png

А запустив его на выполнение, можно убедиться в его работоспособности

post-7-0-88628900-1440072510_thumb.png

Напоминаю, с последней версией редактора можно поэкспериментировать в дата-центре на компьютере с координатами 10150, 14199.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Напоминаю, с последней версией редактора можно поэкспериментировать в дата-центре на компьютере с координатами 10150, 14199.

 

Вход в ДЦ забаррикадирован кирпичами))

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Очень удобно все сделано, но, я так понял, поддержки юникода нет?

 

А, понял, у меня вставка криво пашет.

Изменено пользователем Doob

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если ты про вставку в редактор функций, то она пока не реализована. Редактор пришлось с нуля писать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ох, ну и... КРАСОТА!!! Зе бест, просто, для начинающих погромистов и для тех, кто не хочет возиться с ГУИшкой — будто райские пчёлы связали!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ох, ну и... КРАСОТА!!! Зе бест, просто, для начинающих погромистов и для тех, кто не хочет возиться с ГУИшкой — будто райские пчёлы связали!!

Вот-вот. А Вячеслав орал, мол, заче-е-е-е-е-е-е-м. Гарик там давно написал уже какой-то GMэээээээL и пр. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот-вот. А Вячеслав орал, мол, заче-е-е-е-е-е-е-м. Гарик там давно написал уже какой-то GMэээээээL и пр. :)

Ололо, нашел еще один "успешный" проект "для пользователей". Вон, opennet такой успешный, что аж никто не пользуется, даже те, кто разрабатывает.

Зеро для удовольствия это делает, и правильно. Пусть развлекается, а пользоваться в ряд ли будут - GML лучше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ололо, нашел еще один "успешный" проект "для пользователей". Вон, opennet такой успешный, что аж никто не пользуется, даже те, кто разрабатывает.

Зеро для удовольствия это делает, и правильно. Пусть развлекается, а пользоваться в ряд ли будут - GML лучше.

 

Согласен, много программулек пишется для себя и для удовольствия. :) Поэтому я никогда не обращал внимания на сжималки пикселей и программки для решения интегро-дифференциальных уравнений 2-го порядка с матрицами.

 

Я всегда любил и игроков просил писать прожки практического применения, а именно для майна: копалки, продавалки, менялки, убивалки, чатилки, считалки ресов, крафтилки, сенсорилки и реактороуправлялки и прочее прочее. Все остальное имеет очень отдаленную и сомнительную нужность и ценность и вообще какую-то применимость. Весь мод ОС и ему сопутстсвующие аддоны, а именно их АПИ направлено на взаимодействие с миром, игроками, сундуками, инвентарями, мобами, блоками, айтемами, редстончиком, командными блоками и т.д. Писать там что-то замысловатое смысла большого нет, тем более для среднестатистического игрока майна. Оно им не нужно совершенно. Ни опенджаки ни опенклудсы. Если честно, я даже  не понимаю, где этот клудс можно применить, например, играя в майн.

 

Но согласись, то что пишет Дима, мало кто такое тут напишет аккуратно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А где можно скачать этот редактор?

К сожалению, сейчас я не имею доступа к компьютеру, на котором хранится последняя версия редактора. Давай дождемся следующей недели. Библиотеку forms можно скачать с пастебина. Ссылка в соответствующей теме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...