Перейти к содержанию
  • записи
    104
  • комментариев
    125
  • просмотров
    15 460

CE Lua. Ищем свойства userData.


MasterGH

1 360 просмотров

UserData в Lua это пользовательский тип.  Точно не знаю, но я думаю  в документации в CE Lua (celua.txt или здесь на офф. сайте) тип userData у всех классов или большинства классов. Например,  проверим, что главная форма CE это userData тип

local mainFormCE = getMainForm()
print(type(mainFormCE))

 > userdata (вывод из консоли)

Выводим список свойств следующим образом через getmetatable функцию. Метатаблица — это  особая  таблица свойств Lua-переменной (подробнее здесь)

local mainForm = getMainForm()
local listUserData = createStringlist()

for k,_ in pairs(getmetatable(mainForm)) do
  listUserData.add(k)
end

local allowCustomInput = false
local id, name = showSelectionList("Title", "Caption", listUserData, allowCustomInput)
print ('Index: '..id..", Name: "..name)

listUserData.destroy()

 

Результат в виде списка свойство переменной mainForm

Спойлер

image.png

 

Чтобы наглядно было. Свойства эти похожи на свойства из Дельфи. Можно загуглить, они поддробно описываются.

Берем например свойство цвет. Прочитаем оригинальное и запишем свое любое

 

local mainFormCE = getMainForm()
print(mainFormCE.getColor())

> 536870912 -- в hex-е это 0x20000000. Можно перевести в калькуляторе или через print(string.format("%08X", 536870912))

Случайное свое впишем ради наглядного примера

mainFormCE.setColor(546484)
Спойлер

image.png


 

 

  • Понравилось 2
  • Плюс 1

1 Комментарий


Рекомендуемые комментарии

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.