1、简介
aardio是一个桌面软件快速开发工具,专用于 windows 操作系统。相较于其它桌面应用开发平台,比较小众。虽然小众,但是在快速开发小工具的场景还是很有优势的。目前也有很多好用的库可以直接调用。开发的程序可以生成单个可执行文件exe,且体积比较小,方便使用。
2、主要特性
-
小轻快,永久免费
绿色免安装,易于学习和使用,生成的软件体积很小。个人或企业可免费用于开发商用、或非商用的软件。
-
丰富的开源库
aardio 虽小,但提供了惊人数量的开源标准库、扩展库 - 这些库基本都由纯 aardio 代码实现。
-
Web 界面快速开发
可嵌入非常多的浏览器控件,方便地使用 Web 技术编写界面,甚至可以调用系统自带浏览器写软件界面。 -
可视化开发工具
可方便地通过拖拉传统控件创建程序。提供强大的 plus控件(开源)可以快速制作出漂亮的界面。
-
支持多线程
aardio 可以非常方便地支持真多线程,并且提供大量多线程函数库、演示范例。 -
完美支持 Unicode
拥有独特的 UTF 自动标记特性,不但完美支持 Unicode,也可方便地处理二进制数据。 -
支持第三方语言
aardio 属于易用性极强的动态语言,可以方便地调用大量第三方编程语言或这些语言开发的组件。 -
专注 Windows 开发
方便地生成独立 EXE,完美兼容 XP,Vista,Win7,Win8,Win10,Win11 等所有流行桌面操作系统。
3、创建一个aardio项目工程(控制台程序)
说明:由于aardio的IDE一直在更新,本工程版本使用的 IDE 版本为【V40.24.4】
3.1、创建一个工程
import console;
console.setTitle("00_第一个aardio程序");
var str = console.getText("请输入一行文本,然后回车:");
console.log("您输入的是" ,str );
console.pause();
至此,第一个 aardio 控制台程序已经创建完成了,点击 IDE 软件的 绿色三角图标,运行程序,输入要显示的文字,按回车就会打印你输入内容,如下图所示。
3.2、工程代码说明
1、导入 console 库
首先,我们需要导入 console 库,则是编写 aardio 控制台程序的第一步。
import console;
2、设置控制台窗口程序的标题栏
使用 console.setTitle()
函数可以设置控制台窗口程序的标题
console.setTitle("00_第一个aardio程序");
3、获取用户输入
想要获取用户输入吗?使用 console.getText()
函数:
var str = console.getText("请输入一行文本,然后回车:");
4、输出文本
使用 console.log()
函数可以轻松地向控制台输出文本:
import console;
console.log("你好,aardio !");
console.pause();
console.log("您输入的是" ,str ); //输出获取的用户输入文本
注意:我们在程序末尾添加了
console.pause()
,这会让控制台窗口保持打开状态,直到用户按下任意键。
console.log 函数支持任意个任意类型的参数,并且会调用 tostring 函数将所有参数转换为字符串,所以类似 console.log( tostring( time() ) )
这样写是不必要的,可以直接简写为 console.log( time() )
。
如果要打印对象的细节可以改用 console.dump()
函数,例如:
import console;
//打印表对象
console.dump( { 1,2,3} );
console.pause();
如果要以 JSON 格式显示表内容,可以改用 console.dumpJson
函数,例如:
import console;
//以 JSON 格式打印表对象
console.dumpJson( { 1,2,3} );
console.pause();
注意 console 库的所有输出函数都会自动调用 console.open 函数打开控制台。
在编写简单的示例时,我们也可以用一句 print("你好,aardio !");
实现自动打开控制台并在退出前自动暂停,但 print 提供的功能有限,并且 print 函数可能被应用到模板的代码重写。
5、显示加载动画与进度条
//加载动画与进度
import console;
import console.progress;
//显示加载动画
console.showLoading("请稍候",console.color.blue);
sleep(2000); //模拟耗时操作等待2秒
//创建进度条
var bar = console.progress("=","=");
//设置进度条
for(i=1;100;1){
bar.setProgress(i, i + "加载中......");
sleep(30);
}
console.pause();
调用 console.showLoading
函数显示加载动画,如果之后再调用 console.log
等控制台输出函数就会自动停止正在显示的加载动画。
6、设置控制台文本颜色
import console;
console.setTextColor("red");
console.log("这是红色的文字");
console.setTextColor("green");
console.log("这是绿色的文字");
console.setTextColor("blue");
console.log("这是蓝色的文字");
console.pause();
console.writeColorText
与 console.writeText
相同的是都不会在尾部添加换行。
也可以这样写:
import console;
console.writeColorText("这是红色的文字","red");
console.writeColorText("这是绿色的文字","green");
console.writeColorText("这是红色的文字","blue");
console.pause();
console.writeColorText
与 console.writeText
相同的是都不会在尾部添加换行。
7、清屏
如果你想清除控制台中的所有内容,可以使用 console.clearScreen()
:
import console;
console.log("等待2秒后这行文字会被清除");
thread.delay(2000); // 暂停2秒
console.clearScreen(); //可指定列号,行号参数,指定位置之前的正常显示,指定位置之后的清除显示
//console.log("屏幕已经被清除了!");
console.pause();
4、创建一个简单的控制台菜单
import console;
while(true){
console.clearScreen(); //清屏
console.log("====== 欢迎使用 aardio 控制台程序 ======");
console.log("====== 1. 说你好 ======");
console.log("====== 2. 显示当前时间 ======");
console.log("====== 3. 退出 ======");
var choice = console.getText( "请选择(1-3): " );
if(choice == "1"){
console.log("你好!");
}
elseif(choice == "2"){
console.log("当前时间:", time());
}
elseif(choice == "3"){
break;
}
else{
console.log("选择无效,请重新选择!");
}
console.more(1,false); //控制台分页输出显示,不清屏
//console.more(1,true); //控制台分页输出显示,清屏
}
console.logPause("感谢使用,再见!");
这个例子展示了如何创建一个简单的交互式菜单,结合了我们学到的多个 console 库功能。
console 库也提供了 console.choice 函数可以直接创建控制台菜单,示例:
import console;
var menu = {"说你好", "显示当前时间", "退出程序"};
while(true){
var choiceIndex,choiseText = console.choice(menu,"请输入序号:");
if(choiceIndex == "1"){
console.log("你好!");
}
elseif(choiceIndex == "2"){
console.log("当前时间:", time());
}
elseif(choiceIndex == "3"){
break;
}
console.more(1,true); //控制台分页输出显示,不清屏
}
console.logPause("感谢使用,再见!");
console.choice2
函数也可以创建控制台菜单,区别是生成的菜单使用方向键选择,并使用回车键确认,或使用 ESC
键取消选择。
import console;
var menu = {"说你好", "显示当前时间", "退出程序"};
while(true){
var choiceIndex2,choiseText2 = console.choice2(menu,"请输入序号:");
console.choice2(
if(choiceIndex2 == "1"){
console.log("你好!");
}
elseif(choiceIndex2 == "2"){
console.log("当前时间:", time());
}
elseif(choiceIndex2 == "3"){
break;
}
console.more(1,true); //控制台分页输出显示,不清屏
}
console.logPause("感谢使用,再见!");
注意:console 库函数有自动打开控制台的功能,但退出线程时必须主动调用
console.pause()
才能暂停控制台。这是因为 console 库在 aardio 中被大量使用,很可能我们在创建线程或子进制时会调用到 console 库,如果默认执行console.pause()
就可能导致不需要的暂停操作( 同样的原因,我们应当避免在写库时直接调用默认具有暂停控制台功能的import console
改为import console.int
就可以。