基于计算对数示例的精灵应用
导言
此示例显示了用于计算对数的最简单的交互式应用程序。:
哪里:
- -对数的底数
- -对数参数
- -对数的值。
换句话说,条件满足:
反应式界面
考虑具有响应式接口的应用程序脚本。
using GenieFramework, Stipple
@genietools
@app begin
@in x = 2.0
@in y = 8.0
@out a = 3.0
@onchange x, y begin
a = log(x, y)
end
end
function ui()
row([column([ textfield("Основание:", :x, type="number", min=0),
textfield("Число:", :y, type="number", min=0),
textfield("Значение логарифма:", :a, readonly=true) ])])
end
@page("/", ui)
让我们启动应用程序。
In [ ]:
genie_app1 = engee.genie.start("$(@__DIR__)/log_app1.jl")
display("text/html", """<a href="$(string(genie_app1.url))" target="_blank">在新标签页中打开</a>""")
用户在第一行输入底数,在第二行输入对数参数就足够了。 输入初始数据后自动计算对数值。
从按钮开始
让我们考虑一个应用程序脚本,其中只需单击按钮即可进行计算。
using GenieFramework, Stipple
@genietools
@app begin
@in x = 2.0
@in y = 8.0
@in кнопка = false
@out a = 3.0
@onchange кнопка begin
if кнопка
a = log(x, y)
кнопка = false
end
end
end
function ui()
row([ column([ textfield("Основание:", :x, type="number", min=0),
textfield("Число:", :y, type="number", min=0),
textfield("Значение логарифма:", :a, readonly=true),
btn("Вычислить", @click(:кнопка)) ])])
end
@page("/", ui)
让我们启动应用程序。
In [ ]:
genie_app2 = engee.genie.start("$(@__DIR__)/log_app2.jl")
display("text/html", """<a href="$(string(genie_app2.url))" target="_blank">在新标签页中打开</a>""")
与之前的应用程序一样,用户需要在前两行输入源数据。 但是,在这里,计算发生在单击"计算"按钮之后。
停止应用程序。
In [ ]:
engee.genie.stop("$(@__DIR__)/log_app1.jl");
engee.genie.stop("$(@__DIR__)/log_app2.jl");
结论
提供的示例清楚地展示了Genie在创建交互式工具方面的灵活性。 从反应瞬时计算到经典按钮控制。 这种方法为工程计算器、教育小部件和企业实用程序在Engee环境中的快速原型开发提供了很好的机会。 您可以使用呈现的应用程序作为未来项目的基础。