Блог им. 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
558 | ★2

Читайте на SMART-LAB:
Фото
DXY у ключевой поддержки: шорт-сквиз или новый этап распродажи?
Индекс доллара DXY плавно дрейфует в область месячного минимума в районе 98,50. Однако ослабление доллара на FX неравномерно: EURUSD стоит около...
Фото
🎭 За кулисами ноября: итоги
В прошлом месяце вложения физлиц в ценные бумаги выросли на 36% . В облигации было инвестировано 115,6 млрд , в паи фондов — 31,1 млрд....
Портрет клиента Займера
За 11 лет работы к нам обратилось более 20 млн россиян. Кто же является типичным заемщиком Займера? 🔎 Посмотрим данные за ноябрь этого года. 🔶...

теги блога Rostislav Kudryashov

....все тэги



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