赞
踩
https://gitee.com/zhengnianli/EmbedSummary
我们的资料仓库下面之前有一位小伙伴留言:
杂烩君之前偶然间知道aardio这么一个工具,但没有实际去了解过。本期花点时间来了解、学习一下aardio,看看aardio是不是如这位朋友所说的这是一个不错的工具。
aardio属于易用性极强的动态语言,但也是一种混合语言,可以罕见地、非常方便地操作静态类型,因此可以直接调用 C语言、C++ 等等静态语言的 API 接口函数。
aardio应用于桌面软件开发。aardio已经发展了 17年
, 一直保持非常活跃地更新。
aardio的特点:
aardio官网:
https://www.aardio.com/
aardio说白了就是一门编程语言,它很灵活且强大。下面一起通过实例来简单了解aardio。
首先,从aardio官网下载得到aardio开发包:
aardio的开发包非常小!里面的内容有:
其中,开发工具 aardio.exe
只有6MB!相对于其它如Qt Creator、VS等开发工具动不动就几个G,aardio.exe的小就是一大优势。
aardio.exe的界面如:
aardio专注于桌面软件开发。我们就来看一下如何使用aardio来写一个简单的 串口点灯上位机
。没错,这个我们之前有基于QT的手把手开发教程:易懂 | 手把手教你编写你的第一个上位机
本篇文章我们基于aardio来写一个,体验桌面软件快速开发!
首先,使用界面控件设计界面:
这些控件不是拖动过去的。而是 先点击鼠标左键选中某个控件
,再在设计区域 点击鼠标左键放置控件
。
然后,切换到代码视图编写代码:
import win.dlg.message; import win.ui; /*DSG{{*/ mainForm = win.form(text="serial_led";right=457;bottom=329) mainForm.add( baudrateEdit={cls="edit";text="115200";left=212;top=97;right=320;bottom=122;edge=1;multiline=1;z=9}; closeBtn={cls="button";text="关闭串口";left=245;top=170;right=320;bottom=208;z=6}; combobox={cls="combobox";left=212;top=54;right=318;bottom=80;edge=1;items={};mode="dropdown";z=2}; edit={cls="edit";left=12;top=12;right=446;bottom=318;db=1;disabled=1;dl=1;dr=1;dt=1;edge=1;multiline=1;z=1}; ledoffBtn={cls="button";text="灭灯";left=247;top=239;right=322;bottom=277;z=8}; ledonBtn={cls="button";text="点灯";left=130;top=240;right=205;bottom=278;z=7}; openBtn={cls="button";text="打开串口";left=130;top=170;right=205;bottom=208;z=5}; static={cls="static";text="串口";left=148;top=58;right=186;bottom=83;notify=1;transparent=1;z=3}; static2={cls="static";text="波特率";left=148;top=102;right=186;bottom=127;notify=1;transparent=1;z=4} ) /*}}*/ // 串口列表 import sys.comPort; var comPorts = sys.comPort.list(); mainForm.combobox.items = comPorts; mainForm.combobox.selIndex = 1; import sio; var sioPort; // 打开串口 mainForm.openBtn.oncommand = function(id,event){ if(sioPort){ sioPort.close(); } var err; sioPort,err = sio.port(mainForm.combobox.selText); if(!sioPort){ return mainForm.msgErr(err); } sioPort.ioctl(eval(mainForm.baudrateEdit.text),8,1); mainForm.msgOk("已打开端口",1000) } // 关闭串口 mainForm.closeBtn.oncommand = function(id,event){ if(sioPort){ sioPort.close(); mainForm.msgOk("已关闭端口",1000); } } // 点灯 mainForm.ledonBtn.oncommand = function(id,event){ if(!sioPort){ mainForm.openBtn.oncommand(); } if( !sioPort.writeHex("01") ){ return mainForm.msgErr("发送失败"); } else { return mainForm.msgOk("发送ON成功",1000); } } // 灭灯 mainForm.ledoffBtn.oncommand = function(id,event){ if(!sioPort){ mainForm.openBtn.oncommand(); } if( !sioPort.writeHex("00") ){ return mainForm.msgErr("发送失败"); } else { return mainForm.msgOk("发送OFF成功",1000); } } if(_ARGV.opt){ mainForm.edit.print(_ARGV.opt,_ARGV[#_ARGV]); } mainForm.edit.oncommand = function(id,event){ } mainForm.static.oncommand = function(id,event){ } mainForm.static2.oncommand = function(id,event){ } mainForm.show(); return win.loopMessage();
代码比较短,大家应该都看得懂。
运行:
测试:
arrdio上位机
程序打包:
程序打包发布,点击这个按钮就可以,生成的可执行程序不依赖其它文件,有点强~
可以看到,对比之前易懂 | 手把手教你编写你的第一个上位机一文来说,使用aardio来写这个上位机要相对简单很多。无论是从代码量、步骤、程序打包。
aardio作为一门编程语言,其有一定的语法。相关例子:
例如:
但学过C的我们应该很容易可以看得懂。
aardio同样是一门胶水语言,能嵌入很多主流的编程语言:
aardio调用C语言函数:
aardio虽然主要是应用于桌面软件开发,但aardio还包含着许多其它内容:
每一块内容都有很丰富的例子,感兴趣的朋友可自行阅读学习。
如果觉得文章有帮助,麻烦帮忙点赞、收藏、转发,谢谢!
咱们下期见~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。