Zer0Galaxy
Гуру-
Публикации
1 220 -
Зарегистрирован
-
Посещение
-
Победитель дней
189
Тип публикации
Блоги
Профили
Форум
Багтрекер
Магазин
Все публикации пользователя Zer0Galaxy
-
При клике на какое то из свойств открывается окно редактирования свойства (его я не показал на скриншоте), в котором присутствует компонент Edit. В этот Edit вводится новое значение свойства. Или речь идет об одном TextEditorе, в котором редактируются сразу все свойства?
- 68 ответов
-
- 1
-
-
- интерфейс
- программирование
-
(и ещё 1 )
Теги:
-
Последовательности из большого количества elseif можно заменять на таблицу функций. Сравни эти две реализации: if a==1 then foo1() elseif a==2 then foo2() elseif a==3 then foo3() elseif a==4 then foo4() elseif a==5 then foo5() -- и т.д. else error() end и t={foo1,foo2,foo3,foo4,foo5 } if t[a] then t[a]() else error() end
-
Для уточнения названий событий и их параметров я пользовался вот такой программкой event=require("event") while true do ev={event.pull()} for i=1,#ev do if type(ev[i])=="string" then ev[i]='"'..ev[i]..'"' end io.write(ev[i].." ") end print() end Но dmesg лучше.
-
Кто же его знает. Как дело пойдет. В принципе, то что есть уже можно использовать. Тестировать, находить баги, предлагать свои варианты реализации программы.
- 68 ответов
-
- 1
-
-
- интерфейс
- программирование
-
(и ещё 1 )
Теги:
-
Верно. Любой объект на луа есть ничто иное как таблица. Изменение свойств объекта это редактирование таблицы. А если учесть, что переменные и функции являются полями таблицы _G, то можно говорить, что программирование тоже редактирование таблицы.
- 68 ответов
-
- 1
-
-
- интерфейс
- программирование
-
(и ещё 1 )
Теги:
-
Пока никаких. Но в будущем, возможно, любые.
- 68 ответов
-
- 1
-
-
- интерфейс
- программирование
-
(и ещё 1 )
Теги:
-
При выборе пункта "Свойства" теперь доступно окно редактирования свойств компонента В этом окне можно изменять цвет, надпись и другие свойства. Тестовую версию программы по прежнему можно опробовать в дата-центре на компьютере с координатами 10150, 14199.
- 68 ответов
-
- 4
-
-
- интерфейс
- программирование
-
(и ещё 1 )
Теги:
-
Mecopy6ka, ты что, поставил АЕ на покет-версию Майна? А ОС поставить можно?
- 12 ответов
-
- АЕ2
- Applied Energistics
-
(и ещё 2 )
Теги:
-
Желающие могут опробовать генерацию кода. Для этого надо на уже упоминавшемся компьютере создать элементы интерфейса, после чего нажать ПКМ и в выпадающем списке выбрать пункт "Генерировать код". Этот пункт в список не помещается, поэтому список нужно прокрутить колесиком. Результирующий код смотрим в файле Project1.lua. Его можно даже запустить.
- 68 ответов
-
- 1
-
-
- интерфейс
- программирование
-
(и ещё 1 )
Теги:
-
После создания окошек, кнопок и прочих элементов интерфейса, пользователь получит файл проекта - особый файл, который можно будет повторно открыть в редакторе и продолжить редактирование. Файл проекта можно будет преобразовать в исполняемый луа-код. Процесс преобразования я назвал генерацией, дабы не травмировать чувств интерпретационистов. А луа-код - уже редактировать и запускать как всякую другую программу. Поначалу предполагалось, что генерироваться будут только строки для создания элементов интерфейса, а логика добавляется вручную в редакторе edit. Затем возникла мысль добавить генерацию обработчиков событий. Но это требует встраивания в FormsMaker текстового редактора. Посмотрим как пойдет.
- 68 ответов
-
- 1
-
-
- интерфейс
- программирование
-
(и ещё 1 )
Теги:
-
Всё таки, конечным результатом работы системы будет луа-код, получаемый в результате компиляции проекта (да простит меня NEO).
- 68 ответов
-
- 3
-
-
- интерфейс
- программирование
-
(и ещё 1 )
Теги:
-
И форма и все ее компоненты создаются динамически. Параметры компонентов предполагается задавать в коде программы. Если хранить их в отдельном файле, то для запуска программы потребуется и этот файл. А я не хотел бы лишних файлов, необходимых для исполнения.
- 68 ответов
-
- 1
-
-
- интерфейс
- программирование
-
(и ещё 1 )
Теги:
-
Для начала нужно понять главное - ложки не существует. И трансляция и компиляция и интерпретация - это малая часть из процессов, происходящих в недрах Великого Сервера. И наши знания об этих процессах никоим образом не влияют на Его функционирование. Мимомпрохожу.
- 23 ответа
-
- 5
-
-
- холливар
- терминология
- (и ещё 1 )
-
На данный момент сохранение проекта в файл пока не реализовано. Планируется разработать структуру такого файла для сохранения и последующей загрузки проекта. И конечно же, самое интересное - это трансляция проекта в исполняемый lua-код. Библиотека сама по себе ни с какими файлами не работает. Подгружать файл будет среда разработки.
- 68 ответов
-
- 1
-
-
- интерфейс
- программирование
-
(и ещё 1 )
Теги:
-
Каждый, кто занимался разработкой человеко-машинного интерфейса под OpenOS, наверное знает какое это муторное занятие. Даже если Вы используете библиотеку GUI. То и дело приходится выходить из редактора кода, запускать свою программу, смотреть на результат своих стараний и снова заходить в редактор, чтобы исправить всего одну цифру. Предлагаемая система позволяет создавать интерфейсы программ не в текстовом редакторе, а в графическом при помощи мыши, но самое главное - результат своей работы Вы можете видеть сразу, не выходя из редактора. Построена система на основе уже известной Вам gui-библиотеки forms. При входе в FormsMaker мы видим пустую форму Щелкните правой кнопкой мыши в любом месте формы после чего откроется окно управления компонентом Выбрав пункт "Свойства Form1" можно (будет) редактировать свойства формы, такие как цвет рамка и т.д. Пункты "Add ..." добавляют на форму соответствующий компонент. Пункт "Проект" позволит управлять проектом: сохранять, компилировать и т.д. Для возврата к редактируемой форме выберите "Отмена" К примеру мы выбрали пункт "Add frame". Это добавит на нашу форму рамку. Таким же образом на рамку можно добавить кнопку. Щелкаем ПКМ на рамку и выбираем "Add button" Изменить размер рамки можно при помощи ЛКМ, потянув за правый-нижний ее угол А перемещать рамку по форме можно перетаскивая за любое свободное её место pastebin get wA5KMKav fmaker.lua Приму с благодарностью любую посильную помощь в развитии проекта, как в программировании, тестировании так и просто советом.
- 68 ответов
-
- 19
-
-
- интерфейс
- программирование
-
(и ещё 1 )
Теги:
-
Список. List1=Form1:addList(left,top,onChange) Список - визуальный компонент, способный хранить множество элементов данных различного типа, подобно таблице в Луа. Каждому элементу (item) списка ставится в соответствие строка (line), посредством которой этот элемент отображается на экране компьютера. Параметры вызова метода addList: left,top - (числа) координаты левого верхнего угла относительно объекта которому принадлежит компонент. onChange - (функция) обработчик события, когда пользователь выбирает при помощи ЛКМ какой либо элемент списка. Дополнительные свойства: W - ширина списка (по умолчанию - 20). H - высота (по умолчанию - 10) border - (0, 1 или 2) рамка, по умолчанию - 2 color - цвет фона (по умолчанию - 0x000000), fontColor - цвет шрифта и рамки(по умолчанию - 0xffffff). selColor - цвет фона выбранной строки списка (по умолчанию -0x0000ff) sfColor - цвет шрифта выбранной строки (по умолчанию - 0xffff00) index - номер выбранного элемента списка items - таблица, содержащая элементы списка lines - таблица, содержащая строки, соответствующие элементам списка visible - имеет значение false, если компонент скрыт (по умолчанию - true) X, Y - абсолютные координаты левого верхнего угла В дополнение к методам, присущим остальным компонентам (см. "кнопка"), список имеет следующие методы: clear() - очищает список insert([pos,]line,item) - вставляет в список в позицию pos элемент item с соответствующей ему строкой line. Все последующие элементы сдвигаются на единицу. Если параметр pos отсутствует, вставка осуществляется в конец списка. sort([comp]) - производит сортировку списка по условию comp. Если параметр comp задан, то он должен быть функцией, принимающей три параметра: comp(list, i, j), где list - указатель на список, а i и j - номера элементов списка. Функция comp должна возвращать true, если элементы списка i и j в результате сортировки меняются местами. Если параметр comp не задан, то сортировка производится по строкам lines в алфавитном порядке. В ближайшем будущем ожидайте презентацию системы визуального программирования на основе библиотеки forms
-
Почему библиотека? Это чисто прикладная программа.
-
Надо же и уроки делать.
- 21 ответ
-
- 2
-
-
Рамка. Frame1=Form1:addFrame(left,top,border) Рамка не выполняет никаких действий, а просто служит элементом декора. Параметры вызова метода addFrame: left,top - (числа) координаты левого верхнего угла рамки относительно объекта которому принадлежит компонент. border - (0, 1 или 2) по умолчанию - 1. Дополнительные свойства: W - ширина рамки (по умолчанию - 20). H - высота (по умолчанию - 10) color - цвет фона (по умолчанию - 0x000000), fontColor - цвет рамки(по умолчанию - 0xffffff). visible - имеет значение false, если компонент скрыт (по умолчанию - true) X, Y - абсолютные координаты левого верхнего угла Методы компонента (см. "кнопка")
-
Окно ввода. Edit1=Form1:addEdit(left,top,onEnter) Команда создает на форма Form1 окно ввода и возвращает указатель на вновь созданный объект. Окно ввода позволяет вводить с клавиатуры текст, ограниченный одной строкой. Параметры вызова метода addEdit: left,top - (числа) координаты левого верхнего угла окна относительно объекта которому принадлежит компонент. onEnter - (функция) обработчик окончания ввода. Левый щелчок мыши на окне переведет компонент в режим ввода текста. Завершение ввода осуществляется нажатием клавиши Enter. После чего вызывается функция-обработчик, если она определена. Функция принимает один параметр - указатель на компонент, который ее вызвал. Дополнительные свойства: W - ширина окна (по умолчанию - 20). H - высота (по умолчанию - 3) text - строка текста, введенного в окно ввода. border - наличие рамки (по умолчанию - 1) color - цвет фона (по умолчанию - 0x000000), fontColor - цвет текста и рамки(по умолчанию - 0xffffff). visible - имеет значение false, если компонент скрыт (по умолчанию - true) X, Y - абсолютные координаты левого верхнего угла Методы компонента (см. "кнопка")
-
Надпись. Создается командой: Label1=Form1:addLabel(left,top,caption) Команда создает на форма Form1 надпись и возвращает указатель на вновь созданный объект. Параметры вызова метода addLabel: left,top - (числа) координаты левого верхнего угла надписи относительно объекта которому принадлежит надпись. caption - (строка) собственно надпись. Дополнительные свойства: W - ширина надписи (по умолчанию равняется количеству символов в надписи). Если количество символов превышает ширину, лишние символы справа будут обрезаны. H - высота (по умолчанию - 1) border - наличие рамки (по умолчанию - 0) color - цвет фона (по умолчанию - 0x000000), fontColor - цвет шрифта (по умолчанию - 0xffffff). visible - имеет значение false, если надпись скрыта (по умолчанию - true) centered - если этот параметр у становить в true, надпись будет автоматически центрироваться. (По умолчанию - false) alignRight - если этот параметр установить в true и centered==false, надпись будет выравниваться по правому краю. (По умолчанию - false) autoSize - если этот параметр установить в true, ширина компонента W автоматически подстраивается под самую длинную строку надписи. (По умолчанию - true). Да, да, надпись может иметь несколько строк. Разбиение на строки выполняется при помощи символа "\n". X, Y - абсолютные координаты левого верхнего угла Методы компонента (см. "кнопка")
-
Кнопка. Создается командой: Button1=Form1:addButton(left,top,caption,onClick) Команда создает на форме Form1 кнопку и возвращает указатель на вновь созданный объект. Еще раз обращаю внимание: метод forms.addForm вызывается через разделитель "точка", а Form1:addButton - через "двоеточие", поскольку forms - это библиотека, а Form1 - объект. Параметры вызова метода addButton: left,top - (числа) координаты левого верхнего угла кнопки относительно объекта, которому принадлежит кнопка. caption - (строка) надпись на кнопке. onClick - (функция) обработчик нажатия на кнопку. Левый щелчок мыши на кнопке вызовет функцию-обработчик. Функция-обработчик принимает один параметр - указатель на кнопку, которая была нажата. Дополнительные свойства кнопки: W - ширина кнопки (по умолчанию - 10) H - высота кнопки (по умолчанию - 1) border - наличие рамки (по умолчанию - 0) color - цвет кнопки (по умолчанию - 0x606060), fontColor - цвет надписи и рамки (по умолчанию - 0xffffff). visible - имеет значение false, если кнопка скрыта (по умолчанию - true) X, Y - абсолютные координаты левого верхнего угла кнопки Методы компонента: hide() - скрывает компонент. show() - отображает ранее скрытый компонент isVisible() - возвращает true, если компонент не скрыт и находится на активной форме. redraw() - принудительно перерисовывает компонент. Компоненты интерфейса (кнопки, надписи и т.д.) можно создавать не только на форме, но и на других компонентах. К примеру, кнопку можно создать на рамке или надпись на кнопке. При этом дочерний объект будет перемещаться, исчезать и появляться вместе с объектом-родителем.
-
А почему используется внешний SQL-сервер. Силами одного ОС-компа это сделать нельзя?
