Блог им. kurd

Удобство использования визуального интерфейса IUP в Quik Lua

Не так давно я сетовал на неудобства IUP smart-lab.ru/blog/1212710.php
Это «не точно». На самом деле есть возможность вывешивать из скрипта main() в Quik Lua немодальные окна IUP.
require("iuplua")
local interrupted

function OnStop()
  interrupted = true
end
--[[
function sleep(n) -- standalone
  if n > 0 then
    os.execute("ping -n "..
      tonumber(n) .." localhost > nul")
  end
end
--]]
function main()
  local btn1 = iup.button { title = "Show Dialog", }
  function btn1:action()
    local r = iup.Alarm("", "Main Title doesn't update!", "Exit")
    if r == 1 then
      interrupted = true
    end
  end -- btn1:action()

  local btn2 = iup.button { title = "Show menu", }
  function btn2:action()
    local item = iup.item { title = "Exit", }
    function item:action()
      interrupted = true
    end

    local menu = iup.menu {
      iup.item { title = "Dialog title doesn't update!",
      active = "NO", }, item
    }:popup(iup.MOUSEPOS, iup. <a name="cut"></a> MOUSEPOS)
  end -- btn2:action()

  local dlg = iup.dialog {
    iup.vbox { btn1, btn2 };
    size = "EIGHTHxEIGHTH",
  }
  function dlg:close_cb()
    interrupted = true
  end --  dlg:close_cb()

  dlg:show()
  local file = io.open("log.txt", "w+")
  if file then
    local pretime = 0
    while not interrupted do
      iup.LoopStep()
      local curtime = os.time()
      if pretime ~= curtime then
        pretime = curtime
        dlg.title = curtime
        file:write (curtime, "\n")
        --file:flush()
      end
      sleep(10) -- sleep(1) -- standalone
    end
    file:close()
  end
  dlg:destroy()
  iup.Close()
  message ("OK")
end -- main()

--main()-- standalone
--print "OK"

	
С-Л продолжает мелкие пакости. Исправьте его ляпсус на
popup(iup.MOUSEPOS, iup.MOUSEPOS)
В немодальном окне IUP можно проделывать любые манипуляции с двусторонней связью между этим окном и скриптом, пока скрипт делает, что в нём закодировано.
Пользуйтесь на здоровье.

NB Есть более простой способ «визуального интерфейса». В каком-то файл, например, Data.lua, можно разместить данные типа
Data = { valu1 = 1, value2 = «2» }
и получить их для скрипта двумя строками кода в скрипте
 os.execute («notepad.exe »… path ..«Data.lua»)
dofile (path ..«Data.lua»), где path — путь на файл Data.lua.

PS Снимок не слишком впечатляющий
Удобство использования визуального интерфейса IUP в Quik Lua
но видно, что окошко IUP вверху справа может быть за пределами окна Quik. Окно «Доступные скрипты» можно свернуть в низ окна Quik'а, о окно IUP — на таскбар Windows.
  • обсудить на форуме:
  • Quik Lua
586 | ★2

Читайте на SMART-LAB:
Фото
Газета «Коммерсант» выпустила тематическое приложение о страховом рынке
Много интересных материалов для тех, кто работает в отрасли и тех, кто так или иначе с ней связан. Полагаем, публикации могут быть интересны и...
Фото
🥳 В десяточку! Два выпуска на сумму более 10 млрд рублей
ГК «А101» завершила сбор книги заявок на два выпуска облигаций общим объемом 10,5 млрд рублей. Начало торгов состоится 26 декабря....
Фото
Золото вместо нефти?
Доходы от экспорта нефти и нефтепродуктов просели в ноябре на фоне ужесточения санкций до $10,97 млрд, всего за 11 месяцев снижение к прошлому...
Фото
Какая доходность среди облигаций с наивысшим рейтингом надежности и сроком погашения от 3 лет?

теги блога Rostislav Kudryashov

....все тэги



UPDONW
Новый дизайн