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

! Получение конфигурации диалога без его показа (:load)

Объявление

отправлено, таблица_вариантов = объект_диалога:load()

Возвращаемые значения

  • отправлено
    Логическое значение, сохранённое для совместимости с форматом возврата :show; этот метод всегда возвращает false.
  • таблица вариантов
    Таблица ключ-значение, сопоставляющая метки вариантов с их значениями.

Описание

Возвращает конфигурацию диалога без его показа. Если для диалога ещё нет сохранённой конфигурации, загружаются значения по умолчанию.

Пример

local dlg = dialog()
--
dlg:set_config('test') -- Идентификатор сохранения конфигурации
dlg:set_timeout(30)
dlg:add_label('简易的效果展示')
dlg:add_range('血量', {0, 1000, 1}, 300)
dlg:add_input('账号', 'ccc')
dlg:add_input('密码', 'aaaa')
dlg:add_picker('性别', {'男', '女', '未知'}, '男')
dlg:add_switch('启用通知', false)
dlg:add_checkbox('喜欢的游戏', {'守望先锋', '魔兽世界', '炉石传说'}, {'守望先锋', '魔兽世界'})
dlg:add_radio('最喜欢的游戏', {'守望先锋', '魔兽世界', '炉石传说'}, '魔兽世界')
--
local _, selects
--
if (utils.is_launch_via_app()) then -- Проверяет, запущен ли скрипт из приложения
_, selects = dlg:show() -- Скрипт, запущенный из приложения, показывает окно конфигурации
else
_, selects = dlg:load() -- Скрипт, запущенный клавишей громкости или другим способом, больше его не показывает
end
--
print("账号", selects["账号"])
print("密码", selects["密码"])
print("性别", selects["性别"])
print("血量", selects["血量"])
--
if (selects['启用通知']) then
print("已启用通知")
else
print("未启用通知")
end
--
print("你喜欢游戏列表")
for _,gamename in ipairs(selects['喜欢的游戏']) do
print(gamename)
end
--
print("你最喜欢游戏:"..selects["最喜欢的游戏"])
--
sys.alert(print.out())

Примечание: в коде используются функции из других глав — utils.is_launch_via_app, sys.alert, print и print.out.