提问与反馈请发到 aardio 官方微信公众号,请不要发到邮箱或QQ,谢谢!

--------------------------------------------------------------------------- 

推荐阅读:aardio 更新历程回顾:现在活跃更新,以前更新更多更快。17 年不忘初心,一直向前!

请注意:aardio 只维护最新版本并保持向下兼容,
aardio 所有的扩展库、文档、范例、开源代码也会同步更新支持并且仅支持 aardio 最新版本。
使用 aardio 更好的选择是将 aardio 与所有扩展库同步更新到最新版本,并将遇到的向下兼容问题尽快反馈给我们,
aardio 官方将会以最高优先级协助解决向下兼容问题,问题发现得越早,解决的成本就越低,所有的 aardio 用户都会享受到团结一致所带来的好处。 

请注意:更新程序时如果提示 *.ttf 等文件被占用,请先关闭 aardio,更新程序会自动重试并继续完成操作。

aardio v35.76.8:
---------------------------------------------------------------------------
1、改进 fsys.table, fsys.config 尝试自动修复配置文件错误,并改进错误信息提示。
2、修正 custom 控件未刷新,感谢『唐璇』反馈。

aardio v35.76.7:
---------------------------------------------------------------------------
1、优化 dotNet.object 对象 _eq 操作符。

aardio v35.76.6:
---------------------------------------------------------------------------
1、因系统记事本改版,调整部分以记事本做演示的窗口自动化范例。

aardio v35.76.5:
---------------------------------------------------------------------------
1、web.form 默认启用指针事件 。

aardio v35.76.4:
---------------------------------------------------------------------------
1、改进 process.cache 支持搜索 AppPath 注册路径。
2、优化 fsys.lnk.search() 函数。
3、process 库改进 getMainWindow() 函数支持在找不到主窗口时搜索子进程主窗口。
4、改进 winex.mainWindows 支持在找不到主窗口时搜索子进程主窗口。

aardio v35.76.3:
---------------------------------------------------------------------------
1、增加库:winex.mainWindows

aardio v35.76.2:
---------------------------------------------------------------------------
1、更新文档。

aardio v35.76.1:
---------------------------------------------------------------------------
1、更新 FlaUI 扩展库以及范例,增加部分函数。

aardio v35.76.0:
---------------------------------------------------------------------------
1、导入的 .NET 类允许添加 ctor 名称的扩展构造函数。
2、增加 table.getCall() 函数。

aardio v35.75.2:
---------------------------------------------------------------------------
1、改进 Chrome Driver 检测下载功能。

aardio v35.75.0:
---------------------------------------------------------------------------
1、改进 chrome.driver 自动匹配下载 ChromeDriver 功能以支持 Chrome 115 以上版本。
2、添加 inet.http.status(),inet.whttp.status() 函数。

aardio v35.74.5:
---------------------------------------------------------------------------
1、改进所有 mouse 库函数支持用 :POINT 结构体(或兼容对象)指定坐标参数。

aardio v35.74.4:
---------------------------------------------------------------------------
1、优化 console.showLoading() 函数。

aardio v35.74.3:
---------------------------------------------------------------------------
1、win.form 增加 onRestored 事件。
2、修正 win.dlg.message 显示异常。

aardio v35.74.2:
---------------------------------------------------------------------------
1、win.ui 优化 DPI 缩放功能。
2、改进 winex.tooltip 在后台线程使用时自动附加前台输入线程。

aardio v35.74.1:
---------------------------------------------------------------------------
1、chrome.app 兼容 Supermium 浏览器。
2、增加 FlaUI 扩展库以及范例。
3、优化 dotNet 库,在实例化 .NET 类失败时抛出异常取代之前仅仅返回 null 值。 
并支持在非函数调用语句中获取 .NET 静态函数。

aardio v35.73.2:
--------------------------------------------------------------------------- 
1、改进 win.dlg.chineseNumber 保持上次输入选项索引。
2、win.ui.tabs 代码优化,改进 margin 属性自适应功能 。

aardio v35.73.1:
--------------------------------------------------------------------------- 
1、优化 dotNet.reference() 函数,修正个别程序集使用此函数加载后报错。
2、mouse 库所有函数支持用 ::RECT,::RECTF,System.Windows.Rect(.NET) 结构体代替坐标参数。

aardio v35.72.1:
--------------------------------------------------------------------------- 
1、标准库增加 .NET 库: System.DateTime,System.TimeSpan

aardio v35.72.0:
--------------------------------------------------------------------------- 
1、修正 web.socket.server, web.socket.client 报拼接 buffer 错。
2、增加 raw.join() 函数。

aardio v35.71.0:
--------------------------------------------------------------------------- 
1、增加库 thread.channel 以及范例(范例 / aardio 语言/ 多线程)。
2、优化 thread.var,thread.table 实现,改进 thread.table 增加 add, release 函数。
3、改进 thread.wait,thread.waitOne 等函数,允许参数为可转换为线程句柄的对象。

aardio v35.70.16:
--------------------------------------------------------------------------- 
1、优化 工具 / web.form 探针。

aardio v35.70.15:
--------------------------------------------------------------------------- 
1、改进 py3 系列扩展库:
console 库函数打开控制台时将自动绑定 Python 标准输出输入,并改进相关范例。

aardio v35.70.14:
--------------------------------------------------------------------------- 
1、增加 win.clip.file.oleCopy() 函数。
2、win.clip.gif.write() 函数兼容 OLE 格式。
3、修正 winex.accObject.getCaret() 报错。

aardio v35.70.13:
--------------------------------------------------------------------------- 
1、更新《语法与使用手册》。

aardio v35.70.12:
--------------------------------------------------------------------------- 
1、ide.createProcess() 允许指定启动参数。
2、增加 SQLite 全文搜索范例。

aardio v35.70.11:
--------------------------------------------------------------------------- 
1、process.popen 修正 jsonWrite 函数错误,感谢『风鸣』反馈。

aardio v35.70.10:
--------------------------------------------------------------------------- 
1、修正 fsys.update.simpleMain 检测进程错误,感谢 『M.k』 反馈。
2、修正 win.ui 处理 _WM_DISPLAYCHANGE 消息错误,感谢 『沧海』 反馈。

aardio v35.70.9:
--------------------------------------------------------------------------- 
1、修正 fsys.searchFile() 报错。

aardio v35.70.8:
--------------------------------------------------------------------------- 
1、优化调用 Python 范例。

aardio v35.70.7:
--------------------------------------------------------------------------- 
1、init.aardio 移除启动插件。

aardio v35.70.6:
--------------------------------------------------------------------------- 
1、wsock.tcp.asynHttpServer,wsock.tcp.simpleHttpServer 允许 URL 参数包含未编码 ? 号。

aardio v35.70.5:
--------------------------------------------------------------------------- 
1、支持用 web.view.browserArguments 修改 WebView2 默认启动参数。

aardio v35.70.4:
--------------------------------------------------------------------------- 
1、修正语法手册重复显示报错对话框。

aardio v35.70.3:
--------------------------------------------------------------------------- 
1、语法手册样式优化。

aardio v35.70.2:
--------------------------------------------------------------------------- 
1、修正语法手册打不开,感谢 microshare 反馈。
2、优化 fsys.update.app 。

aardio v35.70.1:
--------------------------------------------------------------------------- 
1、优化 golang 扩展库,更新 Go 编译器版本以及下载镜像。
build(),buildStrip() 等函数默认添加输出路径参数。

aardio v35.70.0:
--------------------------------------------------------------------------- 
1、改进 protobuf 解析器,修正 enum 报错。
2、更新 React,Vue 范例工程。

aardio v35.69.3:
--------------------------------------------------------------------------- 
1、更新 web.sciter 扩展库( 升级 Sciter 组件 )以及范例。

aardio v35.69.2:
--------------------------------------------------------------------------- 
1、修正新版 Chrome,WebView2 远程调试接口报 403 错,感谢『夜雨』反馈。

aardio v35.69.1:
--------------------------------------------------------------------------- 
1、更新自动化 > 找图范例。

aardio v35.69.0:
--------------------------------------------------------------------------- 
1、添加 response.eventStream() 函数,可简化输出 SSE 数据包代码。
支持 wsock.tcp.simpleHttpServer, wsock.tcp.asynHttpServer,fastcgi.client 等 HTTP 服务端库。
增加相关范例。

aardio v35.68.6:
--------------------------------------------------------------------------- 
1、web.rest.client,inet.http,inet.whttp 支持 SSE 。
2、优化 process.php.cgi 。

aardio v35.68.5:
--------------------------------------------------------------------------- 
1、修正 范例 > 自动化 > UIA > UIAutomationClient 笔误,感谢『Main』反馈。

aardio v35.68.4:
--------------------------------------------------------------------------- 
1、优化 win.ui.ctrl.ipaddress 控件。

aardio v35.68.3:
--------------------------------------------------------------------------- 
1、sys.printer.device 对象增加 rect() 函数。
2、string.xml,string.html 增加 eachQuery()  函数。

aardio v35.68.2:
--------------------------------------------------------------------------- 
1、优化 win.ui.grid 。

aardio v35.68.1:
--------------------------------------------------------------------------- 
1、改进 process.control 支持表参数与省略参数。
2、inet.downBox 改进 endProc 回调可在参数中获取下载路径。

aardio v35.68.0:
--------------------------------------------------------------------------- 
1、修正新版 WebView2 组件不支持 Win8 系统导致的问题,感谢『然』反馈。

aardio v35.67.8:
--------------------------------------------------------------------------- 
1、增加库 web.form.snap,改进 web.form 截图范例。
2、增加范例 > 图形图像 > SVG 转 PNG 。

aardio v35.67.7:
--------------------------------------------------------------------------- 
1、 web.rest.jsonClient, web.rest.jsonLiteClient 增加 strictParsing 属性。

aardio v35.67.6:
--------------------------------------------------------------------------- 
1、 修正 win.ui.explorer 报错,感谢『如是』反馈。

aardio v35.67.5:
--------------------------------------------------------------------------- 
1、 win.ui.grid 允许 setReadonlyColumns(-1) 禁止编辑所有列,并优化排序图标显示效果。

aardio v35.67.4:
--------------------------------------------------------------------------- 
1、改进 win.wait() 函数,调用后立即执行一次回调函数。
2、web.form 增加 xcall, jsObject 函数,改进相关范例。
3、web.view 范例优化。

aardio v35.67.3:
--------------------------------------------------------------------------- 
1、process.python.jsonRpc() 支持 Python 命名参数(用法参考范例)。
2、优化 process.rpc.jsonClient, wsock.tcp.jsonClient 等错误处理代码。

aardio v35.67.2:
--------------------------------------------------------------------------- 
1、process.rpc.jsonClient 兼容 JSON-RPC 1.0 / 2.0 。

aardio v35.67.1:
--------------------------------------------------------------------------- 
1、增加库 process.rpc.jsonServer ,可通过管道快速创建 JSON-RPC 服务端。

aardio v35.67.0:
--------------------------------------------------------------------------- 
1、增加 process.python.jsonRpc() 函数,
可用更简单的代码创建与 Python 进程的 JSON-RPC 交互客户端。
 
2、改进库:
web.rpc.jsonClient
wsock.tcp.jsonClient
process.rpc.tcpJsonClient
process.rpc.jsonClient

在调用远程函数时,如果服务端返回对象包含 error 对象,则在第 2 个返回值返回  error 对象的 JSON 文本。

aardio v35.66.1:
--------------------------------------------------------------------------- 
1、修正调用 Fortran 范例报错。

aardio v35.66.0:
--------------------------------------------------------------------------- 
1、改进 process.gcc 允许执行 gcc 同目录的其他 exe ,添加相关范例。

aardio v35.65.3:
--------------------------------------------------------------------------- 
1、增加 process.gcc.get(), process.gcc.match() 函数。

aardio v35.65.2:
--------------------------------------------------------------------------- 
1、chrome.app 改进 setPos() 函数支持 DPI 缩放。

aardio v35.65.1:
--------------------------------------------------------------------------- 
1、优化调用 Go 范例。

aardio v35.65.0:
--------------------------------------------------------------------------- 
1、增加库:sys.wsa ,用于操作安卓子系统。
2、安卓子系统范例移动到:范例 > 操作系统 > 安卓子系统。

aardio v35.64.4:
--------------------------------------------------------------------------- 
1、优化操作安卓子系统范例。

aardio v35.64.2:
--------------------------------------------------------------------------- 
1、增加 process.adb.key***** 系列模拟按键函数,增加调用范例。

aardio v35.64.1:
--------------------------------------------------------------------------- 
1、改进 process.adb 增加更多函数,添加 adb 调用范例。

aardio v35.64.0:
--------------------------------------------------------------------------- 
1、添加范例 > 网络应用 > 安卓子系统。
2、升级 process.adb 扩展库,添加 installUrl() 函数,可直接自指定网址下载安装安卓应用。
3、改进 com.shell.activateApp() 可在 AUMID  参数中指定搜索关键词,可省略并自动获取应用程序ID。
4、增加 com.shell.findApp() 函数。
5、fsys.lnk.search(),fsys.lnk.searchLnk() 支持自启动参数搜索,并在第二个返回值返回启动参数。

aardio v35.63.7:
--------------------------------------------------------------------------- 
1、修正 process.popen.ps 乱码,优化 process.popen.ps 调用范例。

aardio v35.63.6:
--------------------------------------------------------------------------- 
1、优化调用 Go 语言范例。

aardio v35.63.5:
--------------------------------------------------------------------------- 
1、优化 wsock.udp.ssdpClient 。

aardio v35.63.4:
--------------------------------------------------------------------------- 
1、fsys.searchFile() 可通过指定参数 @3 为 true 允许搜寻子目录。
2、修正 process.mplayer 参数笔误,感谢『天~♬』反馈。
3、process.mplayer 扩展库代码优化,升级 MPlayer 组件,优化调用范例。

aardio v35.63.3:
--------------------------------------------------------------------------- 
1、增加 inet.adapterInfo 库,优化 inet.adapter 库。
2、优化 sys.networkCards 库,不再依赖 inet.adapter。

aardio v35.63.2:
--------------------------------------------------------------------------- 
1、优化 process.gcc 库,增加范例 > 调用其他语言 > GCC。
2、偄化 process.gfortran 库以及范例。

aardio v35.63.1:
--------------------------------------------------------------------------- 
1、增加范例  > 网络应用  > adb  > 手机扫码配对(无线调试)。

aardio v35.63.0:
--------------------------------------------------------------------------- 
1、调用 Go 范例添加 JSON 传参、安装第三方 Go 模块等范例。

aardio v35.62.6:
--------------------------------------------------------------------------- 
1、优化 raw.jsonCall() 以及 golang 库提供的 aardio.callJson。

aardio v35.62.5:
--------------------------------------------------------------------------- 
1、添加范例 > 调用其他语言 > Go > 应用 > mDNS 发现设备。
这个范例使用的 golang.mdns 扩展库是调用 Go 语言编写的组件。

golang.mdns 扩展库源码:
\lib\golang\mdns\.go\build.aardio
演示了如何用 aardio 创建 Go 项目,下载第三方 Go 模块,
并且编译为 DLL,在 aardio 中内存加载调用,并生成独立 EXE 程序。

aardio v35.62.4:
--------------------------------------------------------------------------- 
1、优化 golang 库以及范例,golang() 使用首参数指定工作目录。

aardio v35.62.3:
--------------------------------------------------------------------------- 
1、增加 web.rest.htmlClient.get() , web.rest.htmlClient.post() 等函数。 
2、改进壁纸切换工具,可查看网络壁纸简介。

aardio v35.62.2:
--------------------------------------------------------------------------- 
1、golang 支持使用 main 属性直接指定默认 Go 源码。 

aardio v35.62.1:
--------------------------------------------------------------------------- 
1、增加调用 Go 进程传参、读写管道示例。
2、修正 process 打开文档失败。

aardio v35.62.0:
--------------------------------------------------------------------------- 
1、改进标准库 process, process.popen,修正部分程序需要额外添加启动路径为首参数问题。
2、优化 golang 库 。

aardio v35.61.1:
--------------------------------------------------------------------------- 
1、优化调用 Go 范例。

aardio v35.61.0:
--------------------------------------------------------------------------- 
1、改进 process.rpc.jsonClient 支持 Go 语言,
添加用 process.rpc.jsonClient 与 Go 程序交互范例。

aardio v35.60.3:
--------------------------------------------------------------------------- 
1、增加库 raw.jsonCall 。
2、golang 扩展库增加 aardio.callPtr(),aardio.callJson() 等函数与范例。

aardio v35.60.2:
--------------------------------------------------------------------------- 
1、优化调用 Go 范例。

aardio v35.60.1:
--------------------------------------------------------------------------- 
1、添加部分参考链接。

aardio v35.60.0:
--------------------------------------------------------------------------- 
1、增加库 process.rpc.tcpJsonClient 。
2、简化 Go 语言 RPC 交互范例。
3、改进 com.oleDb.hasProvider() 函数,修正检测可能出错的问题,感谢『东方』反馈。

aardio v35.59.1:
--------------------------------------------------------------------------- 
1、优化 golang 库。

aardio v35.59.0:
--------------------------------------------------------------------------- 
1、golang 支持在 Go 代码中用 aardio.Call 更方便地回调 aardio 窗口函数。
增加范例:调用其他语言 > Go > aardio.Call 回调。

aardio v35.58.4:
--------------------------------------------------------------------------- 
1、golang 库更新 Go 版本。

aardio v35.58.3:
--------------------------------------------------------------------------- 
1、nodeJs 库更新默认 node 版本。

aardio v35.58.2:
--------------------------------------------------------------------------- 
1、优化范例 > COM 组件 > COM 类名查看工具,增加显示控件路径,修正部分类名未列出。

aardio v35.58.1:
--------------------------------------------------------------------------- 
1、范例 > 音频视频 > 音频 > lrc 歌词解析增加音量控制。

aardio v35.58.0:
--------------------------------------------------------------------------- 
1、fsys.media 增加获取进度状态的 isPlaying(),position() 等函数。
增加范例 > 音频视频 > 音频 > fsys.media,演示 MP3 音频播放控制,显示播放进度等功能。

2、优化范例 > 音频视频 > 音频 > lrc 歌词解析。

aardio v35.57.8:
--------------------------------------------------------------------------- 
1、优化录音范例。

aardio v35.57.7:
--------------------------------------------------------------------------- 
1、音频视频 > 音频 > 录音 范例增加音量显示,需更新扩展库。

aardio v35.57.6:
--------------------------------------------------------------------------- 
1、壁纸切换工具 / 网络壁纸 增加翻页功能。

aardio v35.57.5:
--------------------------------------------------------------------------- 
1、listview 控件增加 onCheckedChanged,onFocusedChanged 等事件。

aardio v35.57.4:
--------------------------------------------------------------------------- 
1、static 控件增加 ellipsis 属性。

aardio v35.57.2:
--------------------------------------------------------------------------- 
1、改进 thread.invokeEx() 不阻塞界面消息。
2、优化范例:壁纸查看器,添加网络壁纸。

aardio v35.57.1:
--------------------------------------------------------------------------- 
1、spin 控件设置伙伴控件时,伙伴控件自动启用限制输入数字。

aardio v35.57.0:
--------------------------------------------------------------------------- 
1、优化窗体设计器。

aardio v35.56.4:
--------------------------------------------------------------------------- 
1、优化调用 Edge 范例。

aardio v35.56.3:
--------------------------------------------------------------------------- 
1、添加范例:音频视频 > 音频 > 录音。

aardio v35.56.2:
--------------------------------------------------------------------------- 
1、优化 IP 地址控件。

aardio v35.56.1:
--------------------------------------------------------------------------- 
1、增加 sys.displaySwitch,废弃 process.displaySwitch (Win11 已移除该命令)。

aardio v35.56.0:
--------------------------------------------------------------------------- 
1、优化 spin 控件显示效果。

aardio v35.55.2:
--------------------------------------------------------------------------- 
1、web.view 增加禁止弹窗范例。
2、richedit 除非指定 noscroll 为 true ,则默认添加 ES_DISABLENOSCROLL 样式。

aardio v35.55.1:
--------------------------------------------------------------------------- 
1、修正电源管理关屏范例笔误,感谢『蒸鱼』反馈。

aardio v35.55.0:
--------------------------------------------------------------------------- 
1、process 对象添加 setInfo() 函数,getInfo() 参数可添加结构体参数获取指定的进程信息。
2、添加范例:进程 > 效率模式,用于演示切换 Windows 11 支持的效率模式。

aardio v35.54.2:
--------------------------------------------------------------------------- 
1、优化复制 HTML 代码块功能。

aardio v35.54.1:
--------------------------------------------------------------------------- 
1、修正新版 picturebox 控件 getBitmap() 函数导致程序异常。
2、picturebox 控件增加 clear() 函数。

aardio v35.54.0:
--------------------------------------------------------------------------- 
1、treeview 控件增加 onSelChanged, onClick, onRightClick, onDoubleClick 等事件。

aardio v35.53.1:
--------------------------------------------------------------------------- 
1、web.view 代码优化。
2、spin 控件代码优化。

aardio v35.53.0:
--------------------------------------------------------------------------- 
1、web.view 增加 onFullscreen 事件以及 fullscreen 函数,可以更方便地控制网页全屏。
2、web.view 添加显示 pdf 以及设置参数范例。 

aardio v35.52.8:
--------------------------------------------------------------------------- 
1、sys.monitor.changeMode() 添加 deviceName 参数。

aardio v35.52.7:
--------------------------------------------------------------------------- 
1、增加库 inet.errorMessage。

aardio v35.52.6:
--------------------------------------------------------------------------- 
1、修正 win.ui.layered 用于有边框窗口,orphanWindow 位置有误差的问题,感谢『Poto』反馈。

aardio v35.52.5:
--------------------------------------------------------------------------- 
1、更新 web.view 范例 > React hooks 使用的 antd 组件为 v5.1。

aardio v35.52.4:
--------------------------------------------------------------------------- 
1、修正 chrome.app 范例报 403 错误。

aardio v35.52.3:
--------------------------------------------------------------------------- 
1、增加库 dotNet.nuget,用于自动下载  NuGet 包。

aardio v35.52.2:
--------------------------------------------------------------------------- 
1、web.form,web.view 等增加 Lottie 动画范例。

aardio v35.52.1:
--------------------------------------------------------------------------- 
1、修正新版窗体设计器设置『Tab 控制』属性未生效,感谢『小肥羊』反馈。

aardio v35.52.0:
--------------------------------------------------------------------------- 
1、web.rest.client 添加 setAuthToken() 函数,
可直接指定 token ,也可以指定返回 token 的网址。
所有基于 web.rest.client 的类自动继承此函数。

2、优化 web.rest.jsonClient,web.rest.jsonLiteClient,
当服务端返回错误格式 JSON 时,返回响应字符串而非抛出异常。

aardio v35.51.3:
--------------------------------------------------------------------------- 
1、修正托盘图标跳动范例停止按扭无效的问题,感谢『宗卫泉』反馈。
注意:winform.reduce() 创建的动画必须用 winform.reduce(false) 停止。 

aardio v35.51.2:
--------------------------------------------------------------------------- 
1、mouse.moveTo() 支持 ::RECT 参数。

aardio v35.51.1:
--------------------------------------------------------------------------- 
1、增加 winex.selection ,用于快速获取外部焦点窗口选区文本。

aardio v35.51.0:
--------------------------------------------------------------------------- 
1、窗口设计器增加控件置顶快捷键 Ctrl + Shift + MLB(鼠标左键)。
按 Ctrl + Shift + MLB 依次点击全部控件可重排 Z 序(也就是 Tab 键切换顺序)。
2、增加 time.stamp() 函数。
3、优化 com.picture,picturebox 控件。
4、优化智能提示。

aardio v35.50.2:
--------------------------------------------------------------------------- 
1、修正 JPEG 压缩工具、二维码识别工具路径错误,感谢『雪之梦』反馈。

aardio v35.50.1:
--------------------------------------------------------------------------- 
1、优化 key.ime.stateBar 。

aardio v35.50.0:
--------------------------------------------------------------------------- 
1、增加函数: 
winex.tooltip.popup();
winex.tooltip.balloon();
废弃 winex.tooltip.trackPopup();

2、优化 winex.caret 。

3、优化 System.Windows.Automation.3 。

aardio v35.49.2:
--------------------------------------------------------------------------- 
1、增加:工具 > UIA/MSAA 控测器。
2、增加 UIA 范例。

aardio v35.49.1:
--------------------------------------------------------------------------- 
1、增加 System.Windows.Automation.3 扩展库,以及『范例 > UIA』。
2、优化 winex.caret,添加 System.Windows.Automation.3 接口。

aardio v35.48.3:
--------------------------------------------------------------------------- 
1、修正 winex.waitMainWnd() 遇到失去响应窗口返回慢的问题,感谢『巩子』反馈。

aardio v35.48.2:
--------------------------------------------------------------------------- 
1、优化 com.cad 模板语法。

aardio v35.48.1:
--------------------------------------------------------------------------- 
1、改进 process.curl 在低版本 curl 支持 命名参数 --json (参数值必须是表对象)。

aardio v35.48.0:
--------------------------------------------------------------------------- 
1、添加库 process.curl ,支持 Win10 1803 及之后的操作系统。
如果要支持 XP,导入语句请改为 import process.curl.7.81 即可。
2、更新 curl 扩展库,升级 curl 组件。
3、增加:范例 > 网络应用 > curl 。

aardio v35.47.7:
--------------------------------------------------------------------------- 
1、 process,process.popen, process.joinArguments 等支持在参数表中用键值对指定命名参数。
例如: process( "cmd.exe",{"/k"="dir"});

aardio v35.47.6:
--------------------------------------------------------------------------- 
1、richedit 控件简化 streamOut() 函数用法,
可在参数 @2 指定文件路径以直接写入文件,可省略参数 @2 直接返回文档数据。

aardio v35.47.5:
--------------------------------------------------------------------------- 
1、优化 win.ui 自适应缩放功能。
2、优化模式匹配工具。

aardio v35.47.4:
--------------------------------------------------------------------------- 
1、listview 控件增加 replaceItems() 函数以及范例。

aardio v35.47.3:
--------------------------------------------------------------------------- 
1、web.view 改进 html 属性支持 aardio 模板语法。
2、升级 web.ruffle 扩展库使用最新版 ruffle.js,优化 web.view 调用 ruffle.js 范例。
3、升级 process.ruffle 扩展库使用最新版 Ruffle。

aardio v35.47.2:
--------------------------------------------------------------------------- 
1、inet.http 默认导入 inet.tls,用于在 Win7 启用 TLS 1.2。
2、inet.whttp 在 Win7 默认开启 TLS 1.2。

aardio v35.47.1:
--------------------------------------------------------------------------- 
1、优化 .NET 范例。
2、优化 web.sysView 范例。

aardio v35.47.0:
--------------------------------------------------------------------------- 
1、修正 inet.httpFile 在 Win7 下载某些 https 地址文件出现无法忽略的证书错误。
2、修正 Win7 下载 WebView2 失败,感谢「夜雨」反馈。

aardio v35.46.0:
--------------------------------------------------------------------------- 
1、优化 dotNet.reference 范例。

aardio v35.45.4:
--------------------------------------------------------------------------- 
1、zlib.httpFile 支持  *.gz 格式压缩文件。
2、添加「范例程序 > 音频视频 > FFmpeg 」。

aardio v35.45.3:
--------------------------------------------------------------------------- 
1、添加「范例程序 > 入门」,建议看看。

aardio v35.45.2:
--------------------------------------------------------------------------- 
1、修正「范例 > Web 界面 > web.form  > ECharts 」未响应鼠标事件。

aardio v35.45.1:
--------------------------------------------------------------------------- 
1、web.view 优化 CDP 范例。

aardio v35.45.0:
--------------------------------------------------------------------------- 
1、web.view 代码优化。
2、优化部分范例。

aardio v35.44.8:
--------------------------------------------------------------------------- 
1、增加部分数组操作范例。

aardio v35.44.7:
--------------------------------------------------------------------------- 
1、console.dump() 支持输出 COM 对象指定的枚举类型。

aardio v35.44.6:
--------------------------------------------------------------------------- 
1、inet.http 修正 eachReadBuffer 函数 bug,感谢「树林子」反馈。

aardio v35.44.5:
--------------------------------------------------------------------------- 
1、增加库 com.oleDb 。

aardio v35.44.4:
--------------------------------------------------------------------------- 
1、改进 mysql.client 更新 MySQL 组件到最新版。
支持自动导入插件,可能过 mysql.client.pluginDir 自定义插件目录。

2、可通过导入以下扩展库快速导入对应 mysql.client 插件:
import mysql.plugin.cachingSha2Password
import mysql.plugin.sha256Password
import mysql.plugin.ed25519

3、添加 io.updateData() 函数。

aardio v35.44.3:
--------------------------------------------------------------------------- 
1、com.cad 增加 NetCompiler() 函数,可以更简单地编译 C# 代码。
2、com.cad 增加 LispExp() 函数,可以更简单地执行 LISP 表达式。
3、com.cad 优化 com.cad 模板解析功能。 

aardio v35.44.2:
--------------------------------------------------------------------------- 
1、com.cad 增加 GetLispFunctions() 函数。
简化 aardio 调用 AutoLISP / Visual LISP 范例。

aardio v35.44.1:
--------------------------------------------------------------------------- 
1、web.view 三维地图范例更新 Cesium.js 到新版。

aardio v35.44.0:
--------------------------------------------------------------------------- 
1、web.view 添加 cdpWait() , cdpQuery(), cdpWaitQuery() 等函数。
添加「web.view 范例 > Devtools 接口 > FileInput」,

aardio v35.43.2:
--------------------------------------------------------------------------- 
1、web.view 添加 CDP 自动化范例。

aardio v35.43.1:
--------------------------------------------------------------------------- 
1、更新 web.sciter 扩展库,添加 jQuery 范例( 新版 Sciter 已支持 jQuery )。

更新 py3,py3.10 扩展库
--------------------------------------------------------------------------- 
修正 py3.pip.process() 安装 Python 模块后不能导入的问题。
请移除工程中 \py\Python + 版本号\site-packages 目录下的模块后重新调用 py3.pip.process("install") 安装。

aardio v35.43.0:
--------------------------------------------------------------------------- 
1、 sys.midiOut 自动修正全角引号、逗号等笔误,修正休止符失效 bug。

aardio v35.42.6:
--------------------------------------------------------------------------- 
1、sys.midiOut 支持在数字音符前后添加 1~5 个单引号以表示升高或降低 5 个八度音高。

aardio v35.42.5:
--------------------------------------------------------------------------- 
1、sys.midiOut 添加 setVelocity() 函数,
以方便在演奏时编程调整默认按键速度(结果就是改变演奏音量)。

2、sys.midiOut 增加 onNote 事件,
演奏音符时触发,使用此事件可在演奏时绘制界面效果。
根据回调参数中的 pitch 参数,参考 sys.midiOut.notes 就可以知道是按了哪个琴键。

aardio v35.42.4:
--------------------------------------------------------------------------- 
1、sys.midiOut 支持在数字音符后加两个 '' 表示高 2 个 8 度。
支持在数字音符前面加两个 '' 表示低 2 个 8 度。

音符与演奏指令可用逗号、竖线、换行(兼容任意换行风格)三种分隔符分隔。

可用双下划线 ‗ 表示半个下划线表示的延时,例如"5,‗,5‗",多个 ‗ 不允许连着写。

aardio v35.42.3:
--------------------------------------------------------------------------- 
1、sys.midiOut 支持在数字音符前加#号表示升高半个音。
例如:"#1,__,#'5___,#6'___" 

aardio v35.42.2:
--------------------------------------------------------------------------- 
1、sys.midiOut 解析字符串乐谱时支持逗号或竖线分隔符(作用一样),
这样就可以用竖线划分小节,可读性更好,翻译乐谱也更轻松了。

aardio v35.42.1:
--------------------------------------------------------------------------- 
1、sys.midiOut 对象已经支持传入多线程在不同通道同时演奏多个不同的乐器。
使用 channel 属性可以改变默认通道(范围 0~16 ),使用 changeInstrument() 改变乐器(可用乐器编号 0~127)。

aardio v35.42.0:
--------------------------------------------------------------------------- 
1、sys.midiOut 支持休止符 0 或 REST,并修正消音符音高计算错误。

aardio v35.41.4:
--------------------------------------------------------------------------- 
1、优化 sys.midiOut 文本乐谱中嵌入函数调用语句的功能。

aardio v35.41.3:
--------------------------------------------------------------------------- 
1、优化范例。

aardio v35.41.2:
--------------------------------------------------------------------------- 
1、web.view 添加 cdp() 函数,可直接调用 DevTools 接口方法。
2、web.view 添加 enableStatusBar() 函数用于设置是否启用状态栏( 默认禁用 )。

aardio v35.41.1:
--------------------------------------------------------------------------- 
1、改进 sys.midiOut 允许在字符串记谱时使用 sys.midiOut.notes 定义的音名。

aardio v35.41.0:
--------------------------------------------------------------------------- 
1、改进 sys.midiOut ,增加 play 函数,添加一种更简单的记谱规则。

教程链接:  https://mp.weixin.qq.com/s/Feq3dT7r7G6F0cXlpXpRZQ

示例:

import sys.midiOut;

//打开播放设备
var midiOut = sys.midiOut(); 

//播放简谱
midiOut.play("
    两只老虎,
    1__,2__,3__,1__, 
    两只老虎,
    1__,2__,3__,1__, 
    跑得快,
    3__,4__,5__,__,
    跑得快,
    3__,4__,5__,__,
    一只没有耳朵,
    5_,6_,5_,4_,3__,1__,
    一只没有尾巴,
    5_,6_,5_,4_,3__,1__, 
    真奇怪,
    2__,'5__,1__,__
"
);  
支持简谱音符记号:1 2 3 4 5 6 7 高音后面加单引号: 1' 2' 3' 4' 5' 6' 7' 低音前面加单引号:'1 '2 '3 '4 '5 '6 '7 可选在上面用参数 @2 指定音符 1 的实际音高,该参数可用字符串指定 sys.midiOut.notes 定义的音名。 一个下划线表示表示一个延时单位:可选在上面用参数 @3 指定延时单位的毫秒数,默认为 250 毫秒 前面的音符(或下划线)与后面的下划线可以连起来写,例如 "5,__,_,5___" 前面加负号表示消息,例如:"5___,-5,'5___,-'5" 可以直接写函数,函数名后必须有括号 () 且必须有参数,例如:"changeInstrument(10),1__,2__,3__" 直接写其他数值表示延时(毫秒),直接写其他字符串表示字幕。 aardio v35.40.2: --------------------------------------------------------------------------- 1、改进 sys.midiOut 范例。 aardio v35.40.1: --------------------------------------------------------------------------- 1、改进 sys.midiOut ,增加 xcall 函数。 可以更方便地编曲记谱,请参考新版范例 > 音频视频 > 音频 > 合成并输出音乐。 2、增加 win.util.lyric 用于快速输出桌面歌词。 aardio v35.39.2: --------------------------------------------------------------------------- 1、sys.midiOut 增加 xcall 函数。 2、增加范例 > Windows 窗口 > 基础知识 > 重叠控件。 3、所有窗口与控件对象增加 valid 属性。 4、修正 subscribe 中取消订阅自身时可能报错的问题,感谢「巴克队长」反馈。 5、subscribe 订阅触发函数可返回 false 取消订阅。 aardio v35.39.1: --------------------------------------------------------------------------- 1、sys.midiOut 添加函数: changeInstrument() afterTouch() channelPressure() cc() pitchBend() 2、修正 tooltip 范例一处报错,感谢「MF」反馈。 aardio v35.39.0: --------------------------------------------------------------------------- 1、time.tick() 在 XP 之后的系统不再清零。 2、优化复制 HTML 代码块功能。 按住 Ctrl 点复制 HTML 代码块开启自动换行。 按住 Shift 点复制 HTML 代码块复制 HTML 源代码。 aardio 编辑器复制的 HTML 代码块在很多在线编辑器都可以直接粘贴,兼容性极好,大家可以试试。 aardio v35.38.12: --------------------------------------------------------------------------- 1、改进 sys.midiOut 允许 note() 函数音符参数传入正值演奏,负值停止演奏(消音效果)。 sys.midiOut.notes 增加小写音名(音高为负值)用于消音。 新版示例:
import sys.midiOut;
namespace sys.midiOut.notes{
    drm = {
        C4,200,
//do 200 毫秒
        c4,150,//停(小写表示消音)
        D4,300,//re 300 毫秒
        E4,400,//mi 400 毫秒
        F4,500,//fa 500 毫秒
        G4,550,//sol 600 毫秒
        A4,600,//la 700 毫秒
        B4,2000 //ti 800 毫秒
    };
}

var midiOut = sys.midiOut();
midiOut.changeInstrument(1);
//切换乐器

for (i,pitch in sys.midiOut.notes.drm) {
  
if(pitch>127) thread.delay(pitch);
  
else midiOut.note(pitch,127/*velocity*/); 
}

midiOut.close();
aardio v35.38.11: --------------------------------------------------------------------------- 1、改进 sys.midiOut 。 aardio v35.38.10: --------------------------------------------------------------------------- 1、增加库 sys.midiOut 。 aardio v35.38.9: --------------------------------------------------------------------------- 1、改进 py3.10 扩展库,避免 py3.run() 函数重置 sys.path 时移除 /py 等默认路径。 2、改进 Python 范例附带《提问前必读》。 aardio v35.38.8: --------------------------------------------------------------------------- 1、py3.exec() 支持 aardio 模板语法。 2、process.python 增加 exec(),execfile()函数,替代并废弃 script(),load() 函数。 aardio v35.38.7: --------------------------------------------------------------------------- 1、工程模板 > web.view > React 更新 antd 组件到 5.0。 aardio v35.38.6: --------------------------------------------------------------------------- 1、优化:范例程序 > 图像图像。 2、修正 win.ui.explorer 报错,感谢「方运钦」反馈。 aardio v35.38.5: --------------------------------------------------------------------------- 1、改进 protobuf.parser 不再依赖开发环境,发布后可用。 aardio v35.38.4: --------------------------------------------------------------------------- 1、优化 protobuf 范例。 aardio v35.38.3: --------------------------------------------------------------------------- 1、改进 process.kill() 指定文件名时返回程序路径。 aardio v35.38.2: --------------------------------------------------------------------------- 1、修正 inet.whttp 通过部分代理访问 HTTPS 报错,感谢「游戏」反馈。 aardio v35.38.1: --------------------------------------------------------------------------- 1、修正 图形图像>jpegUtil.aardio 范例笔误,感谢「Yang」反馈。 2、修正 web.sciter>模板示例笔误,感谢「孤影」反馈。 aardio v35.38.0: --------------------------------------------------------------------------- 1、优化 py3.pip , process.python.pip 等 Python 模块安装工具。 2、增加 py3.pip.process ,可用于在安装时需要调用 python.exe 创建进程的 Python 模块。 这类模块如果用 py3.pip 安装, Python 会误将 aardio.exe 作为 Python.exe 运行并安装失败。 将 py3.pip("intall 模块名") 改为 py3.pip.process("intall 模块名") 即可轻松解决。 不需要其他操作。 3、增加 table.zip 。 aardio v35.37.4: --------------------------------------------------------------------------- 1、优化 win.ui 。 aardio v35.37.3: --------------------------------------------------------------------------- 1、修正 string.xml 一处导致重复添加节点的 bug ,感谢『jiang』反馈该问题。 aardio v35.37.2: --------------------------------------------------------------------------- 1、修正新版「复制代码到 HTML」出现多余换行。 aardio v35.37.1: --------------------------------------------------------------------------- 1、改进了『范例程序 > Windows 窗口 > 工具栏控件』。 aardio v35.37.0: --------------------------------------------------------------------------- 1、改进 win.ui.statusbar 增加 setMinHeight() 函数。 2、win.ui.toolbar 图像列表( imageList)默认开启 DPI 自动缩放。 aardio v35.36.6: --------------------------------------------------------------------------- 1、win.msgbox, winform.msgbox 等函数增加用于限定显示时间的超时参数。 2、优化 combobox 控件,增加 onCloseUp 等事件。 3、改进 process.kill 传入已失效的 进程ID 不再报错,感谢「丑娃儿」反馈。 aardio v35.36.5: --------------------------------------------------------------------------- 1、增加:范例 > 操作系统 > 打印机 > 查找打印机。 感谢「系长」反馈 Win32_Printer 查找打印机方案。 aardio v35.36.4: --------------------------------------------------------------------------- 1、改进 process.gcc 自动在进程环境变量添加 gcc 目录。 aardio v35.36.3: --------------------------------------------------------------------------- 1、 process.python 调用系统 Python 时,可加载 /py 目录下的 Python 模块。 aardio v35.36.2: --------------------------------------------------------------------------- 1、修正 DLL 查看工具报错。 aardio v35.36.1: --------------------------------------------------------------------------- 1、process.python 更好地支持系统自带 Python 了。 现在只要简单地指定 process.python.path = "python.exe" 就可以自动调用系统自带的 Python。 如果系统未安装 Python ,则会自动安装 process.python.version 指定版本的 python 。 如果指定为其他路径,则一律视为绿色嵌入版 Python 进行调用。 如果指定了 process.python.path = "python.exe" process.python.pip 也会自动改为调用系统 pip 。 2、使用 process.python 无论调用系统自带 Python 还是嵌入版 Python , 找不到 Python 都会自动下载安装,process.python.path 的值为 "python.exe" 则自动安装 Python ,否则下载嵌入版 Python 到指定位置。 可通过 process.python.cdnUrl 自定义 Python 镜像网址, 即使镜像网址失效,aardio 也会自动跳转到 Python 官网下载。 process.python 同样支持自带 Python 环境并转换为独立 EXE 程序。 aardio v35.36.0: --------------------------------------------------------------------------- 1、发布工具优化对 Python ,Java 的支持。 2、改进了 Python 自动安装模块的功能,之前的可能遇到的一些麻烦问题现在可以自动解决。 3、重点改进 process.python ,可以调用任意版本 Python ,而且用法更简洁了。 4、process.popen 增加 json,jsonAll,jsonWrite 等函数, 自进程管道读写 JSON 代码更少了,新版 process.python 范例用到了这些函数。 5、改进了 Python 工程向导,上手更快更简单了。 6、增加了 Java 工程向导,上手更快更简单了。 aardio v35.35.2: --------------------------------------------------------------------------- 1、改进 fsys.time : 允许传入数值、 math.size64 等作为构造函数参数。 增加 size64 函数。 2、修正 web.sciter 与 aardio 交互不支持时间值的问题,感谢「孤影」反馈该问题。 注意:该修正依赖新版 fsys.time。 aardio v35.35.1: --------------------------------------------------------------------------- 1、改进 string.database : 增加 dataTable 属性指向默认数据表。 如果调用 parse 函数,则 dataTable 也会指向该函数返回的数据表。 可调用 push 函数向默认数据表追加数据。 push 函数可传入一行中的多个列作为参数,也可以传入多个数据行(列数组)作为参数。 2、添加:范例程序 > 数据库 > csv > string.database 范例。 3、改进 java 范例,优化了范例文档。 aardio v35.35.0: --------------------------------------------------------------------------- 1、改进 dotNet 库支持 .NET 嵌套类。 aardio v35.34.3: --------------------------------------------------------------------------- 1、优化调用 Java 范例。 aardio v35.34.2: --------------------------------------------------------------------------- 1、dotNet 库代码优化。 2、修正 UIA 范例在一些电脑可能报错的问题,感谢「芯上语」反馈。 aardio v35.34.1: --------------------------------------------------------------------------- 1、包含.NET 对象的普通 aardio 数组在传入 .NET 时会临时转换为类型化数组。 可以不再调用 dotNet.createArray() ,写法更简单了。 2、dotNet.createArray() 支持省略长度参数,直接转入一个 aardio 数组作为参数。 3、改进 System.Windows.Automation 合并了 ::UIAutomationTypes 与 ::UIAutomationClient 的 System.Windows.Automation 名字空间。 可以省略 ::UIAutomationTypes.import 调用了。 更新了:范例程序 > 调用其他语言 > dotNet > 应用 > UI Automation aardio v35.33.1: --------------------------------------------------------------------------- 1、增加扩展库 protobuf.compile 用于封装新版 protoc.exe 。 这个主要是用于其他编程语言,aardio 已经提供了 protobuf.parser 可以直接解析 proto 文件。 「 aardio 工具 > 其他 > 其他编译器 > Protobuf 」改为调用 protobuf.compile。 2、调整优化:范例程序 > 网络应用 > protobuf。 3、优化标准库 com.smtp 以及文档,修正 reply 属性未生效的问题,增加 tls 属性。 aardio v35.33.0: --------------------------------------------------------------------------- 1、增加范例 > 控制台程序 > 拦截 Ctrl + C 。 aardio v35.32.2: --------------------------------------------------------------------------- 1、增加标准库 console.int。 2、修正 plus 配色工具字体变小的 bug 。 3、优化 thread.waitOne() 函数,并修正一处兼容问题,感谢「龙葵」反馈。 aardio v35.32.1: --------------------------------------------------------------------------- 1、改进 com.tlbDoc 更友好地显示不定参数。 增加 com.tlbDoc.dump() 可以更方便地查看 COM 对象类型库文档。 2、web.mshtml 增加 querySelector 等函数。 请参考新增范例程序 > Web 应用 > HTML > MSHTML 。 aardio v35.32.0: --------------------------------------------------------------------------- 1、改进 COM 接口兼容性。 调用 AutoCAD 时 IDispatch 对象数组可直接传参,不用再创建 com.SafeArray(9/*_VT_DISPATCH*/)。 修正创建 VL.Application 调用 Lisp 报参数错误(感谢「夜空中最亮的星2021」反馈该问题)。 新增「范例程序 > COM 组件 > AutoCAD > 调用 Lisp」。 2、模式匹配去除串匹配必须惰性匹配的限制。 3、优化复制代码到 HTML 功能。 aardio v35.31.4: --------------------------------------------------------------------------- 1、web.sciter 扩展库更新 Sciter 组件到最新版。 优化 web.sciter 相关范例,增加 Sciter 新版 ANSI 终端演示范例。 Sciter + Chart.js 在新版试了一下效果非常好,一些小问题也都修复了。 aardio v35.31.3: --------------------------------------------------------------------------- 1、增加 MSAA 范例。 aardio v35.31.2: --------------------------------------------------------------------------- 1、winex.accObject 修正 each 函数报错。 aardio v35.31.1: --------------------------------------------------------------------------- 1、优化 fsys.hosts.update() 函数。 aardio v35.31.0: --------------------------------------------------------------------------- 1、web.view,chrome.app 优化 React,Vue,htmx.js 等前端模板, 升级 React 等到最新版,修正新版 npm 兼容性问题等。 2、优化 web.kit 工程模板。 aardio v35.30.0: --------------------------------------------------------------------------- 1、添加 request.pathInfo ,request.documentBase。 request.path 等于 request.documentBase + request.pathInfo。 2、wsock.tcp.simpleHttpServer, wsock.tcp.asynHttpServer ,chrome.app, web.view 等。 优化对 SPA 单页应用的支持。 3、创建 chrome.app 工程可选 React,Vue,htmx.js 等前端模板。 4、整理范例。 aardio v35.29.7: --------------------------------------------------------------------------- 1、优化工程向导。 2、移除 GitHub 优化工具,该工具源码已发布到 GitHub。 aardio v35.29.6: --------------------------------------------------------------------------- 1、sys.runAsTask 增加 get 函数,可用于查询开机任务是否已注册。 aardio v35.29.5: --------------------------------------------------------------------------- 1、fsys.media 增加 deviceId 属性,感谢「天~♬」反馈。 2、fsys.media 打开文件且未关闭时,如果重复创建 fsys.media 打开相同文件,则返回相同对象。 aardio v35.29.4: --------------------------------------------------------------------------- 1、htmx 范例添加 《快速入门教程》 链接。 aardio v35.29.3: --------------------------------------------------------------------------- 1、htmx 范例增加请求多线程后端时,网页自动显示动画等演示。 aardio v35.29.2: --------------------------------------------------------------------------- 1、web.form 工程范例改为使用 htmx,简洁就是好啊! 2、增加库 process.chm 。 aardio v35.29.1: --------------------------------------------------------------------------- 1、添加标准库:process.python , 可用于调用任意版本 Python (兼容32位/64位)。 2、优化 process.rpc.jsonClient。 3、改进 fsys.replace() 函数,可返回替换次数。 4、pocess.popen 增加 peekErr() 函数。 5、优化部分范例。 aardio v35.28.8: --------------------------------------------------------------------------- 1、工程向导增加:Web 界面 > WebView2 > htmx。 aardio v35.28.7: --------------------------------------------------------------------------- 1、增加:范例 > 调用其他语言 > C语言 > 静态数组。 aardio v35.28.6: --------------------------------------------------------------------------- 1、增加:范例 > Web 界面 > web.view > 通用代码块。 不得不说:WebView2 直香!!! aardio v35.28.5: --------------------------------------------------------------------------- 1、更新 web.view 文档系统需求说明。 请注意: Win11 自带 WebView2,Win10 1803 以及之后的系统早就自动推送 WebView2。 因为 Win10 会自动更新,版本小于 1803 的 Win10 数量极少,可以忽略不计。 其他未安装的 WebView2 的系统,只要使用 web.view 就支持自动安装(不需要写任何代码)。 当然这样的系统也已经少到可以忽略不计了(并且会越来越少)。 所以使用 web.view( WebView2 )在体积与部署上的优势会越来越大。 当然更重要的是 WebView2 稳定、性能强悍,接口简洁。 aardio v35.28.4: --------------------------------------------------------------------------- 1、改进调用 Python 范例。 aardio v35.28.3: --------------------------------------------------------------------------- 1、改进「范例程序 > Web 应用 > REST」。 aardio v35.28.2: --------------------------------------------------------------------------- 1、修正 tab 控件延迟刷新问题,感谢「 carl 」反馈。 aardio v35.28.1: --------------------------------------------------------------------------- 1、key.hotkey 修正按住单个按键无法连续输入字符的 bug,感谢「游戏」反馈。 aardio v35.28.0: --------------------------------------------------------------------------- 1、可在 aardio 中使用 py3.pip 自动安装第三方 Python 模块了。 请参考教程:《aardio 自动安装 Python 模块,图形化界面,独立 EXE 一把梭》 https://www.toutiao.com/article/7156725934547091976/ 注意:需要更新 aardio 范例以及 Python 扩展库。 aardio v35.27.1: --------------------------------------------------------------------------- 1、标准库增加:sys.qfe aardio v35.27.0 : --------------------------------------------------------------------------- 1、增加「 范例程序 > 进程 」目录,所有进程操作范例移入该目录。 2、修正「进程 > 入门」 在 Win11 出错。 aardio v35.26.0 : --------------------------------------------------------------------------- 1、process.popen 修正进程结束后调用 peek(0) 无法获取数据的问题。 2、优化 thread.waitOne() 在界面消息循环退出后自动切换为工作线程模式。 aardio v35.25.4 : --------------------------------------------------------------------------- 1、改进调整进程操作与进程管道有关范例: 范例程序 > 自动化 > 进程操作 范例程序 > 自动化 > 进程管道 范例程序 > 文件操作 > 文件权限 aardio v35.25.3 : --------------------------------------------------------------------------- 1、改进 批处理与命令行 > 管道读写 范例。 aardio v35.25.2 : --------------------------------------------------------------------------- 1、优化 web.sciter > Chart.js 范例。 aardio v35.25.1 更新: --------------------------------------------------------------------------- 1、改进 web.sciter 扩展库: 添加库 web.sciter.compatibility.chart,添加调用 Chart.js 创建图表范例。 2、web.sciter 改进 doScript,eval 等函数,允许传入格式化参数。 3、添加 web.sciter.jsObject() 函数。 aardio v35.25.0 更新: --------------------------------------------------------------------------- 1、web.view 支持自动设置 --accept-lang 参数。 aardio v35.24.0 更新: --------------------------------------------------------------------------- 1、改进 web.view,web.sysView,wsock.tcp.simpleHttpServer,wsock.tcp.asynHttpServer 在指定 SPA 应用首页地址时允许传入 URL 附加参数以及位置参数。 aardio v35.23.4 更新: --------------------------------------------------------------------------- 1、wsock.tcp.simpleHttpServer.startSpaUrl() 允许使用参数 @3 指定 HTTP 请求处理函数。 aardio v35.23.3 更新: --------------------------------------------------------------------------- 1、增加:范例程序 > 文件操作 > 特殊路径 > 已知文件夹。 aardio v35.23.2 更新: --------------------------------------------------------------------------- 1、增加「范例程序 > 自动化 > 窗口自动化 > 远程桌面」, 演示调用 win.ts.session().connect() 退出远程桌面并保持会话(窗口自动化程序可继续运行)。 aardio v35.23.1 更新: --------------------------------------------------------------------------- 1、WebView2 范例工程可选择前端项目使用 React 或 Vue。 aardio v35.23.0 更新: --------------------------------------------------------------------------- 1、web.view 支持自动将非根目录应用转换为根目录应用, 例如新版 WebView2 范例工程是这样打开 React 前端项目创建的 SPA 应用: import wsock.tcp.simpleHttpServer; theView.go("\web\index.html",37151); 前端项目也就不用配置发布路径了。 2、 wsock.tcp.simpleHttpServer.startSpaUrl() 函数第 2 个参数可指定 documentBase 目录。 wsock.tcp.asynHttpServer 对象的 spaUrl() 函数第 2 个参数可指定 documentBase 目录。 当然直接通过 documentBase 属性指定也可以。 aardio v35.22.4 更新: --------------------------------------------------------------------------- 1、改进 win.versionEx.displayVersion 在 Win10 系统 20H2 以下版本返回 Release ID。 aardio v35.22.3 更新: --------------------------------------------------------------------------- 1、改进编辑器右键「复制全部到 HTML 代码块」 功能,可兼容更多在线富文本编辑器。 aardio v35.22.2 更新: --------------------------------------------------------------------------- 1、改进 fsys.table, fsys.config 等库函数文档。 aardio v35.22.1 更新: --------------------------------------------------------------------------- 1、优化发布工具,生成 EXE 速度更快。 aardio v35.21.3 更新: --------------------------------------------------------------------------- 1、改进控制台根据系统语言显示适合的提示文本。 2、修正语法与使用手册中「读写结构体」范例读出时少了几个字符的问题,感谢「蒋话」反馈。 aardio v35.21.2 更新: --------------------------------------------------------------------------- 1、改进代码编辑器复制代码到 HTML 输出样式。 2、代码编辑器可识别 chm:// 格式链接,例如: chm://libraries/kernel/string/pattern%20syntax.html aardio v35.21.1 更新: --------------------------------------------------------------------------- 1、修正自开始页打开扩展库管理器,窗口可能未前置的问题。 aardio v35.21.0 更新: --------------------------------------------------------------------------- 1、优化扩展库管理器界面。 扩展库更新: --------------------------------------------------------------------------- 1、soImage 扩展库修正 findImageInWindow 内存占用大问题,感谢「时而飏之」反馈。 aardio v35.20.1 更新: --------------------------------------------------------------------------- 1、开始页添加一个指向「工具 > 扩展库」的链接。 注意:在开发环境中运行 aardio 代码会自动安装缺少的扩展库,非常简单不需要任何额外操作。 2、Python 范例添加部分说明。 经常被问 Python 代码乱按空格为什么会出错 —— 或者当 bug 提交。 这是 Python 基础语法都没看,不了解 Python 里空格本就不能乱按。 aardio v35.20.0 更新: --------------------------------------------------------------------------- 1、web.view 增加 focus 函数用于设置焦点。 2、 winex.accObject 改进 find 函数查找属性参数可用 number 指定匹配序号。 查找属性 role, state 可指定数值,也可以指定文本。 aardio v35.19.3 更新: --------------------------------------------------------------------------- 1、修正注册单字符超级热键时,保持按下不放在触发热键后可能输出字符的问题。感谢「coekwing」反馈。 aardio v35.19.2 更新: --------------------------------------------------------------------------- 1、改进扩展库安装接口。 aardio v35.19.1 更新: --------------------------------------------------------------------------- 1、修正 inet.setProxy() 可能失效的问题,感谢 「🎵 哎哟兔🐰」 反馈。 aardio v35.19.0 更新: --------------------------------------------------------------------------- 1、优化 process.php , 增加 process.php.notify 等函数。 在程序退出时,即使 PHP CGI 进程仍在运行,仍然会自动终止 PHP 进程。 2、调用 PHP 范例增加: CGI 回调范例。 3、增加库 process.php.5.6 ,可用于自动检测安装 PHP 5.6 环境。 当然,process.php 也支持直接将任意版本的 PHP 环境直接放于 /php 目录下, 也支持一键转换为独立 EXE 文件。 4、增加库 sys.vc11,用于检测并自动安装 VC 11 F运行库。 5、添加库 System.IO.Compression.ZipFile。 aardio v35.18.0 更新: --------------------------------------------------------------------------- 1、简化 process.php 调用节口与范例。 aardio v35.17.1 更新: --------------------------------------------------------------------------- 1、发布界面添加「转换为独立EXE」按钮, 支持将需要外部组件的程序一键转换为独立 EXE 文件。 请参考《aardio + Python 可视化快速开发桌面程序,一键生成独立 EXE》: https://www.toutiao.com/article/7147454236828172811/ aardio v35.16.3 更新: --------------------------------------------------------------------------- 1、添加调用 AutoCAD 范例 > 对象数组。 aardio v35.16.2 更新: --------------------------------------------------------------------------- 1、添加:范例 > Web 界面 > web.form > 模拟自动化 > React 输入框。 aardio v35.16.1 更新: --------------------------------------------------------------------------- 1、范例 > 高级选项卡 > 水平选项卡 改为多标签浏览器演示。 aardio v35.16.0 更新: --------------------------------------------------------------------------- 1、web.form 优化 setEle(), dispatchEvent() 等函数。 2、web.view 范例增加 React 文本框自动输入演示。 aardio v35.15.2 更新: --------------------------------------------------------------------------- 1、改进文档。 aardio v35.15.1 更新: --------------------------------------------------------------------------- 1、protobuf 支持 oneof 。 aardio v35.15.0 更新: --------------------------------------------------------------------------- 1、重点改进 protobuf 支持库。 支持 proto2, proto3。接口更简洁,使用更方便了。 数组,map 等对象解析后可通过字段名直接获取或修改,不再需要其他转换字段。 如果使用了旧版 protobuf 库, 请注意调用 protobuf.parser 解析 proto 文件重新生成 aardio 库。 新版已废弃 protobuf 数组字段带 Length 后缀、带 Array 后缀的字段名。 Protobuf 标量类型不再需要转换,全部自动处理。 aardio v35.14.3 更新: --------------------------------------------------------------------------- 1、修正 chrome.app + chrome.driver 混用且指定 userDataDir 时报错,感谢「朱哲」反馈。 aardio v35.14.2 更新: --------------------------------------------------------------------------- 1、修复上个版本 web.view 调用 go 函数打开本地文件失败,感谢「贾」反馈。 aardio v35.14.1 更新: --------------------------------------------------------------------------- 1、更新 web.view 调用 amis 范例。 aardio v35.14.0 更新: --------------------------------------------------------------------------- 1、web.view, web.sysView 改进 go 函数: 如果提前导入 wsock.tcp.simpleHttpServer 或 wsock.tcp.asynHttpServer, 则可自动将符合 io.localpath 规则的路径自动转换为通过 HTTP 访问。 2、修正 console.getPassword() 函数 bug,感谢「零空比特」反馈。 aardio v35.13.1 更新: --------------------------------------------------------------------------- 1、增加 fsys.knownFolder。 aardio v35.13.0 更新: --------------------------------------------------------------------------- 1、修正 wsock.tcp.simpleHttpServer 下载 mp4 错误,感谢「🐵🐶」反馈。 aardio v35.12.3 更新: --------------------------------------------------------------------------- 1、改进 chrome.driver 允许 browser.switchWindow() 传入索引作为参数。 优化 chrome.driver 调用范例。 aardio v35.12.2 更新: --------------------------------------------------------------------------- 1、增加 fsys.opFlags, fsys.opError 属性。 aardio v35.12.1 更新: --------------------------------------------------------------------------- 1、增加「范例 > 网络应用 > 网络管理 > 枚举无线网卡」。这里有一个处理静态类型弹性数组的演示。 其实 aardio 处理这个很简单,写程序以前这些基础语法还是建议了解一下。 2、优化 web.view, web.sysView 调用 JavaScript 的 invoke,xcall,eval 等函数。 3、增加 web.view 调用 Mermaid.js 绘图的范例,其实这些东西在不在 aardio 里用法都一样。 甚至在 aardio 里用法更简单,aardio 支持的接口很丰富,其他语言有不计其数的资源和代码, 很多都只要这样简单地复制粘贴到 aardio 里就可以直接使用,所以别再说找不到了 —— 你根本就没找。 aardio v35.11.10 更新: --------------------------------------------------------------------------- 1、优化开发环境 F5 直接预览 HTML 模板的功能,允许在 JavaScript 内通过 external 访问预览窗口对象。 2、改进部分文档。 aardio v35.11.9 更新: --------------------------------------------------------------------------- 1、优化 web.form 范例。 aardio v35.11.6 更新: --------------------------------------------------------------------------- 1、添加 web.view 调用 KaTeX 范例。 aardio v35.11.4 更新: --------------------------------------------------------------------------- 1、添加 web.view 设置代理范例。 aardio v35.11.3 更新: --------------------------------------------------------------------------- 1、精简空白窗体工程默认代码,去掉默认添加的控件与示例。 aardio v35.11.2 更新: --------------------------------------------------------------------------- 1、修正 plus 控件前景边距偏移问题,感谢 「topbow」反馈。 aardio v35.11.1 更新: --------------------------------------------------------------------------- 1、改进文档范例。 aardio v35.11.0 更新: --------------------------------------------------------------------------- 1、web.view 无边框窗范例增加缩放范围设置。 aardio v35.10.8 更新: --------------------------------------------------------------------------- 1、添加 web.view 创建无边框窗口范例(用网页实现窗口标题栏)。 aardio v35.10.7 更新: --------------------------------------------------------------------------- 1、hotkey 控件支持用 text 属性以文本格式读写热键。 aardio v35.10.6 更新: --------------------------------------------------------------------------- 1、process.popen 改进 readAll() 无错误信息时返回 null 而非空表。 2、修正文档笔误,感谢「巴克队长」、「光庆」反馈。 aardio v35.10.5 更新: --------------------------------------------------------------------------- 1、改进 java.addClassPath() 可在参数中指定 jar 路径。 aardio v35.10.4 更新: --------------------------------------------------------------------------- 1、优化 aardio 调用批处理范例。 aardio v35.10.3 更新: --------------------------------------------------------------------------- 1、修正 process() 参数 @1 非执行文件且包含空格时出错,感谢「nemy」反馈。 aardio v35.10.2 更新: --------------------------------------------------------------------------- 1、win.ui.menu 修正子菜单不能指定图标,感谢「光庆」反馈。 aardio v35.10.1 更新: --------------------------------------------------------------------------- 1、修正 listview 控件 setColumns 函数一处 bug,感谢「Merrick」反馈 。 aardio v35.10.0 更新: --------------------------------------------------------------------------- 1、改进 process.batch 检测并兼容 cmd 非默认代码页设置。 aardio v35.9.6 更新: --------------------------------------------------------------------------- 1、添加: 工具 > 文本文件 > 十六进制编辑器 。 aardio v35.9.5 更新: --------------------------------------------------------------------------- 1、优化 win.util.tray。 aardio v35.9.4 更新: --------------------------------------------------------------------------- 1、更新文档。 aardio v35.9.3 更新: --------------------------------------------------------------------------- 1、修正 fsys.dlg.openEx() 函数返回值错误,感谢 「墨斗」反馈。 aardio v35.9.1 更新: --------------------------------------------------------------------------- 1、修正关闭菜单后回调失效。 aardio v35.9.0 更新: --------------------------------------------------------------------------- 1、优化 win.ui.menu, win.ui.popmenu, 允许构造参数 @1 传入控件对象并自动转换为控件的父窗体。 aardio v35.8.4 更新: --------------------------------------------------------------------------- 1、添加 thread.cmdline 。 aardio v35.8.3 更新: --------------------------------------------------------------------------- 1、改进 string.database : 增加 saveA() 函数,load() 函数允许自定义文件编码。 aardio v35.8.2 更新: --------------------------------------------------------------------------- 1、优化 inet.httpFile 。 aardio v35.8.1 更新: --------------------------------------------------------------------------- 1、优化 inet.httpFile 。 aardio v35.8.0 更新: --------------------------------------------------------------------------- 1、修正 sys.vc14 报错,感谢 「弦」反馈。 aardio v35.7.6 更新: --------------------------------------------------------------------------- 1、修正 winex.key 按键失效,感谢「*尧天」反馈。 aardio v35.7.5 更新: --------------------------------------------------------------------------- 1、改进 win.dlg.findReplace,回调参数 @findWhat 改为 string 类型。 aardio v35.7.4 更新: --------------------------------------------------------------------------- 1、修正升级包制作工具在发布根目录包含多个 EXE 时未自动指定主输出 EXE,感谢「小肥羊」反馈 。 aardio v35.7.3 更新: --------------------------------------------------------------------------- 1、优化 winex.tooltip 。 aardio v35.7.2 更新: --------------------------------------------------------------------------- 1、key.hotkey 修正「@前缀单控制键」热键无效,感谢「阿辉」反馈。 aardio v35.7.1 更新: --------------------------------------------------------------------------- 1、修正新版无法改动 manifest 的问题,感谢「digran」反馈。 aardio v35.7.0 更新: --------------------------------------------------------------------------- 1、web.script 支持 ES6 。 var vm = web.script("ES6") 基于 Win10/Win11 系统自带 Chakra 组件, 性能强悍,不增加软件体积,支持 ES6,箭头函数,let,const,类 …… 非常好用。 可与 aardio 方便地交互调用函数、对象,不需要多写任何代码。 全网唯一不必改动注册表方案。 web.script("ES6") 在 Win7, XP 将自动退化为 web.script("JScript") Win7 已经渐被淘汰,一般可以不用考虑。 扩展库 web.script.yaml 是一个使用 ES6 的示例。 web.script.yaml 不但完美兼容 XP,Win7,Win8,Win10,Win11, 在 Win10,Win11 还可以自动切换到强悍的 Chakra 组件。 2、优化 key.hotkey ,支持「@前缀单控制键」热键, 只要在注册单控制热键前加一个 @ 字符即可,设置仅弹起触发。例如: hotkeyMgr.regStr("@Shift",function(){ }); 3、改进 response.errorStatus() 允许增加参数 @2 自定义响应文本。 优化 wsock.tcp.simpleHttpServer,wsock.tcp.asynHttpServer, fastcgi.client 等跨域支持。 4、优化 key.ime.stateBar ,改进兼容性与提示规则。 5、优化 web.rpc.externalServer 。 aardio v35.6.8 更新: --------------------------------------------------------------------------- 1、优化 web.script.json 。 aardio v35.6.7 更新: --------------------------------------------------------------------------- 1、增加扩展库: web.script.yaml 以及范例 。 aardio v35.6.6 更新: --------------------------------------------------------------------------- 1、增加库: web.script.es5 。 2、process.popen 优化 readAll() 函数。 aardio v35.6.5 更新: --------------------------------------------------------------------------- 1、增加库: win.api 。 aardio v35.6.4 更新: --------------------------------------------------------------------------- 1、增加 edit,richedit 控件范例。 aardio v35.6.3 更新: --------------------------------------------------------------------------- 1、key.ime.stateBar 改进 onImeStateChange 事件,可通过返回值控制显示或隐藏提示。 aardio v35.6.2 更新: --------------------------------------------------------------------------- 1、增加标准库 win.ui.orphanPlus 。 aardio v35.6.1 更新: --------------------------------------------------------------------------- 1、key.ime.stateBar 增加 paused 属性。 aardio v35.6.0 更新: --------------------------------------------------------------------------- 1、改进 win.ui 可更好地支持多屏幕。 程序启动即可检测并默认显示在活动屏幕而非固定主屏。 2、修正 win.dlg.message 总是显示在主屏,感谢「小肥羊」反馈。 aardio v35.5.3 更新: --------------------------------------------------------------------------- 1、优化超级热键。 aardio v35.5.2 更新: --------------------------------------------------------------------------- 1、增加标准库 win.dlg.chineseNumber 。 aardio v35.5.1 更新: --------------------------------------------------------------------------- 1、增加标准库 sys.power.notification 。 aardio v35.4.3 更新: --------------------------------------------------------------------------- 1、改进 key.ime.stateBar 兼容性。 aardio v35.4.2 更新: --------------------------------------------------------------------------- 1、改进 web.rpc.externalServer 允许 getUrl 函数转换远程网址,简化调用范例。 aardio v35.4.1 更新: --------------------------------------------------------------------------- 1、优化默认 config 文件。 aardio v35.4.0 更新: --------------------------------------------------------------------------- 1、plus 绘图模式增加 "auto" 模式, 可根据图像大小,自动选择垂直居中(图像小于绘图区域)或按比例缩放显示。 2、plus 控件 onDrawEnd 回调增加 bmpMem 函数, 可用于方便的获取控件绘制完成的位图对象,可用于快照、截图等用途。 aardio v35.3.5 更新: --------------------------------------------------------------------------- 1、web.rpc.externalServer 增加 getPort() 函数。 aardio v35.3.4 更新: --------------------------------------------------------------------------- 1、优化 web.rest.client 。 aardio v35.3.3 更新: --------------------------------------------------------------------------- 1、web.rest.client 改进 receiveFile 函数允许指定 saveDir 参数,并支持自动创建目录。 aardio v35.3.2 更新: --------------------------------------------------------------------------- 1、增加 sys.locale.setUserDefault(), sys.locale.getUserDefault() 函数。 2、改进 process.execute 对相对路径的处理。 aardio v35.3.1 更新: --------------------------------------------------------------------------- 1、优化 key.ime.state() 检测规则。 aardio v35.3.0 更新: --------------------------------------------------------------------------- 1、修正 richedit 、以及 plus 控件嵌入编辑框字体被放大。 2、优化 ipaddress, syslink 等控件。 3、combobox 控件增加 topIndex,minVisible 属性以及 setCueBannerText() 函数。 4、优化 key.ime.state() 检测规则。 aardio v35.2.8 更新: --------------------------------------------------------------------------- 1、 key.hotkey 增加 loadTable 函数。 aardio v35.2.6 更新: --------------------------------------------------------------------------- 1、改进 key.ime.state() 兼容性。 aardio v35.2.5 更新: --------------------------------------------------------------------------- 1、优化 plus 控件 background 设为 null 值的重绘处理。 aardio v35.2.4 更新: --------------------------------------------------------------------------- 1、key.ime.stateBar 支持前景色、前景边距、渐变等。 aardio v35.2.3 更新: --------------------------------------------------------------------------- 1、fsys.config 可指定备选配置目录。 aardio v35.2.1 更新: --------------------------------------------------------------------------- 1、优化 MPV 视频播放器扩展库与范例。 aardio v35.2.0 更新: --------------------------------------------------------------------------- 1、重构并优化 Java 支持库,更快、更稳定、更好用。 aardio v35.1.0 更新: --------------------------------------------------------------------------- 1、优化 aardio 窗口多屏自适应功能。 2、改进 COM 接口兼容性。 aardio v34.68.2 更新: --------------------------------------------------------------------------- 1、修正 web.view 检测 WebView2 代码兼容性问题,感谢「沧海」反馈。 aardio v34.68.1 更新: --------------------------------------------------------------------------- 1、修正调用 Java 报错,感谢「静待花开、与尔共赏 」反馈。 aardio v34.67.1 更新: --------------------------------------------------------------------------- 1、添加 web.view(WebView2) + 调用本地 ping 命令,并回显到页面示例 。 aardio v34.67.0 更新: --------------------------------------------------------------------------- 1、改进多屏幕支持,建议用新版重新生成一下 EXE 。 aardio v34.66.3 更新: --------------------------------------------------------------------------- 1、优化 win.ui.menu 。 aardio v34.66.2 更新: --------------------------------------------------------------------------- 1、win.guid 增加 _json 元方法。 aardio v34.66.1 更新: --------------------------------------------------------------------------- 1、增加 sys.input.setDefault() 函数。 aardio v34.66.0 更新: --------------------------------------------------------------------------- 1、增加 raw.execute 函数。 2、增加 sys.input.getEnabledLayoutOrTips() , sys.input.getLayoutOrTips() 函数。 3、修正 key.hotkey 对象 regStr 函数指定单键名添加热键失败。 4、改进 win.ui.shadow 对 Windows XP 的兼容性。 aardio v34.65.6 更新: --------------------------------------------------------------------------- 1、优化 fsys.update.dlMgr 。 aardio v34.65.5 更新: --------------------------------------------------------------------------- 1、优化 key.ime.state() 函数。 aardio v34.65.4 更新: --------------------------------------------------------------------------- 1、改进下拉框自动完成等范例。 aardio v34.65.2 更新: --------------------------------------------------------------------------- 1、修正返回盘符包含光驱,感谢 mkoijnn2 反馈。 2、增加 fsys.lnk.searchInDesktop() 函数。 aardio v34.65.1 更新: --------------------------------------------------------------------------- 1、改进 process.cache,增强搜索能力,优化搜索速度。 2、改进 chrome.edge 支持自动搜索绿色版 Edge 。 aardio v34.64.0 更新: --------------------------------------------------------------------------- 1、增加库 sys.power,用于电源管理。 aardio v34.63.2 更新: --------------------------------------------------------------------------- 1、优化 key.ime.state 函数,改进兼容性。 aardio v34.63.0 更新: --------------------------------------------------------------------------- 1、改进 key.ime.state , key.ime.stateBar 兼容性。 aardio v34.62.9 更新: --------------------------------------------------------------------------- 1、改进文档。 aardio v34.62.7 更新: --------------------------------------------------------------------------- 1、改进部分范例。 aardio v34.62.6 更新: --------------------------------------------------------------------------- 1、改进配置文件范例。 aardio v34.62.5 更新: --------------------------------------------------------------------------- 1、key.ime.stateBar 修正在 CMD 窗口总是显示为「中」。 aardio v34.62.4 更新: --------------------------------------------------------------------------- 1、key.ime.stateBar 改进兼容性. aardio v34.62.2 更新: --------------------------------------------------------------------------- 1、增加范例:系统设置 / 操作系统 / 注册表 / 添加搜索路径。 aardio v34.62.1 更新: --------------------------------------------------------------------------- 1、优化 bk 控件。 aardio v34.62.0 更新: --------------------------------------------------------------------------- 1、改进 plus 控件 onPosChanged 事件: 以鼠标或键盘操作改变进度时回调参数 triggeredByUser 为 true 。 2、改进 key.ime.stateBar 支持某些输入法的怪异模式。 aardio v34.61.4 更新: --------------------------------------------------------------------------- 1、优化 win.ui 。 aardio v34.61.3 更新: --------------------------------------------------------------------------- 1、优化扩展库发布工具。 aardio v34.61.2 更新: --------------------------------------------------------------------------- 1、添加用于 key.ime.stateBar 的扩展字体库 fonts.imtip,更新 key.ime.stateBar 范例. aardio v34.61.1 更新: --------------------------------------------------------------------------- 1、添加字体库 fonts.fontAwesomeDlg 。 aardio v34.61.0 更新: --------------------------------------------------------------------------- 1、优化 gdip.privateFontCollection,修正加载字体失败的问题。 aardio v34.60.3 更新: --------------------------------------------------------------------------- 1、key.ime.stateBar 修正 interval 参数未生效。 aardio v34.60.2 更新: --------------------------------------------------------------------------- 1、增加函数 ::LOGFONT.is() 。 aardio v34.60.1 更新: --------------------------------------------------------------------------- 1、key.ime.stateBar 修正 imeSkin 函数一处笔误。 aardio v34.60.0 更新: --------------------------------------------------------------------------- 1、增加以下函数。 key.ime.getCurrentLangId() key.ime.getCurrentLangIdByHwnd() sys.locale.getId() sys.locale.getCountryName() sys.locale.getLangName() sys.locale.getNumber() sys.locale.getString(); 2、优化 key.ime.stateBar 支持自动识别多语言键盘。 aardio v34.59.0 更新: --------------------------------------------------------------------------- 1、使用 web.rest.client 创建的 HTTP API 对象增加以下函数: sendMultipartForm() sendFile() receiveFile() getUrl() getGet() postPost() headHead() putPut() deleteDelete() patchPatch() getGet() postPost() headHead() putPut() deleteDelete() patchPatch() 2、增加 web.rest.client 上传下载文件的范例,用法更简洁。 3、改进「字体图标工具」增加「在线图标工具」链接。 aardio v34.58.2 更新: --------------------------------------------------------------------------- 1、修正 key.ime.stateBar 导入配置丢失边框样式。 aardio v34.58.1 更新: --------------------------------------------------------------------------- 1、优化 key.ime.stateBar。 aardio v34.58.0 更新: --------------------------------------------------------------------------- 1、增加 fsys.dlg.saveOp() 函数。 2、key.ime.stateBar 增加 imeSkin() 函数,可导入 ImTip 2.0 导出的配置参数。 aardio v34.57.3 更新: --------------------------------------------------------------------------- 1、修正 Windows 11 反复调整 DPI 后窗口变大的问题。 aardio v34.57.2 更新: --------------------------------------------------------------------------- 1、修正 plus 编辑框范例字体变小。 aardio v34.57.1 更新: --------------------------------------------------------------------------- 1、控件允许使用 getFont(true) 返回未做 DPI 还原的字体(实际大小)。 aardio v34.57.0 更新: --------------------------------------------------------------------------- 1、plus 控件增加 iconFont 属性。 2、调用控件的 getFont(), setFont() 等函数将自动处理 DPI 缩放。 aardio v34.56.4 更新: --------------------------------------------------------------------------- 1、改进 plus 控件允许 background,foreground 属性返回颜色值。 aardio v34.56.3 更新: --------------------------------------------------------------------------- 1、key.ime.stateBar 增加 onImeStateChange 事件。 aardio v34.56.2 更新: --------------------------------------------------------------------------- 1、优化 orphanWindow 。 aardio v34.56.0 更新: --------------------------------------------------------------------------- 1、增加库: winex.caret , mouse.cursor 等。 2、winex.getFocus() 可指定参数2 为 true 禁止在获取焦点失败时返回传入窗口句柄(或叶级窗口句柄)。 3、改进 key.ime.stateBar 可兼容几乎全部窗口。 aardio v34.55.0 更新: --------------------------------------------------------------------------- 1、优化 plus 控件 orphanWindow 功能。 aardio v34.54.3 更新: --------------------------------------------------------------------------- 1、改进 key.ime.stateBar 更准确识别输入窗口。 aardio v34.54.2 更新: --------------------------------------------------------------------------- 1、优化 key.ime.stateBar。 aardio v34.54.1 更新: --------------------------------------------------------------------------- 1、key.ime.stateBar 增加默认兼容窗口类名。 aardio v34.54.0 更新: --------------------------------------------------------------------------- 1、key.ime.stateBar 增加 imeWatch 函数。 aardio v34.53.6 更新: --------------------------------------------------------------------------- 1、key.ime.stateBar 允许指定兼容窗口类名。 aardio v34.53.5 更新: --------------------------------------------------------------------------- 1、优化 key.ime.stateBar。 aardio v34.53.4 更新: --------------------------------------------------------------------------- 1、key.ime.stateBar 支持中英模式切换不同样式。 aardio v34.53.3 更新: --------------------------------------------------------------------------- 1、添加库 sys.run 。 aardio v34.53.2 更新: --------------------------------------------------------------------------- 1、 添加:范例 / aardio 语言 / 静态类型 / 结构体。 2、 优化 key.ime.stateBar,支持自定义显示字符,范例添加更多自定义样式演示。 aardio v34.53.1 更新: --------------------------------------------------------------------------- 1、 添加:范例 / aardio 语言 / 日期时间 / 计划任务。 aardio v34.53.0 更新: --------------------------------------------------------------------------- 1、 增加 winform.onTrayMessage 事件。 aardio v34.52.7 更新: --------------------------------------------------------------------------- 1、优化 orphanWindow 功能。 aardio v34.52.6 更新: --------------------------------------------------------------------------- 1、改进 key.ime.stateBar 支持超时设置,增加更多自定义样式演示。 aardio v34.52.5 更新: --------------------------------------------------------------------------- 1、修正 sys.storage.getUsbDevices() 获取U盘分区列表失败,感谢「阿辉」反馈。 aardio v34.52.4 更新: --------------------------------------------------------------------------- 1、改进 key.ime.stateBar 可选在构造参数中指定显示坐标偏移像素。 2、修正 key.ime.stateBar 遇到 Word 下会轻微跳动的问题。 aardio v34.52.2 更新: --------------------------------------------------------------------------- 1、改进 key.ime.stateBar 兼容 WPS 表格。 aardio v34.52.1 更新: --------------------------------------------------------------------------- 1、添加 key.ime.stateBar,一句代码创建输入状态栏。 2、win.ui.tooltip 解析超链接支持 href 属性。 aardio v34.52.0 更新: --------------------------------------------------------------------------- 1、添加 winex.tooltip, 在界面线程调用 winex.tooltip.trackPopup() 即可在屏幕任意位置显示气泡提示。 aardio v34.52.0 更新: --------------------------------------------------------------------------- 1、添加 winex.tooltip, 在界面线程调用 winex.tooltip.trackPopup() 即可在屏幕任意位置显示气泡提示 aardio v34.51.8 更新: --------------------------------------------------------------------------- 1、增加函数: winex.getCaret() , winex.accObject.getCaret() 。 aardio v34.51.7 更新: --------------------------------------------------------------------------- 1、修正 console.fullscreen() 无效,感谢「游戏」反馈。 aardio v34.51.6 更新: --------------------------------------------------------------------------- 1、添加:「范例 / 操作系统 / 输入法 / 输入法状态」 aardio v34.51.5 更新: --------------------------------------------------------------------------- 1、win.reg 优化 queryValue() 函数。 aardio v34.51.4 更新: --------------------------------------------------------------------------- 1、优化 process.escapeArgument() 函数。 aardio v34.51.3 更新: --------------------------------------------------------------------------- 1、修正 fsys.update.simpleMain 报错,感谢「小肥羊」反馈。 aardio v34.51.2 更新: --------------------------------------------------------------------------- 1、添加:范例 / 操作系统 / 硬件设备 / DDC/CI(控制显示器) 。 aardio v34.51.1 更新: --------------------------------------------------------------------------- 1、优化 raw.pefile 。 aardio v34.51.0 更新: --------------------------------------------------------------------------- 1、增加 key.v2scan() , key.scan2v() 函数。 2、win.ui.explorer() 增加自动刷新目录范例。 3、增加自动关屏范例(范例 / 操作系统 / 硬件设备 / 自动关屏) 4、优化 win.util.changeNotification 5、treeview 控件增加 getChildren() 函数,允许 clear() 函数指定节点参数。 aardio v34.50.8 更新: --------------------------------------------------------------------------- 1、优化 web.joinHeaders 。 aardio v34.50.7 更新: --------------------------------------------------------------------------- 1、添加「范例 / 网络应用 / inet / http / 请求头」。 aardio v34.50.5 更新: --------------------------------------------------------------------------- 1、修正 HTTP 状态码检测工具链接错误。 aardio v34.50.4 更新: --------------------------------------------------------------------------- 1、优化 inet 库范例。 aardio v34.50.3 更新: --------------------------------------------------------------------------- 1、改进 web.view 未导出 external 对象时不再定义 window.aardio 对象, 以避免 DevTools 出现多余的错误信息(感谢「第一生产力」反馈)。 扩展库更新 --------------------------------------------------------------------------- 1、process.r 兼容 R 4.2,修正下载 R 组件报错(感谢 「四方463」反馈) aardio v34.50.2 更新: --------------------------------------------------------------------------- 1、添加 winform.onPosChanged 事件 。 2、优化 win.ui.shadow 。 3、win.setTopmost(hwnd) 置顶窗口时将自动显示隐藏窗口 。 aardio v34.50.1 更新: --------------------------------------------------------------------------- 1、优化简单画板范例。 aardio v34.50.0 更新: --------------------------------------------------------------------------- 1、修正 web.mshtml 执行 queryEles 报错,感谢「周」反馈。 aardio v34.49.14 更新: --------------------------------------------------------------------------- 1、修正 Python 范例编码错误。 aardio v34.49.13 更新: --------------------------------------------------------------------------- 1、优化 Python 范例。 aardio v34.49.12 更新: --------------------------------------------------------------------------- 1、添加 py3.lib.bs4 扩展库,用于自动安装 bs4 模块。 添加范例 / 调用其他语言 / Python / py3 / bs4 注意: 引入 bs4 模块的关键代码是 py3.appendPath("~\lib\py3\lib\bs4\.py") bs4 模块不需要手动复制到发布目录( /dist/ )下,而是由 ~\lib\py3\lib\bs4\.build\main.aardio 自动发布。 aardio v34.49.10 更新: --------------------------------------------------------------------------- 1、优化范例。 aardio v34.49.9 更新: --------------------------------------------------------------------------- 1、改进 web.script().json 在该对象的下标中传入 JS 表达式, 并可将该对象作为函数调用,传入 aardio 对象则转换为 JS 对象,传入 JS 对象则转换为 aardio 对象。 aardio v34.49.8 更新: --------------------------------------------------------------------------- 1、优化范例。 aardio v34.49.7 更新: --------------------------------------------------------------------------- 1、优化扩展接口。 aardio v34.49.6 更新: --------------------------------------------------------------------------- 1、添加调用 .Net 范例 / 进阶。 aardio v34.49.5 更新: --------------------------------------------------------------------------- 1、增加函数 key.ime.state(), key.ime.capital() 。 2、增加 process.workDir 。 扩展库 更新: --------------------------------------------------------------------------- 1、vc6 扩展库修正 vc6.loadcode() 报错, 在编译 C++ 代码遇到错误时抛出异常并显示错误信息。 aardio v34.49.4 更新: --------------------------------------------------------------------------- 1、WebView2 等视频范例添加 vtt 字幕演示。 aardio v34.49.3 更新: --------------------------------------------------------------------------- 1、改进 wsock.tcp.asynHttpServer 对象 run() 函数: 允许传入多个表参数用于创建虚拟文件路径,虚拟文件后缀为 aardio 时启用模板语法。 aardio v34.49.2 更新: --------------------------------------------------------------------------- 1、优化文件检验工具。 aardio v34.49.1 更新: --------------------------------------------------------------------------- 1、win.ui.tracker 、plus 控件增加 onMouseWheel,onMouseHWheel 事件。 2、gdip.image, gdip.bitmap 增加 isPlaying() 函数用于判断是否正在播放动画。 3、改进 process.popen 避免默认 logger 不必要地关闭 console.showLoading() 创建的动画。 4、改进 process.mpCmdRun 扩展库自动获取最新 Defender 安装路径。 aardio v34.49.0 更新: --------------------------------------------------------------------------- 1、修正 web.json.parse 异常,感谢「陶财*」反馈。 aardio v34.48.4 更新: --------------------------------------------------------------------------- 1、添加 dotNet.desktop 扩展库以及范例。 aardio v34.48.3 更新: --------------------------------------------------------------------------- 1、兼容 .Net System.IntPtr,System.UIntPtr 类型。 aardio v34.48.2 更新: --------------------------------------------------------------------------- 1、C# + aardio 模板文件 兼容 UTF-8 BOM。 aardio v34.48.1 更新: --------------------------------------------------------------------------- 1、编译 C# 代码时,如果代码起始于 aardio 模板标记则启用 aardio 模板语法。 使用此特性可以使用 aardio 代码动态生成 C# 代码。 aardio v34.48.0 更新: --------------------------------------------------------------------------- 1、plus 控件增加 onRightMouseDown,onRightMouseUp 事件。 aardio v34.47.6 更新: --------------------------------------------------------------------------- 1、gdip.image 改进 stopAnimation() 函数:在调用函数前动画已停止则返回 null 值。 aardio v34.47.5 更新: --------------------------------------------------------------------------- 1、改进 gdip.image 自当前活动帧开始播放动画。 aardio v34.47.4 更新: --------------------------------------------------------------------------- 1、改进 mouse.screenArea 避免重复打开屏幕选区。 aardio v34.47.3 更新: --------------------------------------------------------------------------- 1、mouse.highlighter 改进动画效果。 aardio v34.47.2 更新: --------------------------------------------------------------------------- 1、mouse.highlighter 支持全透明色。 aardio v34.47.1 更新: --------------------------------------------------------------------------- 1、优化 mouse.highlighter 。 2、改进 access, sqlServer, sqlite , mysql 兼容小数分隔符不是 "." 的系统环境。 aardio v34.47.0 更新: --------------------------------------------------------------------------- 1、优化智能提示。 2、tostring() tonumber() 支持自定义小数点。 aardio v34.46.9 更新: --------------------------------------------------------------------------- 1、优化 mouse.highlighter 。 aardio v34.46.8 更新: --------------------------------------------------------------------------- 1、winform.doModal() 允许用参数 @2 指定显示选项。 2、win.center() 允许目标窗口为隐藏窗口。 3、添加 mouse.highlighter, mouse.screenArea 到标准库。 aardio v34.46.7 更新: --------------------------------------------------------------------------- 1、libvlc 扩展库更新 libVLC 组件到 3.0, 更新范例。 aardio v34.46.6 更新: --------------------------------------------------------------------------- 1、增加 web.sysView 范例,支持 Windows 10 / 11。 aardio v34.46.5 更新: --------------------------------------------------------------------------- 1、增加调用 Fortran 语言范例。 aardio v34.46.3 更新: --------------------------------------------------------------------------- 1、更新文档。 aardio v34.46.2 更新: --------------------------------------------------------------------------- 1、改进网卡切换工具忽略无效连接。 aardio v34.46.1 更新: --------------------------------------------------------------------------- 1、优化 gdip.bitmap 。 aardio v34.46.0 更新: --------------------------------------------------------------------------- 1、改进 win.ui.shadow 支持虚拟机、远程桌面等环境。 aardio v34.45.0 更新: --------------------------------------------------------------------------- 1、com.each,com.first.com.wmi 性能优化。 2、添加显示网络流量范例。 3、改进 sys.networkCards 兼容虚拟机网卡。 aardio v34.44.5 更新: --------------------------------------------------------------------------- 1、改为调用 process.cache 获取 Gif123 路径。 aardio v34.44.4 更新: --------------------------------------------------------------------------- 1、优化 fsys.environment.unExpand() 函数。 扩展库 更新: --------------------------------------------------------------------------- 1、优化 mouse.highlighter 扩展库。 2、优化 process.gifsicle 扩展库。 aardio v34.44.3 更新: --------------------------------------------------------------------------- 1、增加 win.getScreenPos() 函数。 2、改进 soImage 扩展库对多屏幕的支持,改进相关范例。 aardio v34.44.1 更新: --------------------------------------------------------------------------- 1、改进 process.popen.ps 调用范例。 aardio v34.44.0 更新: --------------------------------------------------------------------------- 1、dotNet.ps.export() 导出的对象实现允许以属性替代下标。 2、dotNet.object 仅允许 Primitive(所有数值类型与布尔类型),enum,string 等类型或这些类型的普通数组使用 Value 属性解包。 因为有些 .Net 对象已经提供了 Value 属性,此改进可避免不必要的冲突。 3、dotNet.createCompiler().Source 属性允许指定字符串或字符串数组。 aardio v34.43.5 更新: --------------------------------------------------------------------------- 1、改进范例工程,增加 _ARGV 用法演示。 aardio v34.43.4 更新: --------------------------------------------------------------------------- 1、增加切换网卡范例。 2、web.form 对象 shellFolderSelectionChanged 事件添加 itemName 参数。 3、win.ui.popmenu 对象 popup() 函数改进自动获取鼠标位置代码。 aardio v34.43.3 更新: --------------------------------------------------------------------------- 1、优化 dotNet.ps ,优化相关范例,增加 aardio / C# / PowerShell 混合调用范例。 aardio v34.43.2 更新: --------------------------------------------------------------------------- 1、改进范例。 aardio v34.43.0 更新: --------------------------------------------------------------------------- 1、改进扩展库管理器。 2、增加 dotNet.ps.json, PowerShell 输出 JSON 自动转换为 aardio 对象。 该函数在 PowerShell 低版本下自动添加 ConvertTo-Json 兼容函数。 3、增加 dotNet.ps.export,允许在 PoweShell 低版本回调 aardio 对象,已增加相关范例。 aardio v34.42.4 更新: --------------------------------------------------------------------------- 1、改进文档范例。 aardio v34.42.3 更新: --------------------------------------------------------------------------- 1、优化 process.popen 对象的 readAll() 函数。 2、改进 process.popen.ps, dotNet.ps 等兼容低版本 PowerShell。 aardio v34.42.2 更新: --------------------------------------------------------------------------- 1、添加 console.dumpFile() 用于在控制台输出文件内容。 2、添加 inet.connView 用于在界面中嵌入网络连接窗口。 3、优化范例文档。 aardio v34.42.1 更新: --------------------------------------------------------------------------- 1、改进 .Net 接口兼容性。 aardio v34.42.0 更新: --------------------------------------------------------------------------- 1、标准库增加 process.rpc.jsonClient 用于创建基于管道的 JSON-RPC 2.0 客户端。 调用 R 语言的 process.r 扩展库需要用到 process.rpc.jsonClient。 aardio v34.41.4 更新: --------------------------------------------------------------------------- 1、 gdip.imageAttributes 增加 setColor 函数。 aardio v34.41.3 更新: --------------------------------------------------------------------------- 1、增加 io.curDir() 函数,用于获取或设置当前目录。 相比原来的 fsys.setCurDir() , fsys.getCurDir() 好处是不用额外引入 fsys 库。 2、修正 sys.comPort 一处可能导致报错的问题。 3、修正 sio 扩展库传输文件报错,感谢 「  」反馈. aardio v34.41.2 更新: --------------------------------------------------------------------------- 1、修正调用 PowerShell 报错。 aardio v34.41.1 更新: --------------------------------------------------------------------------- 1、大幅改进 dotNet.seleniumBasic 扩展库与范例。 用上强悍的 dotNet.reference() 函数,SeleniumBasic 终于可以舒服而完美地内存加载了。 不用注册 COM 组件,不用带一堆 DLL,可以生成小小的独立 EXE 文件。 添加了 CreateWaiter() 函数用于简单地等待网页节点对象, 类似其他浏览器组件的 waitEle 函数或者 aardio 中的 win.wait 函数。 添加调用 dotNet.each 遍历 Cookis 的示范。 aardio v34.41.0 更新: --------------------------------------------------------------------------- 1、添加 dotNet.createNameValueList() 函数。 2、dotNet.each 兼容普通非 .Net 数组。 3、改进调用 .Net 范例与文档。 4、设置 .Net 属性失败时将抛出异常。 5、修正 crypt.rsa 解密个别字符串失败,感谢「小新」反馈该问题。 aardio v34.40.5 更新: --------------------------------------------------------------------------- 1、优化 win.ui.shadow 。 2、增加使用 getItem(), setItem(),Item() 等访问 .Net 带多参数下标属性的方法(已更新范例)。 aardio v34.40.4 更新: --------------------------------------------------------------------------- 1、plus 控件 onDrawContent 事件增加回调参数. aardio v34.40.3 更新: --------------------------------------------------------------------------- 1、修正 win.clip.file.write() 未正确终止文件名的 bug。 aardio v34.40.2 更新: --------------------------------------------------------------------------- 1、改进控件 disabledText 动画。 2、移除范例中的 Gif123 源码,请到 gif123.aardio.com 下载。 aardio v34.40.1 更新: --------------------------------------------------------------------------- 2、改进部分文档。 web.sciter 扩展库更新: --------------------------------------------------------------------------- 1、升级 Sciter 组件到最新版本。 2、修正 Sciter 组件的一个 bug: 子窗口加载 Sciter 需要拖一下(改变大小)才能正常输入。 aardio v34.40 更新: --------------------------------------------------------------------------- 1、重点改进 protobuf 支持库,改进 proto3 兼容性。 修正 proto 中超长 package 导致生成的解析库智能提示不出来的问题。 aardio v34.39.2 更新: --------------------------------------------------------------------------- 1、win.reg 对象增加 setValue(),setExpandValue() 等函数, setValue() 可自动设置存储数据类型。 2、environment 修正一处笔误与 Path 路径被修改为 REG_SZ 类型的问题,感谢「木木」反馈。 3、改进 dotNet.setParent() 函数,增加调用控件的 Show() 函数。 增加 System.Windows.Forms.CreateEmbed() 函数用于快速嵌入无窗口控件。 增加 .Net 库 System.Data。 感谢 popdes 分享的例子 https://htmlayout.cn/t/21301 使用新版函数,可以简化如下: import win.ui; /*DSG{{*/ var winform = win.form(text="嵌入控件") winform.add() /*}}*/ import System.Windows.Forms; var Forms = System.Windows.Forms; var dataGridView = Forms.CreateEmbed("DataGridView",winform); import System.Data; var dataTable = System.Data.DataTable("DT"); dataTable.Columns.Add("name"); dataTable.Columns.Add("txt"); //添加数据 var row = dataTable.NewRow(); row.ItemArray = { "Name1", "Txt1" }; dataTable.Rows.Add(row); //显示数据 var dataView = System.Data.DataView(dataTable); dataGridView.DataSource = dataView; dataGridView.EditMode=2; winform.show(); win.loopMessage(); aardio v34.39.1 更新: --------------------------------------------------------------------------- 1、dotNet.import() 可在参数 @2 指定要加载的程序集。 2、优化 dotNet.reference() 。 aardio v34.39.0 更新: --------------------------------------------------------------------------- 1、支持调用 .Net 泛型函数。 2、添加 System.ValueTuple。 import console; import System.ValueTuple; //创建 tuple (泛型函数) var tuple = System.ValueTuple.Create(21,22,23,24,25,26,27,28) //遍历 tuple for i,v in System.ValueTuple.each(tuple){ console.log(i,v) } console.pause(true); aardio v34.38.1 更新: --------------------------------------------------------------------------- 1、全面优化 dotNet 库,新新提供更快,更强大的跨语言类型兼容。 添加 dotNet.object() 函数,所有 .Net 对象在 aardio 中通过 dotNet.object 操作。 2、增加 com.IsNetObject 函数。 dotNet.object 对象底层为 com.NetObject 对象。 3、增加 dotNet.each 函数可用于遍用 .Net 对象。 4、增加 dotNet.createArray() 函数可用于创建 .Net 类型化数组。 注意由 .Net 创建的类型化数组应当用 Length 属性取数组长度,而不是用 # 操作符。 数值、字符串等基础数据类型组成的数组仍然默认会转化为普通数组( com.SafeArray )。 5、dotNet.load() 函数允许在参数@2 中直接指定程序集内存数据, 这种方法可以在一次调用中实现绑定程序集名称到内存数据,并通过程序集名称内存加载程序集。 而 dotNet.loadFile() 仅仅是内存加载,并未将程序集名称关联到内存数据。 6、修正个别 .Net 控件回调不兼容问题。 7、优化 winex 部分函数。 aardio v34.37.3 更新: --------------------------------------------------------------------------- 1、改进 PowerShell 回调函数。 2、增加 table.namespace() 函数。 aardio v34.37.1 更新: --------------------------------------------------------------------------- 1、改进 dotNet.import() 等导入 .Net 名字空间函数。 现在 .Net 名字空间导入后可与 aardio 名字空间自动合并,用起来更方便了。 示例: import dotNet; dotNet.import("System.Drawing"); winform.plus.background = System.Drawing.Color.Blue; 2、当 console 库打开控制台以后,dotNet 库将会自动绑定控制台。 不需要在导入 dotNet 库前打开控制台,也可以使用 .Net 函数向控制台输出内容了。 3、大幅改进标准库 dotNet.ps 以及调用 PowerShell 范例。 现在 PowerShell 可以支持自由调用 aardio 对象和函数。 aardio v34.36.0 更新: --------------------------------------------------------------------------- 1、改小 winex.getText() 默认超时,避免 winex.find() 遇到部分窗口超时导致查找时间太久的问题,感谢「yzhwwk」反馈。 2、修正 dotNet.double() 等函数创建的数组无法修改值的问题,感谢 「popdes」反馈。 3、优化 dotNet 库部分代码。 aardio v34.35.0 更新: --------------------------------------------------------------------------- 1、优化 dotNet 支持库代码,允许直接修改导入类静态属性和字段无需调用函数。 aardio v34.34.1 更新: --------------------------------------------------------------------------- 1、优化 .Net 调用参数类型自动匹配。 aardio v34.34 更新: --------------------------------------------------------------------------- 一、大幅改进 dotNet 支持库。 1、自动支持 .Net struct 类型,自动的意思就是省事 —— 不用自己写代码处理。 2、自动支持 .Net tuple(ValueTuple) 类型,自动的意思就是省事 —— 不用自己写代码处理。 3、dotNet 名字空间也提供以下函数显式创建指定类型的 .Net 对象: -------------------------------------------------------------- dotNet.any(value,byRef) 将参数 @value 指定值或数组转换为 .Net 对象。@byRef 参数值为 true 则支持.Net 输出或引用参数。 dotNet.byte(value,byRef) 将参数 @value 指定的数值或数组转换为 8 位整型数值。@byRef 参数值为 true 则支持.Net 输出或引用参数。 dotNet.ubyte(value,byRef) 将参数 @value 指定的数值或数组转换为 8 位无符号整型数值。@byRef 参数值为 true 则支持.Net 输出或引用参数。 dotNet.word(value,byRef) 将参数 @value 指定的数值或数组转换为 16 位整型数值。@byRef 参数值为 true 则支持.Net 输出或引用参数。 dotNet.uword(value,byRef) 将参数 @value 指定的数值或数组转换为 16 位无符号整型数值。@byRef 参数值为 true 则支持.Net 输出或引用参数。 dotNet.int(value,byRef) 将参数 @value 指定的数值或数组转换为 32 位整型数值。@byRef 参数值为 true 则支持.Net 输出或引用参数。 dotNet.uint(value,byRef) 将参数 @value 指定的数值或数组转换为 32 位无符号整型数值。@byRef 参数值为 true 则支持.Net 输出或引用参数。 dotNet.long(value,byRef) 将参数 @value 指定的数值或数组转换为 64 位整型数值。@byRef 参数值为 true 则支持.Net 输出或引用参数。 dotNet.ulong(value,byRef) 将参数 @value 指定的数值或数组转换为 64 位无符号整型数值。@byRef 参数值为 true 则支持.Net 输出或引用参数。 dotNet.float(value,byRef) 将参数 @value 指定的数值或数组转换为 32 位浮点数值。@byRef 参数值为 true 则支持.Net 输出或引用参数。 dotNet.double(value,byRef) 将参数 @value 指定的数值或数组转换为 64 位浮点数值。@byRef 参数值为 true 则支持.Net 输出或引用参数。 -------------------------------------------------------------- 4、也就是说使用上面的几个函数在 aardio 里可以支持 C# 的 ref,out 参数了。 5、也就是说可以在 aardio 里创建 .Net 数组,并且把引用传到 C# 函数里了(原来只能传值)。 6、大幅改进更改、优化 dotNet 支持库代码。 7、大幅调整、改进、增补所有 .Net 调用范例,用心地简化范例,增补说明。 8、PowerShell 调用范例增加自定义 PowerShell 进度条演示。 二、修正 process.joinArguments 处理空参数的问题,感谢「游戏」反馈。 aardio v34.33.1 更新: --------------------------------------------------------------------------- 1、修正 inet.http 读取 contentLength 失败,感谢「青青子衿」反馈。 aardio v34.33.0 更新: --------------------------------------------------------------------------- 1、添加 dotNet.setParent() 函数, 只要一句代码,就可以将 .Net 控件完美嵌入 aardio 窗口。 请参考新范例 / 调用其他语言 / .Net / 窗口控件 aardio v34.32.3 更新: --------------------------------------------------------------------------- 1、修改 GIF 录屏工具默认热键 。 aardio v34.32.2 更新: --------------------------------------------------------------------------- 1、优化 dotNet 支持库,增加强大的 dotNet.reference() 函数。 可用于将多个相互依赖的 .Net 程序集设为内存加载,以方便生成独立 EXE 文件。 2、.Net 对象的 event 事件可以直接赋值为 aardio 函数。 用法非常简单,请参考新增 .Net 范例。 aardio v34.31.6 更新: --------------------------------------------------------------------------- 1、优化 dotNet.ps,返回值自动清除首尾空格。 aardio v34.31.5 更新: --------------------------------------------------------------------------- 1、增加 process.popen.ps1() 函数。 2、改进 process.popen 对象 readAll() 函数在不指定模式匹配参数时自动清除返回文本首尾空格。 3、改进录屏范例 Gif123 显示窗口大小错误,感谢 「popdes」反馈。 aardio v34.31.4 更新: --------------------------------------------------------------------------- 1、增加库 string.keywords 以及调用范例。 aardio v34.31.2 更新: --------------------------------------------------------------------------- 1、修正 win.imageList 一处导致 width 变为指针的 BUG ,感谢「游戏」反馈。 aardio v34.31.1 更新: --------------------------------------------------------------------------- 1、大幅改进 soImage 扩展库,体积由原来的 2MB 多减少到 500KB多,不减少功能并增加更多函数。 2、大幅改进范例程序 Gif123(工具 / 文件 / GIF 录屏),大幅提升输出画质(体积不增加)。 aardio v34.29.8 更新: --------------------------------------------------------------------------- 1、改进 process.mplayer 扩展库以及范例:音频视频 / 视频 / MPlayer 。 aardio v34.29.7 更新: --------------------------------------------------------------------------- 1、web.form 优化 goDirectory() 函数。 aardio v34.29.6 更新: --------------------------------------------------------------------------- 1、修正 java 支持库下载 OpenJDK 失败,感谢「网络验证」反馈。 aardio v34.29.5 更新: --------------------------------------------------------------------------- 1、添加标准库 sys.networkCards。 aardio v34.29.4 更新: --------------------------------------------------------------------------- 1、优化 com.wmi 与部分范例。 2、增加设置网卡 DNS 范例。 aardio v34.29.3 更新: --------------------------------------------------------------------------- 1、 inet.adapter 增加获取网址设备实例 ID 功能。 aardio v34.29.2 更新: --------------------------------------------------------------------------- 1、增加 fsys.safepath() 函数。 2、优化 fsys.enum() 函数。 aardio v34.29.1 更新: --------------------------------------------------------------------------- 1、增加 fsys.remove() 函数。 aardio v34.28.2 更新: --------------------------------------------------------------------------- 1、console 库打开控制台后发布 afterConsoleOpen 消息,如下订阅: subscribe("afterConsoleOpen",function(){ } ); 扩展库 更新: --------------------------------------------------------------------------- 1、改进 newLisp 扩展库, 增加 LISP 函数 get-json 。 改进 newLisp 示例,允许使用 JSON 将 aardio 对象转换为 LISP 数据。 import newLisp; //自定义 LISP 回调函数 newLisp.callback( "callme","string(int,double,string)", function(a,b,c){ return web.json.stringify({a:a,b:b,c:c}) } ) //LISP 调用 aardio 函数 newLisp.exec( `(get-json (callme 1 2.0 "abc") )` ) console.pause(); 扩展库 更新: --------------------------------------------------------------------------- 1、改进 newLisp 扩展库, 增加 newLisp.libConsole() 函数。 newLisp.run() 函数检测到 LISP 代码存在控制台输出后,不再重复输出值。 aardio v34.28.1 更新: --------------------------------------------------------------------------- 1、console 库支持自动重定向 msvcrt.dll 定义的标准输入输出、错误输出到控制台。 aardio v34.27.17 更新: --------------------------------------------------------------------------- 1、调整范例。 aardio v34.27.16 更新: --------------------------------------------------------------------------- 1、改进调用 .Net 范例。 aardio v34.27.15 更新: --------------------------------------------------------------------------- 1、优化 dotNet.createWebService() 函数。 aardio v34.27.14 更新: --------------------------------------------------------------------------- 1、优化 UWP 本机隔离工具。 process.adb 扩展库更新: --------------------------------------------------------------------------- 1、 更新 adb 组件到最新版, 2、改进启动 adb 服务器逻辑,检测并重用已启动的 adb 服务端, 并只有在默认端口被占用且并非 adb 服务时才分配空闲端口。 3、增加 process.adb.shell() 函数。 aardio v34.27.13 更新: --------------------------------------------------------------------------- 1、调用 PowerShell 范例 / Cmdlet 反编译工具增加回车获取焦点与查询。 aardio v34.27.12 更新: --------------------------------------------------------------------------- 1、PowerShell 范例增加 Cmdlet 命令查看与反编译工具。 2、优化 process.joinArguments() 函数。 3、增加范例 / 操作系统 / 应用设置 / 应用列表。 aardio v34.27.11 更新: --------------------------------------------------------------------------- 1、优化截屏工具,调整界面,增加多语言(自动检测系统语言)。 发布到开源项目: https://gif123.aardio.com 扩展库 更新: --------------------------------------------------------------------------- 1、改进 soImage 扩展库,soImage.gifFile() 参数指定的路径不存在时,允许自动创建上层目录。 aardio v34.27.10 更新: --------------------------------------------------------------------------- 1、改进 py3.export() 范例。 aardio v34.27.9 更新: --------------------------------------------------------------------------- 1、添加标准库 com.typeAttrs。 2、优化标准库 com.lite; 3、增加 com.actCtx 扩展库,用于通过清单加载免注册调用 COM 控件。 4、优化 raw.activationContext 扩展库。 aardio v34.27.6 更新: --------------------------------------------------------------------------- 1、增加并改进使用、安装 Python 第三方模块范例,改进相关说明文档。 2、优化 py2,py3,py3.4,py3.6,py3.10 等扩展库。 3、增加 py3.lib.numpy,py3.lib.PIL,py3.lib.fontTools,py3.lib.jsonrpclib,py3.lib.matplotlib, py2.lib.numpy,py2.lib.PIL 等自动添加相关 Python 模块的扩展库。 4、增加 py3.lib.systemSitePackages 扩展库用于自动查找并引用系统 Python 安装的第三方模块。 aardio v34.27.4 更新: --------------------------------------------------------------------------- 1、改进 matplotlib 范例。 aardio v34.27.3 更新: --------------------------------------------------------------------------- 1、增加 py3.lib.matplotlib 扩展库以及范例。 aardio v34.27.2 更新: --------------------------------------------------------------------------- 1、修正文件范例 / 批量操作 / 批量重命名,遍历文件 响应拖放代码笔误,感谢「梁伯全」反馈。 aardio v34.27.1 更新: --------------------------------------------------------------------------- 1、改进 dotNet 范例。 aardio v34.27.0 更新: --------------------------------------------------------------------------- 1、改进 dotNet 支持库,可将 aardio 函数自动转换为 .Net 委托。 请参考新增的范例:调用其他语言 / dotNet / 委托回调。 2、标准库增加 System,在代码中 import System 就可以引入 .Net 的 System 名字空间。 建议看看 System 库的源代码,该库演示了如何通过 aardio 库更简单地引入 .Net 名字空间。 aardio v34.26.0 更新: --------------------------------------------------------------------------- 1、修正调用 .Net 函数传 null 值报错。 aardio v34.25.7 更新: --------------------------------------------------------------------------- 1、改进调用 Python 范例。 aardio v34.25.6 更新: --------------------------------------------------------------------------- 1、改进调用 dotNet 库,允许 .Net 可调用对象调用自身。 aardio v34.25.5 更新: --------------------------------------------------------------------------- 1、改进调用 .Net 范例。 aardio v34.25.4 更新: --------------------------------------------------------------------------- 1、优化调用 Python 范例。 2、改进 py2 扩展库对 Unicode 字符串的支持。 aardio v34.25.3 更新: --------------------------------------------------------------------------- 1、优化 dotNet 支持库,增加 dotNet.v2 。 2、增加更多 HTTP 服务器范例与使用教程。 3、增加 py3.lib.jsonrpclib 扩展库,用于演示使用 aardio 扩展库自动安装 Python 模块。 增加「范例 / 调用其他语言 / Python / Python 3.x / JSON RPC」 aardio v34.25.2 更新: --------------------------------------------------------------------------- 1、修正 custom 控件默认未显示图像,感谢「城西」反馈。 aardio v34.25.1 更新: --------------------------------------------------------------------------- 1、增加范例 / Windows 窗口 / 基础知识 / 自适应缩放事件。 aardio v34.25.0 更新: --------------------------------------------------------------------------- 1、标准库 dotNet 改进 .Net 枚举类型兼容性,修正枚举属性无法赋值的问题。 aardio v34.24.1 更新: --------------------------------------------------------------------------- 1、更新 web.sciter 扩展库与范例。 aardio v34.24.0 更新: --------------------------------------------------------------------------- 1、com.excel 改进 Quit() 函数。 2、改进 win.setForeground() 函数,增加自动还原最小化窗口。 3、改进 com.cad ,增加 SendCopyData(), showForeground() 等函数。 增加范例:遍历 AutoCAD 窗口,并通过 SendCopyData 发送并执行 LISP 代码。 增加范例:创建 AutoCAD 进程内对象,修改 AutoCAD 进程环境变量。 aardio v34.23.2 更新: --------------------------------------------------------------------------- 1、增加 winform.onThreadCallBackReturn 事件。 aardio v34.23.1 更新: --------------------------------------------------------------------------- 1、修正异步 HTTP 服务器范例上传路径错误。 aardio v34.23.0 更新: --------------------------------------------------------------------------- 1、修正上一版本调用 .Net 函数返回空值时报错的问题。 aardio v34.22.0 更新: --------------------------------------------------------------------------- 1、改进 dotNet 支持库,增强 .Net 调用时类型自动转换。 2、支持 Sytem.Drawing.Color 自动转换(在 aardio 中自动转换为 ARGB 数值,与 GDI+ 兼容)。 3、增加方便的 dotNet.import() 函数。 aardio v34.21.3 更新: --------------------------------------------------------------------------- 1、com.cad 增加 MajorVersion() GetCadInterfaceObject() GetLayerStateManager() GetAcCmColor() GetSecurityParams() 等函数 aardio v34.21.2 更新: --------------------------------------------------------------------------- 1、优化 dotNet 库调用 C# 编译器相关函数。 aardio v34.21.1 更新: --------------------------------------------------------------------------- 1、com.cad 增加 NetLoad 函数,增加编译 C# 并自动加载到 AutoCAD 范例。 aardio v34.21.0 更新: --------------------------------------------------------------------------- 1、增加 process.getParent() 函数。 2、增加 string.cmdline.argv() 函数。 3、重点改进标准库 com.cad,增加更多调用 AutoCAD 范例,参考 「aardio 范例 / COM 组件 / AutoCAD」 aardio v34.20.0 更新: --------------------------------------------------------------------------- 1、改进帮助文档。 2、优化标准库 com.cad 。 aardio v34.19.4 更新: --------------------------------------------------------------------------- 1、改进控件调色器。 aardio v34.19.3 更新: --------------------------------------------------------------------------- 1、改进 web.view 范例。 aardio v34.19.2 更新: --------------------------------------------------------------------------- 1、process.popen.ps 改为使用默认编码。 aardio v34.19.1 更新: --------------------------------------------------------------------------- 1、优化控件调色器界面。 aardio v34.19.0 更新: --------------------------------------------------------------------------- 1、修正新建高级界面报错,感谢「威尼斯」反馈。 aardio v34.18.0 更新: --------------------------------------------------------------------------- 1、优化「工具 / 界面 / 控件调色器」。 aardio v34.17.7 更新: --------------------------------------------------------------------------- 1、修正 WinAsar 范例切换选项卡导致的显示问题,感谢「playboysen」反馈。 aardio v34.17.5 更新: --------------------------------------------------------------------------- 1、修正 richedit 查找替换对话框的 bug,感谢「playboysen」反馈。 aardio v34.17.4 更新: --------------------------------------------------------------------------- 1、更新 Node.js 镜像地址。 aardio v34.17.3 更新: --------------------------------------------------------------------------- 1、修正 ChromeDriver 报错,感谢「小洋」反馈。 aardio v34.17.2 更新: --------------------------------------------------------------------------- 1、修正 Electron 范例报错,感谢「Omar」反馈。 aardio v34.17.1 更新: --------------------------------------------------------------------------- 1、service.manager 对象增加 startAndWait(),wait() 等函数。 2、增加 process.firstThreadId() 函数。 aardio v34.17.0 更新: --------------------------------------------------------------------------- 1、优化 COM 接口。 2、添加 VBScript 解析 JSON 范例。 3、按钮增加设计属性:附注。 aardio v34.16.3 更新: --------------------------------------------------------------------------- 1、web.socket 修正 isConnected() 错误,感谢 Fonny 反馈。 aardio v34.16.2 更新: --------------------------------------------------------------------------- 1、 改进调用 Python 范例。 aardio v34.16.1 更新: --------------------------------------------------------------------------- 1、 增加函数 win.rt.bcp47.setUserLanguages() 。 aardio v34.16.0 更新: --------------------------------------------------------------------------- 大幅改进 web.script 支持库: 1、允许使用 web.script.preload 添加初始化脚本,用法参考 web.script.json。 2、添加自动引入 JSON 支持的库 web.script.json, 引入这个库以后,不但可以在 JScript 中使用 JSON 解析器,也可以启用 web.script 的 json 对象。 用法参考新增的:aardio 范例 / 调用其他语言 / JScript / JSON 交互 3、只要事先导入 inet.http ,web.script 的 doScript 函数的参数就可以直接写脚本网址。 aardio v34.15.3 更新: --------------------------------------------------------------------------- 1、process 改进 waitMainWindow() 函数。 aardio v34.15.2 更新: --------------------------------------------------------------------------- 1、process 改进 getMainWindow() 函数。 aardio v34.15.1 更新: --------------------------------------------------------------------------- 1、改进文档。 aardio v34.15.0 更新: --------------------------------------------------------------------------- 1、改进 orphanWindow 功能,允许重新绑定外部伙伴窗口。 aardio v34.14.3 更新: --------------------------------------------------------------------------- 1、web.view + web.ruffle 范例支持全屏。 aardio v34.14.2 更新: --------------------------------------------------------------------------- 1、fsys.mime 默认 MIME 类型 添加 *.wasm 。 2、wsock.tcp.asynHttpServer 对象增加 defaultUrl 属性。 aardio v34.14.1 更新: --------------------------------------------------------------------------- 1、增加 web.view 调用开源 Flash 播放器 Ruffle 的范例。 2、增加 web.ruffle 的扩展库。 扩展库更新: --------------------------------------------------------------------------- 1、web.kit.flash 优化 Flash 动画加载速度,建议更新。 aardio v34.14 更新: --------------------------------------------------------------------------- 1、web.kit 扩展库添加 web.kit.flash, 并更新 web.kit 播放 Flash 动画范例。 aardio v34.13.3 更新: --------------------------------------------------------------------------- 1、改进 web.sciter 扩展库与范例,增加更简洁调用 JavaScript 的 script 接口。 aardio v34.13.2 更新: --------------------------------------------------------------------------- 1、优化 raw.pefile 。 aardio v34.13.1 更新: --------------------------------------------------------------------------- 1、改进 web.kit 打开 Flash 范例。 2、改进 web.kit, com.cube3 等扩展库。 aardio v34.13.0 更新: --------------------------------------------------------------------------- 1、改进 inet.tls 。 2、web.form 引入 inet.tls 。 aardio v34.12.4 更新: --------------------------------------------------------------------------- 1、改进 plus 工程范例。 aardio v34.12.3 更新: --------------------------------------------------------------------------- 1、改进文档。 aardio v34.12.2 更新: --------------------------------------------------------------------------- 1、增加 aardio 范例 / Windows 窗口 / 入门 。 aardio v34.12.1 更新: --------------------------------------------------------------------------- 1、优化 win.ui 界面库。 2、优化 aardio 工具 / 文本文件 / Gif 录屏工具。 aardio v34.11.10 更新: --------------------------------------------------------------------------- 1、修正 web.view 笔误,感谢「陈可乐」反馈。 aardio v34.11.9 更新: --------------------------------------------------------------------------- 1、调整开始页链接。 aardio v34.11.8 更新: --------------------------------------------------------------------------- 1、改进文档。 aardio v34.11.7 更新: --------------------------------------------------------------------------- 1、修正 wsock.tcp.client.getLocalIp() 函数 timeout 参数未生效,感谢「TTQQ」反馈。 aardio v34.11.6 更新: --------------------------------------------------------------------------- 1、重写多线程入门范例与教程,建议阅读。 https://bbs.aardio.com/forum.php?mod=viewthread&tid=13625 aardio v34.11.5 更新: --------------------------------------------------------------------------- 1、优化嵌入 COM 控件接口函数以及范例。 aardio v34.11.4 更新: --------------------------------------------------------------------------- 1、增加 wsock.tcp.client.test() 函数。 aardio v34.11.3 更新: --------------------------------------------------------------------------- 1、修改 NCSI 检测地址。 aardio v34.11.2 更新: --------------------------------------------------------------------------- 1、修正 fsys.lnk 一处笔误,感谢「三四」反馈. aardio v34.11.1 更新: --------------------------------------------------------------------------- 1、优化 ide 扩展库。 2、修正开始页右键切换工程出现确认对话框无法点击的问题,感谢「lhzhygxy 」反馈。 3、改进范例、文档。 aardio v34.10.2 更新: --------------------------------------------------------------------------- 1、改进:范例 / 网络应用 / 网络管理 / 检测网络连接。 aardio v34.10.1 更新: --------------------------------------------------------------------------- 1、标准库增加 wsock.networkChange, 用法参考:范例 / 网络应用 / 网络管理 / 检测网络连接。 2、修正 fsys.url 报错,感谢「TTQQ」反馈。 aardio v34.10 更新: --------------------------------------------------------------------------- 1、改进 COM 接口兼容性。 2、兼容 .Net 4.x dynamic 动态类型, 添加相关范例。 aardio v34.9.7 更新: --------------------------------------------------------------------------- 1、改进 C# 回调 aardio 范例。 aardio v34.9.6 更新: --------------------------------------------------------------------------- 1、改进 web.form / DataTables 范例。 aardio v34.9.5 更新: --------------------------------------------------------------------------- 1、fsys.file 修正 write 函数传入多参数遇到参数为 0 停止写入,感谢「DQ」反馈。 aardio v34.9.4 更新: --------------------------------------------------------------------------- 1、改进 web.form / Tabulator 范例。 aardio v34.9.3 更新: --------------------------------------------------------------------------- 1、增加 web.form 调用 Tabulator,iCheck,lightSlider 范例。 aardio v34.9.2 更新: --------------------------------------------------------------------------- 1、改进文档。 aardio v34.9.1 更新: --------------------------------------------------------------------------- 1、web.form 增加调用 Select2 范例。 aardio v34.9.0 更新: --------------------------------------------------------------------------- 1、listbox 控件增加设计属性:对齐行高。 2、改进范例,优化代码。 aardio v34.8.4 更新: --------------------------------------------------------------------------- 1、修正拆分条放开鼠标后有时出现虚线的问题,感谢「Yi Feng」反馈。 2、增加一个用拆分条拆分复杂窗口的范例。 aardio v34.8.3 更新: --------------------------------------------------------------------------- 1、添加: 范例 / Web 界面 / web.form / DataTables 表格 范例 / Web 界面 / web.form / Chart.js 图表 aardio v34.8.2 更新: --------------------------------------------------------------------------- 1、修正 win.ui.tabs 一处 BUG,感谢 「巴克队长」反馈。 aardio v34.8.1 更新: --------------------------------------------------------------------------- 1、优化 plus,trackbar,tooltip 等控件。 2、增加 trackbar 自定义提示,移除虚框等范例。 3、增加 plus 控件实现 brackbar 效果范例,优化滑尺控件配色工具。 aardio v34.8.0 更新: --------------------------------------------------------------------------- 1、代码优化。 aardio v34.7.1 更新: --------------------------------------------------------------------------- 1、更新网页范例使用的 CDN 服务器。 aardio v34.7.0 更新: --------------------------------------------------------------------------- 1、添加函数 web.rest.github.import() 。 aardio v34.6.8 更新: --------------------------------------------------------------------------- 1、win.ui.explorer 增加 insertItem() 函数。 aardio v34.6.7 更新: --------------------------------------------------------------------------- 1、改进部分文档。 aardio v34.6.5 更新: --------------------------------------------------------------------------- 1、更换部分网页示例引用的 CDN 链接。 注意实际开发桌面软件不必要使用 CDN 链接远程组件,下载到本地加载更快。 aardio v34.6.4 更新: --------------------------------------------------------------------------- 1、改进 web.view.intallRuntime() 自动选择 64位/32位 链接。 aardio v34.6.3 更新: --------------------------------------------------------------------------- 1、修正 thread.invokeEx 报错,感谢「侯东东 」反馈. aardio v34.6.2 更新: --------------------------------------------------------------------------- 1、标准库增加 sys.reg 。 aardio v34.6.1 更新: --------------------------------------------------------------------------- 1、改进调用 php 范例。 2、改进php.simpleHttpServer, 导入 php.simpleHttpServer 后 自动配置 process.php.simpleHttpServer.cgiPath 为 php 扩展库自带的 php_cgi.exe 。 aardio v34.6.0 更新: --------------------------------------------------------------------------- 1、修正新版属性栏变小的问题,感谢「xing8119」反馈。 aardio v34.5.0 更新: --------------------------------------------------------------------------- 1、增加多个不同主要版本的 Python 扩展库, 目前所有 Python 扩展库如下: py2 //Python 2.7 扩展库,支持 XP 及 XP 以上系统 py3 //Python 3.8 扩展库,支持 Win7 及 Win7 以上系统 py3.10 //Python 3.10 扩展库,支持 Win10 及 Win10 以上系统 py3.6 //Python 3.6 扩展库,支持 Win7 及 Win7 以上系统 py3.4 //Python 3.4 扩展库,支持 XP 及 XP 以上系统 注意 py3 扩展库导入后使用时应去掉副版本号,例如: import py3.4; io.print( py3.version ); aardio v34.4.2 更新: --------------------------------------------------------------------------- 1、改进 wsock.tcp.asynHttpServer, wsock.tcp.simpleHttpServer 重启导致的问题,感谢「新思想」反馈。 2、修正新版 win.dlg.message 显示大小异常,感谢「幻月」反馈。 aardio v34.4.0 更新: --------------------------------------------------------------------------- 1、修正 dotNet 支持库调用 .Net 类构造函数出错的问题,感谢「huangwh」反馈。 2、优化窗体设计器。 aardio v34.3.2 更新: --------------------------------------------------------------------------- 1、修正播放器工程范例显示异常。 2、添加:范例 / Windows 窗口 / 基础知识 / 高分屏自适应 aardio 窗口可以自动适应高分屏,这里列出了几条规则可以帮助我们做得更好。 3、修正找图范例坐标偏移 —— 感谢「陈可乐」反馈。 aardio v34.3.1 更新: --------------------------------------------------------------------------- 1、修正 win.ui.tabs 实现自动完成下拉菜单出现闪烁的问题,感谢「孤影」反馈。 扩展库 更新: --------------------------------------------------------------------------- 1、优化 web.sciter 扩展库,更新 Sciter 组件到最新版。 aardio v34.3.0 更新: --------------------------------------------------------------------------- 1、修正 key.getStateX() 报错,感谢「侯东东」反馈。 aardio v34.2.6 更新: --------------------------------------------------------------------------- 1、修正 golang() 参数@2 未生效,感谢「知止而定」反馈。 aardio v34.2.5 更新: --------------------------------------------------------------------------- 1、修订部分文档,感谢「一丰」反馈。 aardio v34.2.4 更新: --------------------------------------------------------------------------- 1、修正 Win10 1607 控制台启用 UTF-8 导致光标错位,感谢「要晋鹏」反馈。 2、修订部分文档,感谢「一丰」反馈。 aardio v34.2.3 更新: --------------------------------------------------------------------------- 1、修正 console.setTitle 失效的问题,感谢「flame」反馈。 aardio v34.2.2 更新: --------------------------------------------------------------------------- 1、console.wine 移除无效依赖 util.table, 感谢「陈可乐」反馈。 aardio v34.2.1 更新: --------------------------------------------------------------------------- 1、修订「一丰」反馈的部分笔误,感谢「一丰」。 aardio v34.2.0 更新: --------------------------------------------------------------------------- 1、改进 com.interface.IMultiLanguage2 的怪异转码函数 fromto() 为超级豪华加强版。 一句代码一个参数傻瓜化修复来自于 ANSI 程序的怪异乱码。 2、增加范例 / 文本处理 / 怪异编码转换。 特别说明一下: aardio 是 Unicode 内核,在任何系统都不会有乱码, 而且 aardio 拥有独特而强大的 UTF 自动标记系统,可以完美兼容 ANSI、UTF16、UTF8应用。 所以怪异转码函数在 aardio 里没啥实际作用,如果不是有特别的原因,请不要在这上面浪费你宝贵的时间。 aardio v34.1.0 更新: --------------------------------------------------------------------------- 1、改进 wsock.tcp.asynHttpServer, wsock.tcp.simpleHttpServer: 当 HTTP 请求路径指向服务器启动文件时抛出异常。 增加一个属性 documentBase 用于指定默认根目录, 与 documentRoot 不同的是 documentBase 不会改变应用程序根目录, 并且 documentBase 可以指向虚拟的资源目录。 2、com.interface.IMultiLanguage2 增加一个怪异版本的文本编码转换函数 fromto, 只有处理来自于老旧程序的古怪乱码时可以使用这个函数,一般不必要使用。 用法参考:范例 / 文本处理 / 编码转换。 3、修订范例与文档部分笔误,改谢「一丰」反馈。 aardio v34.0.3 更新: --------------------------------------------------------------------------- 1、改进文档。 aardio v34.0.2 更新: --------------------------------------------------------------------------- 1、添加函数:web.script.eval() 用于直接执行 JScript 代码并获取返回值。 aardio v34.0.1 更新: --------------------------------------------------------------------------- 1、添加:范例 / 调用其他语言 / VBScript 。 aardio v34.0 更新: --------------------------------------------------------------------------- 1、优化发布功能,生成软件速度更快。 2、优化智能提示功能,优化「跳转到定义 / 文件」功能。 3、大幅优化 COM 接口,添加 com.SetPreferredArrayType() 函数,可用于更好地兼容某些仅支持 Variant 类型数组的 COM 组件。 com.SetPreferredArrayType() 的作用会自动传递给被设置的 COM 对象返回的其他 COM 对象,可以有效地减少声明数组类型的代码,使调用代码更简洁。 4、大幅改进 dotNet 支持库,可自动转换更多数据类型、更好地兼容 .Net 对象。 原来需要手动指定的很多数值类型数组,现在不声明类型也可以自动转换了,在新版调用 .Net 的代码提简单了。 5、新增函数: string.fromCharCode() thread.invokeEx() raw.byte() raw.ubyte() raw.word() raw.uword() raw.int() raw.uint() raw.long() raw.ulong() raw.double() raw.float() com.byte() com.ubyte() com.word() com.uword() com.int() com.uint() com.long() com.ulong() com.double() com.float(),废弃原来的 com.int32() 等函数。 6、控件设计器属性中输入图像路径时,自动移除图像路径首尾双引号(在资源管理器右键菜单复制路径带有双引号)。 7、文件路径为当前分区盘符,并未以斜杠结尾时,在转换为完整路径时,将自动补上缺少的斜杆,以避免系统自动转换。并同时修正树形文件视图范例在分区列表选择当前分区导致的问题,感谢「一丰」反馈该问题。 8、修正窗体「背景颜色」属性不能直接输入颜色值的问题。 9、web.form.ie11 合并到 web.form 10、优化改进文范、范例、修正其他已知问题。 aardio v33.36.10 更新: --------------------------------------------------------------------------- 1、改进 sys.installed 可返回更多信息。 2、改进 fsys.time 允许在构造参数中传入 ::FILETIME 对象。 aardio v33.36.9 更新: --------------------------------------------------------------------------- 1、优化控件 disabledText 动画以及范例。 aardio v33.36.8 更新: --------------------------------------------------------------------------- 1、增加库: fsys.streamInfo aardio v33.36.6 更新: --------------------------------------------------------------------------- 1、增加: 范例 / aardio 语言 / 静态类型 / API 钩子。 2、改进 win.dlg.message 的 info 函数支持自动调用 string.format 格式化附加参数。 aardio v33.36.5 更新: --------------------------------------------------------------------------- 1、修正虚表控件遇到 null 值时显示指针地址的问题,感谢「李长新」反馈。 aardio v33.36.4 更新: --------------------------------------------------------------------------- 1、增加: 范例 / 数据库 / access / 虚表 aardio v33.36.3 更新: --------------------------------------------------------------------------- 1、增加: 范例 / Windows 窗口 / 列表视图控件 / 虚表 aardio v33.36.2 更新: --------------------------------------------------------------------------- 1、增加函数 table.cache() 用于快速创建缓存表。 2、增加虚表基础控件 win.ui.ctrl.vlistview, win.ui.ctrl.vlistview 虽然只有几句代码,但大幅简化了创建虚表的代码。 用法请参考: 范例 / 数据库 / sqlite / 虚表 3、标准库 sqlite 增加函数 stepResult() ,用法参考上面的虚表范例。 4、改进部分文档。 aardio v33.36.1 更新: --------------------------------------------------------------------------- 1、增加库 java.jdk.v6ora 。 aardio v33.36.0 更新: --------------------------------------------------------------------------- 1、优化 java 支持库 。 增加库 java.jre.v8ora , java.jdk.v8ora 。 2、增加库 fsys.drives 。 3、优化标准库 sys.volume , sys.storage 。 4、改进 table.array 函数: 允许以 table.array( , iter ) 格式将迭代器的首个返回值转换为一维数组。 5、math.size64 对象添加 divf 函数。 6、修正几处范例笔误,感谢「萌芽」反馈。 aardio v33.35.7 更新: --------------------------------------------------------------------------- 1、修正 Windows 11 系统临时目录配置异常导致的问题。 aardio v33.35.6 更新: --------------------------------------------------------------------------- 1、改进 工具 / 其他 / 系统设置 / 环境变量。 aardio v33.35.5 更新: --------------------------------------------------------------------------- 1、改进调用 Java 范例。 aardio v33.35.3 更新: --------------------------------------------------------------------------- 1、改进 process.rundll 用起来更方便了, 例如打开「系统设置 / 环境变量编辑」,可以这样写: import process.rundll; process.rundll("sysdm.cpl").EditEnvironmentVariables() aardio v33.35.2 更新: --------------------------------------------------------------------------- 1、增加 string.expand() 函数,用于展开字符串中的环境变量。 此函数也可以自定义查找模式串与替换函数以用于其他需要重复替换的操作。 aardio v33.35.1 更新: --------------------------------------------------------------------------- 1、优化标准库 java,增加调用 Java 范例。 2、增加一个打包 Java 6 运行时的扩展库 java.jre.v6, 精简版 JRE 仅 6.8MB,可嵌入程序生成独立 EXE 文件。 ardio v33.35 更新: --------------------------------------------------------------------------- 激动人心的大更新来了: java 库大幅重构与改进,并正式移入标准库。 接口更简洁,使用更简单。精细改进,修复所有已知问题。 用新版 java 库,可以非常方便地生成非常小的 EXE 文件, 不用再自带 Java 运行时,新版 Java 库有非常强大的系统 Java 运行时探测功能, 也可以在没有安装 Java 运行时的系统上快速地自动部署 Java 运行时。 可使用 java.path.setJreHome() ,java.path.setJdkHome() 函数方便地自定义 Java 运行时目录。 可通过扩展库快速切换 Java 运行时, 标准库已自带 java.jre.v8, java.jdk.v8 实现, 代码只有几句,扩展非常方便。 重写所有 aardio 调用 Java 范例,更容易学习和理解了。 ardio v33.34.5 更新: --------------------------------------------------------------------------- 1、 process.popen 增加 readAll() 函数, 可通过一个函数读取所有输出,等待并关闭进程, 并使用模式匹配在输出内容中搜索并返回字符串。 ardio v33.34.4 更新: --------------------------------------------------------------------------- 1、string.cmdline.arguments() 允许参数@1传入数组 ardio v33.34.3 更新: --------------------------------------------------------------------------- 1、允许 process.isExe() 传入 null 参数(返回 null ) ardio v33.34.2 更新: --------------------------------------------------------------------------- 1、改进 win.path.add() ardio v33.34.1 更新: --------------------------------------------------------------------------- 1、增加读写环境变量函数: string.getenv(), string.setenv(), win.path.add() 废弃以下函数: win.getenv() win.setenv() win.addenv() ardio v33.34 更新: --------------------------------------------------------------------------- 1、改进标准库 dotNet 调用 .Net 函数支持可选参数。 2、改进标准库 fsys, fsys.batch 等与批量操作文件有关函数, 增补并改进范例:aardio 范例 / 文件操作 / 批量操作 。 ardio v33.33.4 更新: --------------------------------------------------------------------------- 1、增加 string.html.toXml() 函数。 ardio v33.33.3 更新: --------------------------------------------------------------------------- 1、修订《aardio 使用手册》。 2、改进《库函数文档》增加更多《aardio 使用手册》相关内容链接。 ardio v33.33.2 更新: --------------------------------------------------------------------------- 1、优化帮助文档。 ardio v33.33.1 更新: --------------------------------------------------------------------------- 1、增加 Python 工程向导,改进 Python 范例。 2、改进 py,py2,py3 等扩展库,允许将 aardio 的库文件导入 Python 模块。 ardio v33.33 更新: --------------------------------------------------------------------------- 1、增加 Python 工程向导,改进 Python 范例. 2、改进 py,py2,py3 等扩展库,允许将 aardio 的库文件导入 Python 模块. ardio v33.32.11 更新: --------------------------------------------------------------------------- 1、改进窗口探测器,可检测目标窗口是否 .Net 程序。 ardio v33.32.10 更新: --------------------------------------------------------------------------- 1、优化库 sys.cp210x 。 ardio v33.32.9 更新: --------------------------------------------------------------------------- 1、改进 sys.installed.find() 增加返回字符串格式版本号。 aardio v33.32.8 更新: --------------------------------------------------------------------------- 1、win.reg 增加 queryTable()函数 。 aardio v33.32.7 更新: --------------------------------------------------------------------------- 1、增加库: sys.installed 。 aardio v33.32.6 更新: --------------------------------------------------------------------------- 1、标准库 raw.pefile 增加 getClrHeader() 函数。 2、增加扩展库 dotNet.ilSpy。 3、改进 DLL 查看工具。 aardio v33.32.4 更新: --------------------------------------------------------------------------- 1、优化标准库 dotNet, 避免重复导入 .Net 类, 增加自动导入 .Net 枚举类型的功能。 2、dotNet.seleniumBasic 范例中增加截图演示。 aardio v33.32.3 更新: --------------------------------------------------------------------------- 1、添加: 范例 / Windows 窗口 / edit,richedit / 点击全选 范例 / Windows 窗口 / edit,richedit / 超链接 aardio v33.32.2 更新: --------------------------------------------------------------------------- 1、添加 dotNet.seleniumBasic 扩展库与调用范例。 aardio v33.32.1 更新: --------------------------------------------------------------------------- 1、添加范例:COM组件 / 其他组件 / 嵌入 Office 文档。 2、改进扩展库 com.dsoFramer ,增加部分接口与文档。 aardio v33.32.0 更新: --------------------------------------------------------------------------- 1、修正 win.ui.grid 导致 listview 右键菜单无法弹出 Bug, 感谢「沧海」反馈。 aardio v33.31.4 更新: --------------------------------------------------------------------------- 1、添加范例 .Net 程序集合并工具。 aardio v33.31.3 更新: --------------------------------------------------------------------------- 1、标准库增加函数 dotNet.loadAppData 。 aardio v33.31.2 更新: --------------------------------------------------------------------------- 1、增加标准库 dotNet.v4 用于检测并自动安装 .Net v4.x 运行时。 2、改进 范例 / 文件操作 / 文件对话框。 aardio v33.31.1 更新: --------------------------------------------------------------------------- 1、改进标准库 dotNet,调用 .Net 出现异常时显示更详细的内部错误信息,而不仅仅是显示调用目标异常。 aardio v33.31.0 更新: --------------------------------------------------------------------------- 1、改良 win.ui 预处理通知消息机制。 2、增加 inet.http.get(),inet.whttp.get 函数。 3、优化 gdip.bitmap 自网址创建图像功能,使用工作线程下载图像不阻塞界面消息。 4、增加高级选项卡范例。 5、修正 inet.httpFile 在服务器未返回内容长度时提示下载大小为 0 的问题,感谢「陈可乐」反馈。 aardio v33.30.3 更新: --------------------------------------------------------------------------- 1、增加标准库 process.cmdline 2、改进工具 / 探测器 / 窗口探测器 增加显示父进程ID,鼠标放到 ID上可显示父进程路径。 增加显示窗口是否 Unicode 窗口。 增加切换 16/10 进程显示句柄功能。 增加显示进程架构、是否以管理权限启动等功能。 3、优化进制转换工具,可切换不同转换函数。 4、简化标准库 process.wmi 代码。 5、增加范例 / 高级图像控件 / 图标动态配色。 aardio v33.30.2 更新: --------------------------------------------------------------------------- 1、标准库添加函数 com.QueryObjectR() 2、添加范例:调用其他语言 / CPP / DLL / thiscall 演示了如何使用 thiscall 调用约定将 C++ 对象自动转换为 aardio 对象。 3、添加范例:调用其他语言 / CPP / DLL / COM 接口 演示了如何使用 C++ 简单地编写 COM 对象,并自动转换为 aardio 对象。 aardio v33.30.0 更新: --------------------------------------------------------------------------- 1、优化标准库 wsock.tcp.client 增加函数 readEx,readAllocEx 等函数, 修正 readAll() 函数提前退出的问题,改进 peek 函数可识别 readAlloc 缓冲区。 2、优化 plus 控件。 aardio v33.29.1 更新: --------------------------------------------------------------------------- 1、改进标准库 sqlite 预处理命令的 step() 函数支持指定匿名参数(可选)。 重新编写了全部 sqlite 范例,更容易理解和学习。 aardio v33.29.0 更新: --------------------------------------------------------------------------- 1、重大更新: dotNet 支持库大幅改进,现在调用 .Net 代码更简洁更方便了。 dotNet 库函数文档以及调用范例和已经全部改写 —— 更容易理解和学习了。 本次改进并不改变原有接口,不会导致兼容性问题,但推荐大家改用新版用法。 2、增加 dotNet.json 扩展库,可以方便地将 .Net 对象转换为 JSON, 而且只要导入这个扩展库,web.json 就会自动支持 .Net 对象 3、改进编辑器外观工具搜索字体候选列表为空时隐藏下拉提示框,感谢「nlysh」反馈。 aardio v33.28.5 更新: --------------------------------------------------------------------------- 1、改进范例。 aardio v33.28.4 更新: --------------------------------------------------------------------------- 1、添加范例:模拟自动化 / 进程操作 / 自动扫雷, 这个范例主要演示通过读写外部进程内存,调用外部进程函数实现自动化操作。 范例已自带扫雷程序,可直接运行。 aardio v33.28.3 更新: --------------------------------------------------------------------------- 1、增加 process.gcc.check() 函数。 2、调用 Go 语言范例增加 Go 混编 C语言代码演示。 3、改进函数文档。 aardio v33.28.2 更新: --------------------------------------------------------------------------- 1、改进调用 golang 范例。 aardio v33.28.1 更新: --------------------------------------------------------------------------- 1、分离 golang.string 到单独的库。 aardio v33.28.0 更新: --------------------------------------------------------------------------- 1、OwnerDraw 范例增加 DPI 自适应缩放演示。 2、优化 listbox 控件源码,增加部分函数和事件。 3、优化 listview 控件源码。 aardio v33.27.5 更新: --------------------------------------------------------------------------- 1、修正上一版 plus 控件报错,感谢「大象无形」反馈。 aardio v33.27.4 更新: --------------------------------------------------------------------------- 1、优化 GIF 动画功能。 aardio v33.27.3 更新: --------------------------------------------------------------------------- 1、改进托盘图标范例。 2、改进网页探针工具。 aardio v33.27.2 更新: --------------------------------------------------------------------------- 1、修正 io.appData() 未指定 data 参数返回错误值,感谢「陈可乐」反馈。 aardio v33.27.1 更新: --------------------------------------------------------------------------- 1、优化标准库 win.ui.shadow aardio v33.27.0 更新: --------------------------------------------------------------------------- 1、标准库新增函数: com.CreateEmbedEx() com.activeX.createEmbed() com.activeX.createObject() 2、重新整理「范例/COM组件」,这下面很多范例都重写了, 并分组到入门、进阶等不同目录,力求简洁、更易于学习。 3、改进 COM 控件查看工具(代码生成器), 此工具位置已移动到「工具 / 探测器 / COM控件查看工具 4、改进标准库 raw.pefile。 aardio v33.26.7 更新: --------------------------------------------------------------------------- 1、优化悬浮关闭按钮显示效果。 aardio v33.26.6 更新: --------------------------------------------------------------------------- 1、优化标准库 fsys.info 。 2、web.sciter 扩展库升级 Sciter 组件到最新版。 aardio v33.26.4 更新: --------------------------------------------------------------------------- 1、增加 io.specialData() 函数, io.appData() 改为调用 io.specialData() 实现。 io.specialData() 的功能与 io.appData() 类似,但可以自定义目标文件夹, 增且增加了检测比对 PE 时间戳的功能。 2、增加 fsys.gmatch() 函数,可直接在文件中使用模式匹配搜索。 3、增加 范例 / 文件操作 / 特殊路径 aardio v33.26.3 更新: --------------------------------------------------------------------------- 1、VB 范例增加打开 VB 控件源码按钮。 aardio v33.26.2 更新: --------------------------------------------------------------------------- 1、改进 COM 控件播放器范例。 aardio v33.26.1 更新: --------------------------------------------------------------------------- 1、增加函数 com.picture.loadObject() 2、改进 com.lite 3、改进调用 VB6 控件范例 aardio v33.26.0 更新: --------------------------------------------------------------------------- 1、改进 com.lite 并添加 createEmbedEx() 函数, 窗口控件等添加 createEmbedEx() 函数, 简化嵌入控件的代码. 更新 COM 控件相关范例也文档. 2、添加 范例 / 调用其他语言 / VB / 嵌入VB控件。 范例包含 VB 示例工程源码。 aardio v33.25.3 更新: --------------------------------------------------------------------------- 1、改进范例。 aardio v33.25.1 更新: --------------------------------------------------------------------------- 1、修正 winex.ctrl.edit 在 Windows11 不能修改控件文本的问题。 aardio v33.25.0 更新: --------------------------------------------------------------------------- 1、增加函数 winex.closeAndWait() winex.orphanWindow() 2、增加函数 process().sendMessage() 3、增加标准库:winex.ctrl.edit 4、改进范例:自动化->窗口自动化->悬浮影子窗口 aardio v33.24.6 更新: --------------------------------------------------------------------------- 1、dotNet 范例添加:管理 IIS 服务器。 aardio v33.24.5 更新: --------------------------------------------------------------------------- 1、改进 winex.findMenu() 函数。 2、改进 winex.click() 允许直接指定要搜索的菜单标题并点击找到的菜单项。 3、改进 winex 相关范例。 4、增加 winex.removeBorder() 函数。 5、改进 嵌入外部程序窗口范例。 aardio v33.24.4 更新: --------------------------------------------------------------------------- 1、改进 win.util.deviceNotification 以及范例。 2、添加 table.flat 函数。 3、添加调用 vc6.loadcode() 范例。 扩展库更新 --------------------------------------------------------------------------- 1、vc6 扩展库增加 vc6.loadcode()。 可通过此函数将 C++ 代码加载为 aardio 中的内存 DLL, 来个例子看效果: import vc6; var dll = vc6.loadcode(` #include <windows.h> #include <winioctl.h> #define DllExport __declspec( dllexport ) extern "C" { DllExport int __cdecl getValue() { return CTL_CODE(IOCTL_STORAGE_BASE, 0x0500, METHOD_BUFFERED, FILE_ANY_ACCESS); } }`); import console; console.log( dll.getValue() ); console.pause(); 扩展库更新 --------------------------------------------------------------------------- 1、web.npPlugin.flash 自带 Flash 组件降级版本到 v20.0.0.267。 Flash 太新的版本兼容性不是很好,在 web.kit 中切换 swf 时都会导致严重的卡顿。 经测试降级 Flash 组件后运行流畅稳定,体积也小了很多。 我们用这个本来就是用于跑一些古老的 Flash 程序,求新求完美是无意义的。 现在几乎所有浏览器都运行不了 Flash,更何况编写桌面软件并非浏览器运行环境,加载的都是经过选择的内容,顾虑有人能在这种苛刻的条件下去利用旧版 Flash 的安全漏洞无任何意义。 aardio v33.24.3 更新: --------------------------------------------------------------------------- 1、在一个窗口上允许重复调用 win.ui.minmax 修改设置参数。 2、改进录屏工具允许拖出较小的选框,窗口较小时自动隐藏无法容纳的非必要控件。 aardio v33.24.2 更新: --------------------------------------------------------------------------- 1、process.gifsicle 扩展库改为自带 gifsicle, 下载体积同时缩小一半只有 100KB。 2、修正 GIF 录屏工具因预览文件占用报错,感谢「nlysh」反馈。 3、优化 GIF 录屏工具一些小细节。 aardio v33.24.1 更新: --------------------------------------------------------------------------- 1、plus 控件 trackbar 模式优化。 aardio v33.24.0 更新: --------------------------------------------------------------------------- 1、录屏工具一些细节优化,增加每秒帧数设置等。 2、改进扩展库搜索功能。 3、改进滑块配色工具。 aardio v33.23.7 更新: --------------------------------------------------------------------------- 1、录屏工具改为无边框窗口。 aardio v33.23.6 更新: --------------------------------------------------------------------------- 1、增加扩展库 process.gifsicle 用于自动优化并压缩 GIF 文件,可显著减小体积。 2、改进录屏工具范例,记录帧延时,并在录屏完成后自动压缩体积。 aardio v33.23.5 更新: --------------------------------------------------------------------------- 1、标准库增加 win.clip.gif , 用于完美复制 GIF 动画到剪贴板。 aardio v33.23.4 更新: --------------------------------------------------------------------------- 1、增加标准库 win.region.hole 2、增加一个录制 GIF 图像范例(范例->图形图像->录制 GIF)。 3、改进 soImage 扩展库,增加 captureCursor() 函数。 扩展库更新: --------------------------------------------------------------------------- 1、改进 win.scrnsave 扩展库,添加 getConfig,setConfig 等函数。 并改进发布设置, 仅引用 win.scrnsave 但未实际使用时不调整发布后缀名。 aardio v33.23.3 更新: --------------------------------------------------------------------------- 1、改进标准库 protobuf: 支持 import 语法引入其他 proto 文件, 支持 消息外部定义的枚举。 自动忽略 RPC 段。 aardio v33.23.2 更新: --------------------------------------------------------------------------- 1、修正笔误,感谢「一丰」反馈。 aardio v33.23.1 更新: --------------------------------------------------------------------------- 1、改进 Python 范例。 aardio v33.23.0 更新: --------------------------------------------------------------------------- 1、重磅更新来了, Python 相关扩展库与范例更新: 支持用 py3.export() py2.export() py.export() 导出 aardio 对象到 Python 中, 在 Python 中调用 aardio 对象将会非常方便,简直就像直接用 aardio 调用 aardio。 aardio 中已更新了详细的文档和范例。 aardio v33.22.12 更新: --------------------------------------------------------------------------- 1、Win7 上 Node.js 默认版本改为 13.14.0 (修正低于这个版本 JS 中 require 语句报错 ) aardio v33.22.11 更新: --------------------------------------------------------------------------- 1、更新 aardio.js 。 2、添加 nodeJs.cnpmSync() 函数。 aardio v33.22.9 更新: --------------------------------------------------------------------------- 1、不再支持 Node.js v5.x aardio v33.22.8 更新: --------------------------------------------------------------------------- 1、修正 nodejs.prequireByJs() 安装模块失败。 aardio v33.22.7 更新: --------------------------------------------------------------------------- 1、修正 nodeJs.nodeModulesPath 为空的问题。 aardio v33.22.6 更新: --------------------------------------------------------------------------- 1、优化标准库 nodeJs 代码, 增加 nodeJs.execLimit() nodejs.prequireByJs() nodeJs.requireByJs() 等函数。 改进 nodeJs 范例。 aardio v33.22.5 更新: --------------------------------------------------------------------------- 1、修正 protobuf 报错,感谢「李家智」反馈。 aardio v33.22.4 更新: --------------------------------------------------------------------------- 1、所有窗口控件增加 _defWindowProc 函数, 用于在 wndproc 回调中提前调用默认消息回调。 2、web.layout.fontAwesome 移入扩展库。 aardio v33.22.3 更新: --------------------------------------------------------------------------- 1、改进标准库 win.guid ,增加 unpack(),toString() 函数, 允许在 toString() 或 tostring() 函数中指定格式化参。 2、改进 GUID 生成器,自动生成各种格式 GUID 以及调用 win.guid 的示例代码。 aardio v33.22.2 更新: --------------------------------------------------------------------------- 1、改进:工具 / 转换工具 / GUID生成器 aardio v33.22.1 更新: --------------------------------------------------------------------------- 1、修正 debug 库报错,感谢「魏mvp」反馈。 aardio v33.22 更新: --------------------------------------------------------------------------- 1、标准库 win.ui 一些细节优化。 winform.add() 支持绑定已创建的控件到窗体容器中。 2、改进 win.ui.tooltip 控件以及范例、文档。 提供更灵活与简洁的接口(向下兼容),增加大量函数。 win.ui.tooltip.tracking() 可默认创建支持超链接、带关闭按钮的提示控件。 增加跟踪模式提示控件范例,演示了启用关闭按钮,处理超链接事件等。 3、::RECT 结构体增加 contains 函数。 4、改进并优化常量优化工具。 5、进制转换工具支持自动转换 WM_USER 的值。 aardio v33.21 更新: --------------------------------------------------------------------------- 1、改进 com.wmi 支持使用命名参数格式化 WQL 语句(用法类似其他数据库 SQL 格式化功能)。 2、添加 com.wmi 范例:系统账号管理工具。 aardio v33.20.4 更新: --------------------------------------------------------------------------- 1、改进 win.ui.ctrl.close 控件并添加范例。 2、修正 web.json 指定 codepage 参数时可能出现的错误。 3、改进 Python 扩展库范例及文档。 Python 扩展库更新: --------------------------------------------------------------------------- 调用 Python 函数遇到异常时显示 Python 错误信息(以及异常类名)。 增加以下函数: py3.toString() py3.occurred() py3.lasterr() py2.toString() py2.occurred() py2.lasterr() py.toString() py.occurred() py.lasterr() 修正 py2 扩展库处理文本编码、以及路径编码的问题。 修正 py3.sysObject 函数的 BUG。 aardio v33.20.3 更新: --------------------------------------------------------------------------- 1、改进标准库 com.wmi, 增加部分函数。 2、改进 sys.cpu.getInfoByWmi()。 aardio v33.20.2 更新: --------------------------------------------------------------------------- 1、优化 tcc 扩展库,并增加 enableIoReopen() enableIoPrintf() 等函数。 新版本如果要在 C代码中调用 io_reopen() 需要在编译 C代码 前调用 enableIoReopen() 函数. 调用 enableIoPrintf() 会为 C代码 添加 io_printf 函数。 2、改进所有 tcc 范例使用新版函数, 3、修正 tcc + raw.cdeclParameter 示例一处笔误,感谢「酱油君」反馈。 aardio v33.20.1 更新: --------------------------------------------------------------------------- 1、标准库添加 gdip.exifTags aardio v33.20 更新: --------------------------------------------------------------------------- 1、tcc 扩展库增加 tcc.build 函数。 2、添加调用 tcc.build 范例。 aardio v33.19.9 更新: --------------------------------------------------------------------------- 1、web.rest.client 增加 encodeKey 属性可用于自定义资源名编码。 2、修订帮助文档。 aardio v33.19.7 更新: --------------------------------------------------------------------------- 1、修订帮助文档。 aardio v33.19.6 更新: --------------------------------------------------------------------------- 1、改进 Electron 相关范例。 aardio v33.19.5 更新: --------------------------------------------------------------------------- 1、改进 electron.app : indexReday 回调支持 $ 参数, electron 进程绑定 process.job.limitKill, 支持透明参数 transparent 。 aardio v33.19.3 更新: --------------------------------------------------------------------------- 1、增补库函数文档缺少的几个库。 aardio v33.19.2 更新: --------------------------------------------------------------------------- 1、改进 sqlite 库函数文档。 aardio v33.19.1 更新: --------------------------------------------------------------------------- 1、修正 ide.doc 报错,感谢「小肥羊」反馈。 aardio v33.19 更新: --------------------------------------------------------------------------- 1、修正 plus 控件配色工具一处导致生成字体过大的 BUG。 2、添加函数 com.wmi.getProperties() 用于快速获取 WMI 对象的所有属性。 3、优化 com.shell, 可使用 com.shell() 直接创建 Shell.Application 对象。 4、优化部分范例。 aardio v33.18.7 更新: --------------------------------------------------------------------------- 1、改进 com.wmi.get(),com.wmi.query() 等函数,允许添加 path 参数自定义路径。 2、string.removeBom() 增加检测 UTF-16 BOM 并自动转为 UTF-8 编码的功能。 aardio v33.18.6 更新: --------------------------------------------------------------------------- 1、改进范例。 aardio v33.18.5 更新: --------------------------------------------------------------------------- 1、改进帮助文档。 aardio v33.18.4 更新: --------------------------------------------------------------------------- 1、优化标准库 ide.doc 。 aardio v33.18.3 更新: --------------------------------------------------------------------------- 1、增加 raw.argsPointer 实现原理说明。 aardio v33.18.2 更新: --------------------------------------------------------------------------- 1、改进 raw.argsPointer 文档。 aardio v33.18.1 更新: --------------------------------------------------------------------------- 1、标准库增加 raw.argsPointer 2、增加:范例 -> aardio 语言 -> 语言扩展 -> 结构体二级指针 aardio v33.17.4 更新: --------------------------------------------------------------------------- 1、改进 Win11 经典菜单切换工具。 aardio v33.17.3 更新: --------------------------------------------------------------------------- 改进 chrome.app, chrome.edge.app: 1、支持在显示浏览器窗口以前调整窗口位置,避免窗口出现跳动过程。 2、indexReady() 指定的回调函数添加 $ 参数。 3、改进相关范例。 aardio v33.17.2 更新: --------------------------------------------------------------------------- 1、修正 WMI 范例笔误。 aardio v33.17.1 更新: --------------------------------------------------------------------------- 1、增加范例->操作系统->注册表->切换Win11右键菜单风格。 Win11 资源管理器有双重右键菜单,一些常用操作需要点2次(例如7zip解压),非常麻烦。 可以用这个小工具一键切换回 Win10 菜单风格。 aardio v33.17 更新: --------------------------------------------------------------------------- 1、改进扩展库 py,py2,py3,大幅改进优化代码, 改进 Python / aardio 之间的字符串、数值转换功能, Python 数值对象可在 aardio 中直接使用 + - * / % ** == 等运算符, Python 对象增加 toStr() 函数,改进 toString() 函数,更好地支持 tostring() 函数。 增加: py.str,py.set,py.float …… py2.str,py2.set,py2.float …… py3.str,py3.set,py3.float …… 等函数, 2、py2,py3 扩展库自带的 requests 升级到最新版本。 3、增加演示新功能的 Python 范例。 aardio v33.16.3 更新: --------------------------------------------------------------------------- 1、改进 inet.http.isAlive() 函数,添加备用 NCSI 地址。 aardio v33.16.2 更新: --------------------------------------------------------------------------- 1、改进 API 转换工具。 aardio v33.16.1 更新: --------------------------------------------------------------------------- 1、改进 win.version,win.versionEx,以及 win.version.format() 函数。 aardio v33.16 更新: --------------------------------------------------------------------------- 1、增加函数 win.reg.query() win.reg.queryWow64() 2、增加函数 com.wmi.query() com.wmi.each() com.wmi.get() 扩展库 更新: --------------------------------------------------------------------------- 1、改进扩展库 web.sysView 的 WebView1 组件检测功能。 aardio v33.15.6 更新: --------------------------------------------------------------------------- 1、增加函数 com.first() 用于返回 com.each 创建的迭代器获取的首个对象。 2、增加 sys.cpu.getFrequence(true) 用于快速获取格式化后的 CPU 频率。 3、增加 sys.cpu.getInfoByWmi() 函数。 4、改进部分范例。 aardio v33.15.5 更新: --------------------------------------------------------------------------- 1、改进调用 Python 范例。 Python 扩展库更新: --------------------------------------------------------------------------- 1、py,py2,py3 扩展库改进 GIL、加载模块有关功能,修正调用 GIL 报错。 aardio v33.15.4 更新: --------------------------------------------------------------------------- 1、改进 Python 扩展库相关范例。 Python 扩展库更新: --------------------------------------------------------------------------- 1、调整 list,tuple,dict 等模块: py.list() 传入 py.object 参数时,如果py.object 对象不是 list, 则自动调用 py.builtin.list 尝试转换为 py.list 对象。 py.tuple() 传入 py.object 参数时,如果py.object 对象不是 tuple 则自动调用 py.builtin.tuple 尝试转换为 py.tuple 对象。 py.dict() 传入 py.object 参数时,如果py.object 对象不是 dict 则自动调用 py.builtin.dict 尝试转换为 py.dict 对象。 py2,py3 扩展库下列函数做了相同改进: py2.list,py2.tuple,py2.dict py3.list,py3.tuple,py3.dict 2、增加了 py.int(),py2.int(),py3.int() 用于生成 Python 整数值。 3、优化 py,py2,py3 扩展库代码。 4、优化 py,py2,py3 扩展库函数文档。 aardio v33.15.3 更新: --------------------------------------------------------------------------- 1、改进扩展库 py,py2,py3 等, 增加 py.builtin, py2.builtin, py3.builtin, Python 对象支持 table.eachIndex, web.json 等。 2、改进 table.eachIndex 函数支持 Python 对象。 3、增加 Python 范例。 aardio v33.15.2 更新: --------------------------------------------------------------------------- 1、改进 inet.httpFile 增加 filename 属性,可用于单独获取或设置下载文件名。 2、修正 console.progress 一处导致光标错误的BUG。 aardio v33.15.1 更新: --------------------------------------------------------------------------- 1、修正 Firebug Lite 范例缺少图标。 aardio v33.15 更新: --------------------------------------------------------------------------- 1、修正同时导入多个图标字体后导致的问题,感谢「小肥羊」反馈。 aardio v33.14.7 更新: --------------------------------------------------------------------------- 1、优化 ide 扩展库。 aardio v33.14.6 更新: --------------------------------------------------------------------------- 1、改进 web.kit 调用 Flash 范例。 扩展库 更新: --------------------------------------------------------------------------- 1、web.kit 组件增加 plugin,flash 等对象,用于快速获取默认的插件对象, 并增加了这些 Flash 插件对象的函数提示。 aardio v33.14.5 更新: --------------------------------------------------------------------------- 1、winex.attach 允许直接传入一个回调函数,在回调函数开始前绑定目标线程, 回调函数结束后取消绑定,用这种方式调用可以增强代码可读性。 2、修正 winex.key.combine 函数失效的问题。 3、改进模拟按键有关的范例。 4、改进 COM 组件部分范例。 5、改进部分文档。 扩展库 更新: --------------------------------------------------------------------------- 1、改进扩展库 web.kit : 在 aardio 中获取 JavaScript 中的函数对象返回 jsEmptyObject 对象而非普通函数, 现在 JS函数对象即可作为普通函数调用,也可以作为普通对象读写对象属性值。 2、修正 web.kit 直接打开 swf 文件无法播放的问题。 感谢「aar-weber」发现以上问题: http://bbs.aardio.org/forum.php?mod=viewthread&tid=1055 aardio v33.14.3 更新: --------------------------------------------------------------------------- 1、改进 plus 控件,缩小默认窗口大小,修正个别电脑因为窗口过大的问题,感谢「mika」反馈。 aardio v33.14.2 更新: --------------------------------------------------------------------------- 1、更新文档。 aardio v33.14.1 更新: --------------------------------------------------------------------------- 1、扩展库 web.sciter 移除自定义控件自适应补丁代码( 因 Sciter 已修正该问题), aardio 自带 sciter 自定义控件范例改用 onSize 事件实现自适应功能(与 HTMLayout 一致)。 aardio v33.14 更新: --------------------------------------------------------------------------- 1、修正导致 WebSocket 客户端异常断开的一个BUG,大幅提升稳定性。 依赖 WebSocket 的库不少,为避免受此 BUG 影响,请尽快升级。 aardio v33.13.7 更新: --------------------------------------------------------------------------- 1、listview 控件增加函数 eachChecked。 2、增加搜索 WMI 类名范例。 aardio v33.13.6 更新: --------------------------------------------------------------------------- 1、增加函数 wsock.udp.client.testBindPort() aardio v33.13.5 更新: --------------------------------------------------------------------------- 1、标准库增加 string.intSegments 。 aardio v33.13.4 更新: --------------------------------------------------------------------------- 1、增加调用 web.form 全屏播放 HTML5 视频范范例。 aardio v33.13.3 更新: --------------------------------------------------------------------------- 1、增加 web.view 支持 HTML5 视频范全屏播放范例。 2、增加 web.kit 支持 HTML5 视频范例。 aardio v33.13.2 更新: --------------------------------------------------------------------------- 1、改进 sys.baseBoard.getFullName() 函数。 aardio v33.13.1 更新: --------------------------------------------------------------------------- 1、改进 web.layout.valueObject 对 buffer 的支持。 2、扩展库 web.sciter 升级 Sciter 到最新版,支持 buffer(aardio) <--> ArrayBuffer(JS) 双向转换。 aardio v33.13 更新: --------------------------------------------------------------------------- 1、新增标准库 com.wmi, 改进 WMI 相关范例,代码更简洁了。 2、新增标准库 sys.baseBoard 用于获取主板、BIOS 信息。 3、改进 web.kit 扩展库: 默认支持生成独立 EXE,废弃并且不必再使用 web.kit.portable 。 改进插件 NPAPI 插件加载规则,不再加载这几个扩展库自带的插件(进一步减少扩展库体积), 但是可通过其他新增的扩展库引入 NPAPI 插件。 4、新增扩展库 web.npPlugin.flash 可用于引入 Flash NPAPI 插件。 新增扩展库 web.npPlugin.vlc 可用于引入 VLC 视频播放器 NPAPI 插件。 这几个扩展库都兼容新版 web.kit 扩展库,支持生成独立 EXE 文件。 5、aardio 自带范例中增加部分新的 web.kit 范例。 6、改进标准库 web.form.ie11 以及相关范例。 7、修正却少 connection 请求头导致 wsock.tcp.asynServer 报错的 BUG。 aardio v33.12.2 更新: --------------------------------------------------------------------------- 1、修正 inet.url.splitParameters 一处BUG,感谢 「阿超」反馈该问题。 2、修正工具 / 文件校验工具 路径错误,感谢「popdes」反馈。 aardio v33.12.1 更新: --------------------------------------------------------------------------- 1、优化异步服务器范例。 aardio v33.12 更新: --------------------------------------------------------------------------- 1、优化窗口缩放显示效果。 aardio v33.11.12 更新: --------------------------------------------------------------------------- 1、改进 web.view 文档与范例。 aardio v33.11.11 更新: --------------------------------------------------------------------------- 1、改进 fsys.path.ischild 函数。 2、修正未打开工程时打开信任目录设置工具报错。 aardio v33.11.10 更新: --------------------------------------------------------------------------- 1、改进字体图标在 XP 操作系统老旧版本上的一处兼容性问题。 2、增加 table.gcOnly 函数。 aardio v33.11.9 更新: --------------------------------------------------------------------------- 1、优化 win.ui.scrollbar 。 扩展库 更新: --------------------------------------------------------------------------- 1、 web.sciter 支持将 aardio 的 buffer 类型值传入 JavaScript 。 aardio v33.11.8 更新: --------------------------------------------------------------------------- 1、增强 win.ui.scrollbar,简化调用代码。 2、标准库 web.layout 优化代码。 aardio v33.11.7 更新: --------------------------------------------------------------------------- 1、 win.rt.bcp47 增加一些函数。 aardio v33.11.6 更新: --------------------------------------------------------------------------- 1、 winex.accObject 改进 find 函数查询字段支持 role 。 aardio v33.11.5 更新: --------------------------------------------------------------------------- 1、增加全局常量 _WIN_64 aardio v33.11.3 更新: --------------------------------------------------------------------------- 1、增加多个自定义控件范例,范例包含详细的使用要点和步骤。 aardio v33.11.2 更新: --------------------------------------------------------------------------- 1、优化 win.ui.tabs aardio v33.11.1 更新: --------------------------------------------------------------------------- 1、优化 web.json aardio v33.11 更新: --------------------------------------------------------------------------- 1、改进 winform.enableDpiScaling() 2、改进 wsock.getLocalIp() 3、改进 wsock.tcp.ssdpClient aardio v33.10.1 更新: --------------------------------------------------------------------------- 1、增加标准库 sys.wallpaper aardio v33.10 更新: --------------------------------------------------------------------------- 1、增加标准库 win.rt.hString 2、添加标准库 win.rt.bcp47 aardio v33.9.5 更新: --------------------------------------------------------------------------- 1、改进标准库 win.version 以及相关范例。 2、添加扩展库 win.versionVerify。 3、调整范例目录:操作系统。 4、console.more() 函数允许增加一个参数指定是否清屏。 aardio v33.9.4 更新: --------------------------------------------------------------------------- 1、改进调用C语言范例。 aardio v33.9.3 更新: --------------------------------------------------------------------------- 1、改进「工具 / 探测器 / 窗口探测器」,可同时显示窗口句柄的16进制、10进制值。 aardio v33.9.2 更新: --------------------------------------------------------------------------- 1、修正 winform.eachControl() 的一处 BUG,该问题可能导致新版 win.ui.tabs 出错。 aardio v33.9.1 更新: --------------------------------------------------------------------------- 1、改进标准库 process.popen : 增加 textMode 函数,增加 lines 迭代器。

import console; import process.popen; var prcs = process.popen("ipconfig"); var tab = {}; var current = tab; for i,k,v in prcs.lines("^(\s*)(\S.*?)[\s.]*\:(.*)"){      if(!#i){          current = {};         tab[k] = current;     }     else {         current[k] = v;     }    } console.dumpJson(tab); console.pause(true);

aardio v33.9 更新: --------------------------------------------------------------------------- 1、修正可能出现的默认字体大小设置过大问题。 2、修正 WebView2 调用 external 接口函数返回布尔值总是转换为 false 的问题。 3、窗口控件类名移除必须小写的说明(已经无此限制)。 4、修正文本框控件的设计属性里出现重复的边框属性。 5、改进智能提示。 6、优化信任目录设置工具。 7、改进文档。 aardio v33.8.2 更新: --------------------------------------------------------------------------- 1、process.job.limitKill.assignProcess() 函数支持传入 process,process.popen 对象。 2、增加 process.is(),process.popen.is() 函数。 aardio v33.8.1 更新: --------------------------------------------------------------------------- 1、标准库增加 sys.upnp.nat 用于自动管理路由器端口映射。 2、改进 py.dict,py2.dict,py3.dict 可在构造参数中直接传入 aardio 表对象并转换为 Python 字典。 3、改进扩展库 py,py2,py3 , 增加通过 pyObject.invoke(kwargs,args...) 调用 Python 函数的功能, 支持指定 Python 函数需要的命名参数,示例: import py3; var requests = py3.import("requests"); var ses = requests.Session(); var res = ses.get.invoke(verify=false,"https://www.aardio.com"); 4、优化调整所有 Python 范例,Python3 范例改为基于 Python 3.6 的 py3 扩展库。 这个主要是因为 XP 操作系统已基本从市场消失,Python 3.6 不兼容 XP 的问题已经可以忽略。 5、优化其他范例。 aardio v33.7.7 更新: --------------------------------------------------------------------------- 1、win.taskScheduler 使用 time 字段配置触发时间时,允许使用数组同时指定多个值。 2、继续改进函数文档。 扩展库 更新: --------------------------------------------------------------------------- 1、扩展库 web.sciter 更新 Sciter 组件到最新版, web.sciter.element 对象新增 eval, doScript 等函数(执行JS代码中 this 等于当前节点对象)。 aardio v33.7.6 更新: --------------------------------------------------------------------------- 1、精简标准库 com.excel,并修正 eachValue 函数一处 BUG,感谢「topbow 」反馈该问题。 2、优化并调整部分范例。 aardio v33.7.5 更新: --------------------------------------------------------------------------- 1、增加 SHA-256 范例。 aardio v33.7.4 更新: --------------------------------------------------------------------------- 1、改进 win.ui.tabs 自动探测容器控件的功能。 aardio v33.7.3 更新: --------------------------------------------------------------------------- 1、改进窗口探测器。 aardio v33.7.2 更新: --------------------------------------------------------------------------- 1、补充无边框窗口相关范例和文档。 扩展库 更新: --------------------------------------------------------------------------- 1、扩展库 process.aria2 修正设置 trackerList 错误,感谢「nlysh」反馈。 aardio v33.7.1 更新: --------------------------------------------------------------------------- 1、增加 process.findId() 函数,优化 process.find(),process.each() 函数。 2、增加 winex.isVisible() 函数。 aardio v33.7 更新: --------------------------------------------------------------------------- 1、优化标准库 winex , win 等。 增加 winex.eachFindEx, winex.findEx2 等函数。 aardio v33.6.2 更新: --------------------------------------------------------------------------- 1、listview 控件改进 setColumns 函数, 可直接传入列标题数组,或传入不定个数字符串参数指定列标题数组。 2、继续优化范例、改进文档。 aardio v33.6.1 更新: --------------------------------------------------------------------------- 1、调整窗口程序范例目录结构,增加窗口消息处理范例。 aardio v33.6 更新: --------------------------------------------------------------------------- 1、标准库增加 sys.locale 2、标准库增加 sys.locale.abbrevNames 用于替代 string.lcid, string.lcid 已废弃(仍可通过扩展库引用)。 3、改进 edit 控件气泡提示系列函数,可仅指定一个消息参数并省略其他参数,简化用法。 4、增加:工具 / 界面 / Windows 消息大全。 aardio v33.5.2 更新: --------------------------------------------------------------------------- 1、process 对象添加 waitMainWindow() 函数。 2、优化标准库 fsys.acl 。 3、改进部分范例。 扩展库 更新: --------------------------------------------------------------------------- 1、扩展库 process.aria2 升级 aria2 为最新内核,并修复 BT 下载没速度的问题。 aardio v33.5.1 更新: --------------------------------------------------------------------------- 1、改进标准库 chrome.driver 调用新版 Edge 浏览器时自动切换为 EdgeDriver。 2、修正标准库 web.socket.client 在服务端返回错误对象导致异常的问题,感谢 「nlysh」 反馈该问题。 aardio v33.5 更新: --------------------------------------------------------------------------- 1、优化标准库 crypt.rsa, 简化 RSA 签名与验签接口,已更新:范例 / 文本处理 / 哈希加密 / RSA 签名。 2、改进 richedit 控件。 aardio v33.4 更新: --------------------------------------------------------------------------- 1、HTTP 服务端添加 request.postJson() 函数,可直接读取客户端发送的 JSON 并解析为 aardio 对象。 2、添加 web.view 调用百度低代码前端框架 amis 的演示,不需要学习前端框架和工具,使用 JSON 配置就可以生成网页界面。 aardio v33.3.2 更新: --------------------------------------------------------------------------- 1、允许无参数调用 dotNet.appDomain() 快速创建应用程序域实例。 aardio v33.3.1 更新: --------------------------------------------------------------------------- 1、改进标准库 web.view.dev; 2、改进嵌入 Delphi 控件范例。 aardio v33.3 更新: --------------------------------------------------------------------------- 1、优化 _WM_THREAD_CALLBACK,允许在回调函数中修改并返回参数传入的结构体,相关范例已更新。 aardio v33.2.5 更新: --------------------------------------------------------------------------- 1、改进标准库 nodeJs。 aardio v33.2.3 更新: --------------------------------------------------------------------------- 1、改进 web.view 范例。 aardio v33.2.2 更新: --------------------------------------------------------------------------- 1、修正 plus 配色工具设置字体图标报错,感谢「愿天知人意」反馈。 aardio v33.2.1 更新: --------------------------------------------------------------------------- 1、改进范例。 aardio v33.2 更新: --------------------------------------------------------------------------- 本次更新完成以后,建议运行「工具 / 开发环境 / 清理重置工具 」重置开发环境设置。 1、调整「范例」、「工具」等文件目录结构,优化「范例」打开速度。 2、「范例」内的目录,允许使用排序号加括号作为前缀命名 —— 并在显示时自动移除此前缀,例如 "1) 目录名" 会显示为 "目录名"。 3、新建文件菜单仅保留创建控制台与创建窗体,其他示例代码请到范例中查看,新建空白文件增加"新建 WebView2 窗体"。 4、优化 plus 控件。 5、修正 debug 库报错,感谢「popy32」反馈。 6、界面细节优化,并修正其他已知 BUG。 aardio v33.1.4 更新: --------------------------------------------------------------------------- 1、增加 web.view 范例。 aardio v33.1.3 更新: --------------------------------------------------------------------------- 1、改进范例与文档。 扩展库 更新: --------------------------------------------------------------------------- 1、优化 web.sciter 扩展库,修正新版 Sciter 自定义控件无法显示问题。 web.sciter.element 改进 geForm,getCtrl 等函数。 aardio v33.1.2 更新: --------------------------------------------------------------------------- 1、扩展库安装网址支持 *.aardio 格式文件地址, github.com 上的单文件地址建议使用 web.rest.github.toJsDelivrUrl() 转换为 jsdelivr 地址发布。 aardio v33.1.1 更新: --------------------------------------------------------------------------- 1、修正 win.dlg.message 设置默认父窗口 BUG,感谢「酱油君」反馈。 aardio v33.1 更新: --------------------------------------------------------------------------- 1、web.view 添加 xcall 函数。 aardio v33.0 更新: --------------------------------------------------------------------------- 1、支持用","号代理";"号分隔表元素,支持用 ":" 号代替"="号分隔键值对(结构体字段仍然必用"="号分隔键值对,不允许用":" 号代替), 如果键名为字符串,新版 aardio 允许将键名置入引号,因此可以使用类JSON的语法定义表对象,例如: var tag ={"name1":123,"name2":456} 2、自文本解析时间即使格式化串未指定 12 小时制,如果时间使用了 AM,PM后缀,仍然可以正确解析时间。 3、优化自动缩进,默认使用制表符缩进。 aardio v32.37.3 更新: --------------------------------------------------------------------------- 1、修正 sqlite 绑定参数 bug, 感谢「龙腾虎跃」反馈。 aardio v32.37.2 更新: --------------------------------------------------------------------------- 1、改进 process.joinArguments() aardio v32.37.1 更新: --------------------------------------------------------------------------- 1、优化 sys.device 2、改进 win.guid ,支持在构造参数中直接传入 GUID,CLSID,ProgID 等, 可通过指定 tostring 的第2个参数为true返回首尾有大括号的CLSID,例如: tostring(win.guid.create(),false,true); 3、修正 sqlServer.format, access.format 格式化表参数的 bug , 感谢「Cui」反馈。 aardio v32.37 更新: --------------------------------------------------------------------------- 1、优化标准库 dotNet, fsys.wow64 aardio v32.36.2 更新: --------------------------------------------------------------------------- 1、优化标准库 sys.vc14 扩展库 更新: --------------------------------------------------------------------------- 1、tcc 扩展库支持生成独立 EXE 文件( 基于 sevenZip.lzma.tar )。 aardio v32.36.1 更新: --------------------------------------------------------------------------- 1、增加库 sevenZip.lzma.tar 用于自内存快速解压 lzma.tar 文件。 aardio v32.36 更新: --------------------------------------------------------------------------- 1、com.DumpTypeInfo() 函数不再用于直接输出到控制台。 改进 console.dump() 函数支持在传入 COM 对象参数时自动调用 com.DumpTypeInfo() 获取并输出对象类型信息。 aardio v32.35 更新: --------------------------------------------------------------------------- 1、改进 com.double() 等函数。 aardio v32.34.4 更新: --------------------------------------------------------------------------- 1、增加 范例->C语言->弹性数组。 aardio v32.34.3 更新: --------------------------------------------------------------------------- 1、改进范例。 aardio v32.34.2 更新: --------------------------------------------------------------------------- 1、增加 com.int8,com.int32,com.double …… 等函数。 aardio v32.34.1 更新: --------------------------------------------------------------------------- 1、dotNet.appDomain 改进 getEnum 函数。 aardio v32.34 更新: --------------------------------------------------------------------------- 1、改进标准库 dotNet ,修正报错: https://htmlayout.cn/t/459#Post1246 aardio v32.33.6 更新: --------------------------------------------------------------------------- 1、修正 process.popen 对象 logResponse 函数一处 BUG,感谢「丑娃儿」反馈。 aardio v32.33.5 更新: --------------------------------------------------------------------------- 1、优化标准库 sys.mpPreference aardio v32.33.4 更新: --------------------------------------------------------------------------- 1、改进 table.type() 函数,仅检查元表创建的 length 属性。 此改进可以避免 web.json.stringify() 函数将包含 length 属性的普通对象作为数组处理。 感谢 「邓碧波」反馈该问题。 2、修正 winform.edit.appendText() 忽略 0 值的 BUG, 感谢 「boyving 」 反馈该问题。 aardio v32.33.3 更新: --------------------------------------------------------------------------- 1、修正 asar 解包不支持 Unpacked files 的问题,感谢用户 「playboysen 」反馈该问题。 aardio v32.33.2 更新: --------------------------------------------------------------------------- 1、crypt 修正 hashFile 函数 BUG. aardio v32.33.1 更新: --------------------------------------------------------------------------- 1、改进 winform.plus.setCueBannerText() 函数。 aardio v32.33 更新: --------------------------------------------------------------------------- 1、修正 PHP CGI 范例执行 phpinfo() 错误。感谢「老W」反馈。 注意:PHP扩展库与 aardio 都必须更新到最新版本。 aardio v32.32.2 更新: --------------------------------------------------------------------------- 1、增加 string.cmdline.arguments 函数。 aardio v32.32 更新: --------------------------------------------------------------------------- 1、改进 UTF-8 模式控制台字体。 2、窗体设计器 edit 控件文本属性支持 \r 转义符。 aardio v32.31.3 更新: --------------------------------------------------------------------------- 1、增加调用 Ruby Rake 范例。 aardio v32.31.2 更新: --------------------------------------------------------------------------- 1、改进文档。 aardio v32.31.1 更新: --------------------------------------------------------------------------- 1、修正 web.socket.server 对 Firefox 的兼容问题,感谢「老曹」反馈。 aardio v32.30.7 更新: --------------------------------------------------------------------------- 1、修正 onDirectDrawBackground 导致的一处问题,感谢「yumhoo」反馈。 aardio v32.30.6 更新: --------------------------------------------------------------------------- 1、标准库添加 crypt.protectData aardio v32.30.5 更新: --------------------------------------------------------------------------- 1、优化 win.ts aardio v32.30.4 更新: --------------------------------------------------------------------------- 1、增加 winex.mouse.sendToChildWindow 选项。 aardio v32.30.3 更新: --------------------------------------------------------------------------- 1、优化 process.ruby.cgi aardio v32.30.2 更新: --------------------------------------------------------------------------- 1、修正 table.eachValue 忽略0的问题,感谢「shugo」反馈。 aardio v32.30.1 更新: --------------------------------------------------------------------------- 1、优化发布工具。 aardio v32.30 更新: --------------------------------------------------------------------------- 1、WIN10 以上系统控制台默认开启 UTF-8 编码。 aardio v32.29.7 更新: --------------------------------------------------------------------------- 1、优化 sys.networkIsolation aardio v32.29.5 更新: --------------------------------------------------------------------------- 1、增加 aardio 调用 Ruby 语言范例。 aardio v32.29.4 更新: --------------------------------------------------------------------------- 1、优化 win.ts。 aardio v32.29.3 更新: --------------------------------------------------------------------------- 1、优化 process.php.cgi aardio v32.29.2 更新: --------------------------------------------------------------------------- 1、增加 win.ts。 aardio v32.29.1 更新: --------------------------------------------------------------------------- 1、优化代码。 aardio v32.29 更新: --------------------------------------------------------------------------- 1、允许以 raw.buffer({}) 传入空表返回 null。 2、API 函数允许以 _w 后缀代替'W'尾标。 3、模板语法不再忽略模板标记 ?> 后面的空白字符。 此改进可扩展模板语法的适用文本格式不再局限于 HTML。 process.batch 的范例也因此改进简化了模板规则。 4、标准库增加 com.cad ,可模板语法在 AutoLISP 中嵌入 aardio 对象。 5、改进 ide.setConfig() 实时保存到配置文件。 6、string.format %u,%o,%x,%X 等格式码支持传入 math.size64 并并按64位无符号数格式化。 7、编辑器支持 Ctr + 放大, Ctrl - 缩小快捷键。 8、优化智能提示 aardio v32.28.5 更新: --------------------------------------------------------------------------- 1、修正 sys.networkIsolation 报错。 aardio v32.28.4 更新: --------------------------------------------------------------------------- 1、增加 AutoCAD 调用范例。 2、修正 wsock.tcp.asynHttpServer 错误请求导致的问题,感谢「Fonny」反馈。 aardio v32.28.2 更新: --------------------------------------------------------------------------- 1、fsys.table 默认添加空函数 beforeSave() afterLoad() aardio v32.28.1 更新: --------------------------------------------------------------------------- 1、修正 RichEdit 控件缩放后不能输入 BUG aardio v32.28 更新: --------------------------------------------------------------------------- 1、优化 nodeJs, electron.app 等支持库,修正报错。 aardio v32.27.10 更新: --------------------------------------------------------------------------- 1、修正 com.excel 报错。 aardio v32.27.9 更新: --------------------------------------------------------------------------- 1、 web.rpc.externalServer 增加 accessControlAllowOrigin 属性。 2、 优化 nodeJs 支持库。 aardio v32.27.7 更新: --------------------------------------------------------------------------- 1、改进部分范例 aardio v32.27.6 更新: --------------------------------------------------------------------------- 1、优化 chrome.app, electron.app 允许在 httpHandler 内直接指定 HTML 代码。 aardio v32.27.5 更新: --------------------------------------------------------------------------- 1、优化 win.ui aardio v32.27.4 更新: --------------------------------------------------------------------------- 1、修正 winform.reduce() 未传入终止动画的 null 参数。 aardio v32.27.3 更新: --------------------------------------------------------------------------- 1、添加函数 process.emptyWorkingSet() aardio v32.27.2 更新: --------------------------------------------------------------------------- 1、改进 aardio.js 函数提示。 2、修正 plus 控件一处 BUG。 aardio v32.27.1 更新: --------------------------------------------------------------------------- 1、web.sysView 不再依赖 web.view ,更新 web.sysView 范例。 2、改进 wsock.tcp.asynHttpServer 的 run 函数允许传入一个表, 表的键为网页请求的相对路径,值可以是响应字符串,也可以是一个回调函数。 具体用法请查看 web.sysView 范例。 扩展库 更新: --------------------------------------------------------------------------- 1、newLisp 扩展库更新 NewLisp 解释器到官网最新版, 并添加 newLisp.run() 函数用于启动 NewLisp 交互式解释器。 更新 newLisp 扩展库范例。 aardio v32.27 更新: --------------------------------------------------------------------------- 1、增加 com.GetOrCreateObject() , com.eachRunning() 函数。 2、优化 win.ui ,修正新版 onClose 事件内最小化出现的问题。 aardio v32.26.5 更新: --------------------------------------------------------------------------- 1、LOGFONT 支持 0.5PT 单位。 aardio v32.26.4 更新: --------------------------------------------------------------------------- 1、win.dlg.font 优化。 aardio v32.26.2 更新: --------------------------------------------------------------------------- 1、win.dlg.font 支持自动调用 logFont.stripPoint() 函数。 aardio v32.26.1 更新: --------------------------------------------------------------------------- 1、优化 aardio.js aardio v32.26 更新: --------------------------------------------------------------------------- 1、nodeJs 支持 web.rpc.externalServer 创建的 RPC 服务端, 添加 nodeJs 调用 web.rpc.externalServer 的范例。 aardio v32.25.4 更新: --------------------------------------------------------------------------- 1、 access, sqlServer 增加事务函数。 aardio v32.25.3 更新: --------------------------------------------------------------------------- 1、优化 response.errorStatus() 函数。 aardio v32.25.2 更新: --------------------------------------------------------------------------- 1、改进 chrome.app 范例。 aardio v32.25.1 更新: --------------------------------------------------------------------------- 1、重构 aardio.js aardio v32.24.3 更新: --------------------------------------------------------------------------- 1、优化 aardio.js aardio v32.24.2 更新: --------------------------------------------------------------------------- 1、web.rpc.externalServer 修正 JS 报错。 aardio v32.24.1 更新: --------------------------------------------------------------------------- 1、spin 控件增加创建属性 buddyInt aardio v32.24 更新: --------------------------------------------------------------------------- 1、标准库增加强大的 web.rpc.externalServer web.rpc.externalServer 可创建一个嵌入 aardio 软件的 RPC 服务器, 在外部浏览器打开的网页中引用该服务器提供的 aardio.js ,即可在网页中调用 aardio 函数。 请参考范例:Web应用->RPC->externalServer aardio v32.23.5 更新: --------------------------------------------------------------------------- 1、web.json 表对象转文本,优先输出值非表对象的成员。 2、增加一个调用 rust 语言实现 TOML 解析器的例子。 aardio v32.23.4 更新: --------------------------------------------------------------------------- 1、修正滑块控件高度大于宽度时报错。 2、修正 bass 扩展库加载内存 mp3 的问题。 3、修正 process.plink.shell 启动参数编码问题。 aardio v32.23.3 更新: --------------------------------------------------------------------------- 1、修正新版 win.dlg.message 不能关闭弹窗,感谢「bob 」反馈。 aardio v32.23.2 更新: --------------------------------------------------------------------------- 1、添加新增的窗口函数 getRoot() 的说明文档。 aardio v32.23.1 更新: --------------------------------------------------------------------------- 1、一个强大的功能,可将 外部窗口托管到 orphanWindow 上实现悬浮窗口的效果。 orphanWindow 是 aardio 中非常独特且强大的一个功能,可将独立窗口伪装为子窗口, 即拥有子窗口那样对父窗口有如影随形的效果,又不受子窗口的局限(例如不受父窗口显式区域的限制,更好的附加外部窗口等) 2、使用新版 orphanWindow 改进 electron.app 嵌入子窗口的功能。 orphanWindow 实现的效果比普通的嵌入子窗口效果更完美一些,不再有输入法限制。 aardio v32.22.6 更新: --------------------------------------------------------------------------- 1、优化 win.util.paint 扩展库 + 画板范例。 aardio v32.22.5 更新: --------------------------------------------------------------------------- 1、 优化 win.ui ,修正控件窗口使用 win.setParent 附加到外部程序窗体后导致的问题,感谢「sunwe」反馈。 2、 修正画板范例跳格问题,需要同时更新扩展库,感谢「Dragononline」反馈。 aardio v32.22.4 更新: --------------------------------------------------------------------------- 1、优化 node.js 支持库。 aardio v32.22.3 更新: --------------------------------------------------------------------------- 1、nodeJs 支持库在 Win7 默认 node.js 版本降级为 v13.6.0( 最后一个支持 Win7 的版本 ),感谢 「Mercury233」反馈。 aardio v32.22.2 更新: --------------------------------------------------------------------------- 1、改进 process.rust 范例 。 aardio v32.22.1 更新: --------------------------------------------------------------------------- 1、标准库添加 process.rust 。 2、添加调用 Rust 生成 DLL 并使用 aardio 内存加载该DLL的范例。 3、改进 raw.struct,允许传入单个结构体参数直接创建静态结构体实例。 aardio v32.21.8 更新: --------------------------------------------------------------------------- aardio 用户许可协议增加条款: “分发 aardio 时必须保持官方提供的原始压缩包,不得解压后上传 aardio 开发环境到开源托管网站, 禁止在网络分发 aardio 的同时提供多个 aardio 历史版本下载。” aardio v32.21.7 更新: --------------------------------------------------------------------------- 1、标准库添加 process.vswhere , 示例: import console; import process.vswhere; var vswhere = process.vswhere(); console.dumpJson(vswhere); console.pause(); aardio v32.21.6 更新: --------------------------------------------------------------------------- 1、修正 raw.struct 字段名限制,感谢「凌空」反馈。 aardio v32.21.5 更新: --------------------------------------------------------------------------- 1、优化「工具 / 开发环境 / 信任列表设置工具」。 aardio v32.21.4 更新: --------------------------------------------------------------------------- 1、修正 checklist 控件设置单选问题。 aardio v32.21.2 更新: --------------------------------------------------------------------------- 1、优化范例。 aardio v32.21.1 更新: --------------------------------------------------------------------------- 1、修正 process.popen 重复调用 writeClose() 函数报错。 aardio v32.21 更新: --------------------------------------------------------------------------- 1、优化 process.popen,process.batch,fsys.wow64 等库,优化64位调用。 并新增以下函数: fsys.wow64.process(); process.popen.cmd64(); process.popen.wow64(); process.batch.wow64(); 2、process,process.popen 增加 ctrlEvent 函数用于发送 Ctrl+C,Ctrl+Break, Ctrl+C,Ctrl+Break 仅发送到目标进程,不会导致当前进程关闭。 3、改进并添加更多批处理、命令行调用、PowerShell 调用范例。 添加管道调用 PowerShell 命令的 process.popen.ps() 函数。 可自动移除旧版PowerShell输出的BOM,自动修正旧版PowerShell管道调用时不退出的问题。 aardio v32.20 更新: --------------------------------------------------------------------------- 1、 raw.convert() 允许使用参数@4指定按结构体大小为单位的指针偏移值。 2、 string.line() 函数增加参数@3用于指定列分隔符。 3、 增加 string.each 函数。 aardio v32.19.3 更新: --------------------------------------------------------------------------- 1、 process.popen.cmd 支持将多行参数自动转换为多个命令。 aardio v32.19.2 更新: --------------------------------------------------------------------------- 1、修正:不知道谁改乱了 MySQL 测试数据库服务器表结构导致 MySQL 范例报错。 aardio v32.19.1 更新: --------------------------------------------------------------------------- 1、改进并增加 raw.struct ,并添加新的范例(范例 / 语言扩展 / 静态结构体 )。 2、优化 Sciter 范例。 web.sciter 扩展库更新: ----------------------------------------- 1、在 aardio 中定义 external 对象后在 JavaScript 内即可直接调用 请注意扩展库请打开「工具 / 扩展库 」 并点击 「安装 / 更新」按钮更新。 aardio v32.19 更新: --------------------------------------------------------------------------- 1、改进 process.popen 修正管道子进程创建控制台子进程弹出新窗口的问题。 并添加 process.popen.detached() 函数。 aardio v32.18.1 更新: --------------------------------------------------------------------------- 1、标准库添加 process.batch,用于实现 aardio + 批处理混合编程。 基于 aardio 的模板语法( 类PHP ) , 可在 *.aardio 源码中嵌入批处理代码, 也可以在批处理代码中嵌入 aardio 代码。 使用 process.batch 可将批处理轻松嵌入 EXE 文件,无需增加任何代码。 使用 process.batch 可利用 aardio 为批处理代码轻松地编写窗口界面。 范例中已添加批处理目录,工程向导中也添加了批处理工程示例。 aardio v32.17.1 更新: --------------------------------------------------------------------------- 1、优化标准库 process 代码,增加 process.shell(), process.shellAs() 等函数。 2、优化发布 / 信任目录设置工具。 3、优化标准库 inet.installer 代码。 4、优化并改进 fsys.file.temp() 函数,fsys.file 对象增加 delete() 函数。 aardio v32.17 更新: --------------------------------------------------------------------------- 1、 修正 datetimepick 显示 BUG,感谢「蓝香川」把馈。 2、 web.view 添加截图示例。 aardio v32.16.5 更新: --------------------------------------------------------------------------- 1、 修正缺少图标导致 electron.app 报错。 2、 改进信任开发目录工具。 扩展库更新 --------------------------------------------------------------------------- 1、改进 preg 扩展库,支持 UTF8 文本匹配模式(文本模式按字符计数) aardio v32.16.4 更新: --------------------------------------------------------------------------- 1、 修正 gdip.graphics drawImageCenter 函数报错。 aardio v32.16.3 更新: --------------------------------------------------------------------------- 1、改进范例。 aardio v32.16.2 更新: --------------------------------------------------------------------------- 1、 优化 process.mutex 2、 改进 窗体设计器 tab 控件在高分屏的显示效果。 aardio v32.16.1 更新: --------------------------------------------------------------------------- 1、 修正 richedit 控件在重新文本后失去 DPI 缩放效果。 aardio v32.16 更新: --------------------------------------------------------------------------- 1、修正新版命名管道接收不到数据,感谢「Bester」反馈。 2、修正 sys.acl.getUserName 取到的用户名超出实际长度,感谢「goddkiller 」反馈。 扩展库更新 --------------------------------------------------------------------------- 1、更新 web.sciter 扩展库,修正 JS 调用 external 对象报错,感谢「nlysh」反馈。 扩展库更新 --------------------------------------------------------------------------- 1、更新 web.sciter 扩展库,修正 Sciter 4.4.7.0 调整内核 API 结构导致所有 Sciter 程序崩溃的问题。 aardio v32.15.3 更新: --------------------------------------------------------------------------- 1、sqlServer 允许使用 codepage 属性自定义非 Unicode 字符串默认代码页。 aardio v32.15.2 更新: --------------------------------------------------------------------------- 1、WIN10系统 aardio 工程首次生成EXE时自动打开信任目录设置工具。 aardio v32.15.1 更新: --------------------------------------------------------------------------- 1、标准库添加 sys.mpPreference aardio v32.15 更新: --------------------------------------------------------------------------- 1、import 语句不再检测元方法潜在的命名冲突。 2、改进部分文档。 aardio v32.14.3 更新: --------------------------------------------------------------------------- 1、string.fuzzyMatching 添加 search() 函数。 aardio v32.14.2 更新: --------------------------------------------------------------------------- 1、改进 console.getch aardio v32.14.1 更新: --------------------------------------------------------------------------- 1、修正 console.getche 接受宽字符的问题,感谢 「 Bester 」反馈。 aardio v32.14 更新: --------------------------------------------------------------------------- 1、dotNet.ocr 增加了几个新函数,详见函数库文档。 aardio v32.13 更新: --------------------------------------------------------------------------- 1、::RECT,::POINT,::SIZE 结构体定义移入 preload.struct,使用这些结构体的库不需要再执行 import win。 2、优化 winex.mouse, dotNet.ocr; aardio v32.12 更新: --------------------------------------------------------------------------- 1、添加 dotNet.ocr。 扩展库更新: --------------------------------------------------------------------------- 1、string.ocrLite 扩展库支持返回置信度,ocrResult.find() 函数支持传入要搜索的文本数组。 aardio v32.11.1 更新: --------------------------------------------------------------------------- 1、修正窗体设计器在高分屏设置字体大小与普通屏幕不一致的问题。 2、改进对触控板的支持。 aardio v32.10.2 更新: --------------------------------------------------------------------------- 1、标准库增加 mouse.moveToWindow() 函数。 扩展库更新: --------------------------------------------------------------------------- 1、string.ocrLite 扩展库增加 ocrResult.findPoint() 函数, 此函数可在 OCR 结果中模糊搜索(有容错能力)到指定的文本块,并返回文本块正中点所在的坐标。 aardio v32.10.1 更新: --------------------------------------------------------------------------- 1、改进标准库 string.fuzzyMatching 允许匹配 null 参数。 string.ocrLite 扩展库 v1.0.0.2 用到了这个特性。 aardio v32.10 更新: --------------------------------------------------------------------------- 1、优化标准库 string.fuzzyMatching 2、添加标准库 sys.vc14 用于检测并自动安装VC2015,VC2017,VC2019运行时。 aardio v32.9.3 更新: --------------------------------------------------------------------------- 1、 改进 fsys.file 对目录路径的支持。 aardio v32.9.2 更新: --------------------------------------------------------------------------- 1、 web.json 改进,允许省略键值分隔符。 aardio v32.9.1 更新: --------------------------------------------------------------------------- 1、 com.interface.IPicture 增加部分函数。 aardio v32.9 更新: --------------------------------------------------------------------------- 1、支持用 com.Variant(null) 创建 VT_NULL 类型的 COM 变量。 2、字面常量 -0 自动转换为 0 (包含字面值表达式),仅允许运算值为 -0。 3、标准库添加 gdip.snap , 用于截图并返回 gdip.bitmap 对象。 4、soImage 扩展库添加一些函数,并改进 soImage 找图范例。 aardio v32.8.3 更新: --------------------------------------------------------------------------- 1、改进窗口探测器生成代码。 aardio v32.8.1 更新: --------------------------------------------------------------------------- 1、sqlServer 绑定参数支持使用 UTF-16 编码文本绑定数据库的 Unicode 文本字段。 aardio v32.8 更新: --------------------------------------------------------------------------- 1、修正 winform.enableDpiScaling(false) 失效,感谢「苏扬」反馈。 aardio v32.7.2 更新: --------------------------------------------------------------------------- 1、添加 winex.waitEx() 函数。 aardio v32.7.1 更新: --------------------------------------------------------------------------- 1、 修正 sqlServer 参数化文本截断 BUG,感谢 「Rustle」反馈。 aardio v32.7 更新: --------------------------------------------------------------------------- 1、 web.form 增加 waitQuerySelector 函数。 2、 优化 process.joinArguments 函数。 3、 修正 chrome.app 设置 userDataDir 错误,感谢「djy252 」反馈。 aardio v32.6.1 更新: --------------------------------------------------------------------------- 1、改进 web.rest.client , 支持在 checkResponseResult 事件中检查响应数据并重新发送请求。 aardio v32.5 更新: --------------------------------------------------------------------------- 1、web.view 支持远程调试接口: import win.ui; /*DSG{{*/ var winform = win.form(text="web.view - 远程调试";right=759;bottom=469;bgcolor=16777215) /*}}*/ import web.view; var wb = web.view(winform,,0/*自动分配调试端口*/); winform.show(); //创建远程调试对象 import web.socket.chrome; var ws = wb.openRemoteDebugging() //允许触发Runtime.executionContextCreated ws.Runtime.enable(); //通过远程调试协议打开指定网页 ws.Page.navigate( url = "http://www.baidu.com"; ) win.loopMessage(); aardio v32.4.3 更新: --------------------------------------------------------------------------- 1、web.sciter 扩展库修正新版自定义控件不刷新的问题。 2、移除 sciter 范例中的自定义控件补丁代码( 已在扩展库中打补丁 )。 aardio v32.4.2 更新: --------------------------------------------------------------------------- 1、优化 wsock.tcp.simpleHttpServer,wsock.tcp.asynHttpServer aardio v32.4.1 更新: --------------------------------------------------------------------------- 1、 winform.setInterval 支持自定义回调函数,并改进调用参数顺序与 winform.setTimeout 一致, 统一为参数@1指定回调函数,参数@2指定延时毫秒数, 也与 Javascript 的同名函数用法保持一致。 注意: 此改进仍然会向下兼容旧版用法,不会影响原来的代码, 但按新版规则调用 winform.setInterval 可以避免执行不必要的兼容代码。 aardio 已修改所有标准库代码与范例为新版用法。 ********************************************************** aardio 一直在尽一切可能地降低 aardio 的学习成本和使用成本, aardio 的易用性源自于多年以来在每一个小细节上的持续改进。 ********************************************************** aardio v32.4 更新: --------------------------------------------------------------------------- 1、 wsock.tcp.simpleHttpServer 添加 startSpaUrl() 函数。 2、 wsock.tcp.asynHttpServer 添加 spaUrl() 函数。 3、 修正 com 库函数文档错误,感谢「劉」反馈。 aardio v32.3 更新: --------------------------------------------------------------------------- 1、 web.view, web.sysView 增加 wait 函数与 onDocumentInit 事件。 aardio v32.2.1 更新: --------------------------------------------------------------------------- 1、 access, sqlServer 修正绑定命名参数时不支持 null 值, 感谢「Rustle」反馈问题。。 aardio v32.2 更新: --------------------------------------------------------------------------- 1、 web.form 支持高分屏自动缩放。 aardio v32.1.1 更新: --------------------------------------------------------------------------- 1、 fsys.file 改进 seek 函数支持长整数。 扩展库 更新: --------------------------------------------------------------------------- 1、优化 sio 扩展库代码,增加 request 函数用于简化串口应答模式。 2、增加扩展库 fsys.kerming 简单封装了科名 LY40S01 的开发接口,双击扩展库可打开示例。 aardio v32.1 更新: --------------------------------------------------------------------------- 1、 增加 thread.delay 函数。 aardio v32.0.7 更新: --------------------------------------------------------------------------- 1、 改进 nodeJs 支持库,改进 Node.js 自动安装程序。 aardio v32.0.6 更新: --------------------------------------------------------------------------- 1、添加 process.code.install() 函数,可自动获取 VS Code 高速下载地址,并自动下载安装 VS Code。 aardio v32.0.5 更新: --------------------------------------------------------------------------- 1、inet.downBox 允许使用一个线程函数替代 下载url参数,用于动态获取下载地址。 aardio v32.0.4 更新: --------------------------------------------------------------------------- 1、 添加 nodeJs 扩展库到标准库,并添加 nodeJs 范例到自带范例。 aardio v32.0.3 更新: --------------------------------------------------------------------------- 1、 检测到WIN10系统内码切换为 UTF-8 时自动修改 io.utf8 , process.popen 的 codepage 等设置。 aardio v32.0.2 更新: --------------------------------------------------------------------------- 1、 增加 process.regAs() 函数。 aardio v32.0.1 更新: --------------------------------------------------------------------------- 1、 标准库添加 sys.cp210x 用于检测并自动安装 CP210X 驱动。 这个库的源码也演示了如何下载网络上的 zip 等压缩包并自动执行压缩包内的安装程序。 aardio v32.0 更新: --------------------------------------------------------------------------- 1、 优化多线程静态回调函数 thread.tocdecl,thread.tostdcall,thread.tofastcall, 并修正一处导致多线程静态回调函数异常的问题。 aardio v31.2.2 更新: --------------------------------------------------------------------------- 1、 添加 sio 扩展库调用范例。 aardio v31.2.1 更新: --------------------------------------------------------------------------- 1、修正系统代理导致 inet.http 异常。 aardio v31.2 更新: --------------------------------------------------------------------------- 1、优化 thread.var aardio v31.1.8 更新: --------------------------------------------------------------------------- 1、优化 string.splitEx 函数,传入null或空字符串时返回空数组。 aardio v31.1.7 更新: --------------------------------------------------------------------------- 1、修正新版 fsys.mime.fromFile 函数导致传入 ini 文件路径返回 null 的 BUG, 感谢 「popdes」反馈。 aardio v31.1.6 更新: --------------------------------------------------------------------------- 1、改进 fsys.dlg 在未指定父窗口时可自动获取当前激话窗口为父窗口。 扩展库更新: --------------------------------------------------------------------------- 1、发布基于开源免费 mCtrl 控件的扩展库 win.ui.ctrl.mCtrl 扩展库更新: --------------------------------------------------------------------------- 1、改进了扩展库 web.cef3 自带了 flash 插件,并完美支持DPI缩放,更改为默认生成独立EXE文件,修正一些小问题。 新版下载: http://bbs.aardio.com/forum.php?mod=viewthread&tid=22367 aardio v31.1.4 更新: --------------------------------------------------------------------------- 1、inet.http,inet.whttp 优化 readHeaderContent() 函数。 aardio v31.1.3 更新: --------------------------------------------------------------------------- 1、添加 web.npm 用于下载 npm 包。 aardio v31.1.2 更新: --------------------------------------------------------------------------- 1、web.view 中安装 WebView2 Runtime 的代码分离到单独的库 inet.installer 。 aardio v31.1.1 更新: --------------------------------------------------------------------------- 1、web.view, web.sysView 增加 waitEle() 函数。 aardio v31.1 更新: --------------------------------------------------------------------------- 1、修正 Javascript 通过 web.view 接口调用 aardio 对象成员函数时丢失 owner 参数。 2、改进 web.view 范例。 aardio v31.0 更新: --------------------------------------------------------------------------- 1、重点改进并优化 COM 接口,aardio 对象转为 COM 对象后可更好的支持对象元方法 ,支持将 cdata 对象转换为 COM 对象。 2、改进raw.loadDll(),可选仅使用参数@2指定多线程共享名并省略参数@1 —— 用于查找已加载的内存DLL。 aardio v30.18.5 更新: --------------------------------------------------------------------------- 1、修正 listview 控件 eachSelected 重复触发回调,感谢「jbxh1」反馈。 2、修正下载扩展库中断时版本号已更新,感谢「LFYG 」反馈。 aardio v30.18.4 更新: --------------------------------------------------------------------------- 1、重构优化 sevenZip.decoder2 扩展库,接口与用法完全兼容旧版,修正了个别 7z 文件解压报错。 2、sevenZip.decoder2扩展库添加库: sevenZip.decoder2.httpFile ,可实现一句代码创建下载并解压缩 7zip 文件的对话框。 2、添加 7zip 压缩、解压、下载解压等范例。 aardio v30.18.3 更新: --------------------------------------------------------------------------- 1、改进部分范例。 2、golang 添加到标准库。 3、golang 移除 GOPATH 环境变量,感谢「zzerding」反馈。 扩展库更新 --------------------------------------------------------------------------- 改进 web.sysView2 在检测到 WebView2 Runtime 时返回 web.view 对象。 改进 web.sysView2 在检测到访问本机地址限制时在页面显示修复链接。 aardio v30.18.2 更新: --------------------------------------------------------------------------- 1、改进 web.view,,chrome.app 等,简化范例工程。 aardio v30.18 更新: --------------------------------------------------------------------------- 1、改进 web.view,web.sysView2 并简化范例源码,修正隐藏窗口创建网页控件后页面不显示的问题。 aardio v30.17.1 更新: --------------------------------------------------------------------------- 1、改进 wsock.tcp.asynHttpServer 以及 wsock.tcp.simpleHttpServer 的 getUrl 函数, 允许使用上网卡 IP 返回网址。 aardio v30.17 更新: --------------------------------------------------------------------------- 1、改进 richedit 控件 DPI 自动缩放功能, 修正 DPI缩放导致字体被重置的问题,感谢 「洋洋」反馈。 aardio v30.16.2 更新: --------------------------------------------------------------------------- 1、添加调用 go 语言范例。 aardio v30.16.1 更新: --------------------------------------------------------------------------- 1、修正 plus 配置工具打开报加载图标错误,感谢「xiaojieljc」反馈该问题。 aardio v30.16 更新: --------------------------------------------------------------------------- 1、改进自定义控件支持在类名中包含名字空间。 2、io.splitpath 函数改进,返回对象可使用 tostring() 重新合成为字符串格式路径。 返回对象增加 path 属性存储不含盘符的目录,dir,file 属性更改为动态生成,方便修改, 例如修改了name,ext等属性,file 属性可同步更新。 aardio v30.15.3 更新: --------------------------------------------------------------------------- 1、改进 web.view 以及范例。 扩展库更新: --------------------------------------------------------------------------- 1、web.sysView 更新: doScript 函数支持使用回调函数接受 JS 返回值, 添加 eval 函数可直接获取 JS 代码返回值。 aardio v30.15.2 更新: --------------------------------------------------------------------------- 1、补充范例说明。 aardio v30.15.1 更新: --------------------------------------------------------------------------- 1、 crypt.bin.decodeUrlBase64() 允许通过指定参数 @3 为 true 保留等号。 aardio v30.15 更新: --------------------------------------------------------------------------- 1、改进 win.ui.ctrl 控件名可包含点,并不再要求小写。 aardio v30.14 更新: --------------------------------------------------------------------------- 1、web.view 强悍升级,支持使用 external 完美导出 aardio 对象到 Javascript。 2、web.view 添加 exportHostObject() 函数导出 aardio 对象到 Javascript。 3、添加 web.view 工程范例。 aardio v30.13.3 更新: --------------------------------------------------------------------------- 1、修正 web.form 开启全局代理在个别电脑无法打开 localhost 页面的问题。 2、修正范例与文档笔误,感谢「苏扬」反馈。 3、改进 custom 控件执行 loadForm 函数时不再自动清除 text 属性,感谢「幻月 」反馈。 aardio v30.13.2 更新: --------------------------------------------------------------------------- 1、重构标准库 web.view 专用于 WebView2 Runtime, 完美支持 WIN7,WIN8,WIN10 2、增加扩展库 web.sysView 用于支持 WIN10自带 Edge WebView1,兼容 WebView2 Runtime。 WebView2 接口简洁,性能强悍。 所有程序可以共享 已安装的 WebView2 Runtime。 注意 WebView2 与 Edge(Chromium)浏览器内核相同,但属于各自安装的不同组件。 WebView2 虽然有80MB,但可以自动安装,而且下载速度飞快,我这里几秒下完。 Edge(Chromium)浏览器提供 WebView1 控件, 好处是系统自带,缺点是只支持 WIN 10, 且默认禁止访问 Localhost ( aardio 可自动开启 ) aardio v30.12 更新: --------------------------------------------------------------------------- 1、 标准库增加 web.view 用于支持系统自带的 Edge(Chromium) 控件。 可以将系统自带的最新 Edge(Chromium) 内核浏览器组件嵌入 aardio 窗口,并且生成的软件体积非常小。 aardio v30.11.1 更新: --------------------------------------------------------------------------- 1、 增加调用 FreeBASIC 编译器生成 DLL、以及调用该 DLL 的范例, aardio v30.10.2 更新: --------------------------------------------------------------------------- 1、 table.find 改进:当传入回调函数时,增加返回匹配的值。 aardio v30.10.1 更新: --------------------------------------------------------------------------- 1、 修正 win.reg 库 eachValue 函数处理 REG_DWORD_BIG_ENDIAN 类型值的 bug,感谢「lovell_wq」反馈。 2、 修正 edit 控件 passwordChar 不支持宽字符,感谢「游戏」反馈。 aardio v30.10 更新: --------------------------------------------------------------------------- 1、 添加范例:JPEG图像压缩与转换。 2、 添加范例:二维码识别。 aardio v30.9.10 更新: --------------------------------------------------------------------------- 1、 改进 plus 控件支持用 onDropFiles 处理文件拖放。 启用编辑模式仍然只要简单地定义 onDropFiles 事件即可。 修正嵌入 richedit 无法处理文件拖放的 bug( 感谢「Arobot」反馈 )。 aardio v30.9.9 更新: --------------------------------------------------------------------------- 1、 改进 com.flash 可自动移除 Flash 时间炸弹。 aardio v30.9.7 更新: --------------------------------------------------------------------------- 1、plus 控件设计属性支持「限制数值」(适用于edit模式) aardio v30.9.6 更新: --------------------------------------------------------------------------- 1、plus 控件改进 edit 模式支持设计时文本属性。 aardio v30.9.5 更新: --------------------------------------------------------------------------- 1、添加扩展库 com.flash.portable, 现在只要 import com.flash.portable 即可完美复活被系统禁用的 flash 控件, 恢复所有 flash 范例。 aardio v30.9.4 更新: --------------------------------------------------------------------------- 1、com.flash.lite 移入扩展库。 aardio v30.9.3 更新: --------------------------------------------------------------------------- 1、plus 控件改进 edit 模式支持背景色设计属性 aardio v30.9.2 更新: --------------------------------------------------------------------------- 1、因 flash 组件已被操作系统移除不可用,win.flashBox 自标准库移到扩展库。 aardio v30.9.1 更新: --------------------------------------------------------------------------- 1、窗体设计器控件右键菜单增加「临时锁定并隐藏」, 可以更方便地编辑重叠控件。 2、IDE 优化高分屏支持,现在高分屏越来越流行,aardio 也与时俱进增强了对高分屏的支持。 目前 IDE开发环境、aardio 编写的程序、以及 plus 控件都可以很好地自动兼容高分屏。 3、工程增加「忽略目录」属性,以方便在工程中添加前端源码目录链接 - 避免不必要的扫描庞大的 node_modules。 4、工程内同步「忽略目录」或「本地构建目录」时取消操作并显示警告。 5、首次生成 EXE 会显示关闭实时监控类软件的警告,这些软件会导致生成 EXE 卡顿、缓慢、或异常,请大家注意。 6、优化 plus 控件、plus 调色工具、gdip库等。 aardio v30.8 更新: --------------------------------------------------------------------------- 1、改进 web.sciter 扩展库, 添加在 behavior 中使用 onGetValue, onSetValue 的例子。 2、改进 web.sciter 扩展库,更新 web.sciter 范例。 支持将 Javascript 函数直接传入 aardio,并可作为普通 aardio 函数直接调用。 任何能接收 Javascript 参数或返回值的函数都支持此功能。 注意:使用新版范例必须更新 web.sciter 扩展库 aardio v30.7.1 更新: --------------------------------------------------------------------------- 1、 改进 plus 控件用于创建动画的 startAnimation() 函数。 改进「范例程序 / Windows窗口应用 / plus 控件 / 旋转动画」。 aardio v30.7 更新: --------------------------------------------------------------------------- 1、 改进「工具 / 界面 / plus 配色工具 」,增加直接点击范例控件生成代码。 aardio v30.6.5 更新: --------------------------------------------------------------------------- 1、 plus 控件字体图标优化。 aardio v30.6.4 更新: --------------------------------------------------------------------------- 1、 plus控件 skin() 函数可使用 参数@2 指定是否允许共享样式表。 aardio v30.6.3 更新: --------------------------------------------------------------------------- 1、 改进 win.ui.grid 排序功能。 aardio v30.6.2 更新: --------------------------------------------------------------------------- 1、raw.convertArray 改进:允许使用结构体类指定类型。 aardio v30.5.6 更新: --------------------------------------------------------------------------- 1、修正 thread.command.bind(hwndListener).send() 无返回值。 aardio v30.5.5 更新: --------------------------------------------------------------------------- 1、修正客户端发空数据 web.socket.server 服务端报错,感谢「donque2010」反馈。 aardio v30.5.4 更新: --------------------------------------------------------------------------- 1、改进 win.util.tray 在资源管理器崩溃重启后自动重建图标,感谢 「Arobot」反馈。 扩展库 更新: --------------------------------------------------------------------------- 1、zbar 扩展库范例改进为实时识别剪贴板二维码。 在「扩展库管理器」双击 zbar 扩展库获取新的范例。 aardio v30.5.2 更新: --------------------------------------------------------------------------- 1、改进扫码传文件范例允许清空、自定义访问密码。 aardio v30.5.1 更新: --------------------------------------------------------------------------- 1、 标准库增加 fastcgi.iisInstall,用于全自动安装配置 IIS FastCGI 模块。 这个库的源代码也建议作为调用 dotNet 扩展库的例子看一看。 aardio v30.5 更新: --------------------------------------------------------------------------- 1、修正 win.reg setQwValue() 函数 BUG,感谢 「lovell_wq」 反馈。 aardio v30.4 更新: --------------------------------------------------------------------------- 1、升级 aardio.js,如果使用了 npm 包注意更新。 2、升级 Electron 组件到最新版本。 aardio v30.3.3 更新: --------------------------------------------------------------------------- 1、改进 chrome.app 范例工程, 演示 Typescript + React Hooks + Ant Design + aardio.js 用法。 2、修正 inet.whttp.setProxy 一处BUG,感谢「dx d」反馈。 扩展库更新: --------------------------------------------------------------------------- 1、 fsys.unrar 扩展库修正事密码压缩文件不指定密码时出错的 BUG,感谢 「幻月」反馈。 同时改进了 fsys.unrar 的错误处理代码,可以更方便的获取错误信息,以及设置密码错误回调等。 aardio v30.2.7 更新: --------------------------------------------------------------------------- 1、修正 win.dlg.message 一处 BUG 。 aardio v30.2.4 更新: --------------------------------------------------------------------------- 1、增加 win.imageList 一处错误用法检测,感谢 「苏扬」 反馈。 aardio v30.2.3 更新: --------------------------------------------------------------------------- 1、增加 web.form + React Hooks 工程范例。 aardio v30.2.2 更新: --------------------------------------------------------------------------- 1、修正 web.sciter 范例错误,请先更新 web.scriter 扩展库。 2、修正 web.sciter.inspector 报错,感谢 jinwl 反馈。 aardio v30.2.1 更新: --------------------------------------------------------------------------- 1、改进 HTMLayout 工程范例,优化代码并支持高分小屏,并使范例可以兼容 SciterJS。 2、添加 SciterJS 工程范例,演示在体积小到惊人的 SciterJS 里如何玩耍 Javascript + React Hooks。 aardio v30.1.10 更新: --------------------------------------------------------------------------- 1、修正新版 web.layout.element 报错,感谢「261001642」反馈。 扩展库更新: --------------------------------------------------------------------------- 1、优化 web.sciter 扩展库代码,Sciter(JS)组件升级到最新版,支持 inspector.exe。 aardio v30.1.09 更新: --------------------------------------------------------------------------- 1、优化 Sciter 范例。 aardio v30.1.08 更新: --------------------------------------------------------------------------- 1、Sciter JS 与 aardio 事件交互范例,使用 event.data 取代 event.detail ,修正event.detail未定义的问题 ,感谢 「撒旦微笑」 反馈。 aardio v30.1.07 更新: --------------------------------------------------------------------------- 1、增加一个 Sciter 里 Javascript 直接调用 aardio 函数范例. aardio v30.1.06 更新: --------------------------------------------------------------------------- 1、增加文件校验工具 aardio v30.1.05 更新: --------------------------------------------------------------------------- 1、修正treeview 函数 selDropHiLite 智能提示错误,感谢[無印]反馈。 aardio v30.1.04 更新: --------------------------------------------------------------------------- 1、优化 web.rest.client aardio v30.1.03 更新: --------------------------------------------------------------------------- 1、改进 win.ui.menu aardio v30.1.02 更新: --------------------------------------------------------------------------- 1、 修正 string.database save() 函数未写入BOM的问题,感谢 苏扬 反馈。 aardio v30.1.01 更新: --------------------------------------------------------------------------- 1、 console.ansion 移入扩展库, 非 WIN 10 1511 以上操作系统不再默认开启ANSI转义序列,如有需要请自行导入该库。 2、 修正一处导致 plus 控件的BUG。 扩展库 更新: --------------------------------------------------------------------------- 1、更新 web.sciter 扩展库:升级 Sciter JS 组件到最新版, 修正 web.sciter.behavior.windowCommand 的 BUG。 aardio v30.1 更新: --------------------------------------------------------------------------- 大家新年快乐,这是2021年1月1日第一次更新 1、chrome.app 大幅改进, 现在可以将 chrome,edge 等浏览器的窗口嵌入aardio窗口了, 网页不但可以通过 aardio.js 与 aardio 函数交互, 而且可以调用系统自带浏览器,所以生成的 EXE 文件体积会非常非常非常的小。 2、process 可传入进程句柄并返回进程对象。 3、process.execute 函数执行成功将返回进程ID,以取代旧版返回的true。 在 aardio 非零为 true,所以此更改不会影响原来的代码。 4、process.job.limitKill 增加了几个函数。 aardio v30.0 更新: --------------------------------------------------------------------------- 1、允许跨窗体设计器复制粘贴控件。 2、跨线程调用窗口函数发生错误时提供更明确的错误提示。 3、修正智能提示配置 Markdown 格式超链接识别错误。 4、修正一处导致IDE出错的BUG,感谢 xjc 反馈并提供详细的重现步骤。 5、string.load() 第3个参数支持直接传入DLL对象。 aardio v29.11.1 更新: --------------------------------------------------------------------------- 1、重要改进,发布并支持 aardio-json 扩展标准。 JSON字符串化时完全符合JSON官方标准。 JSON解析时完全支持JSON,JSONP,并使用宽松的原则兼容JSON5,部分类YAML语法。 aardio 扩展的JSON解析规则: 一、字符串 字符串置于双引号中时支持JSON转义符。 字符串置于单引号中时不支持JSON转义符,单引号中可使用2个单引号表示原始单引号。 字符串可以在引号内部时可以换行。 字符串可省略首尾引号,此时不支持JSON转义符,遇到回车或换行、逗号、中括号、大括号时字符串结束解析。 对象键名如果省略引号时必须以字母或下划线、~、_等作为首字符,并只能包含字母、数字、下划线、短横线。 要特别注意原生的 aardio 字符串解析语法正好跟上面相反: 单引号中是转义字符串,而双引号内是非转义字符串。 二、null值 可以使用null,undefined,~ 表示null值。 三、注释 1、支持 // 或 # 引导的单行注释 2、支持包含于 /*......*/ 内的多行注释(注意这里按js规则不匹配星号数目)。 支持 js/aardio 语法中的单行注释(),多行注释(/*......*/ ), 四、分隔符 元素分隔符可使用分号或逗号,如果分隔符前未使用省略引号的字符串也可以省略分隔符。 在省略引号的字符串后面只能使用逗号作为分隔符并不可省略。 五、键值分隔符 键值分隔符可使用冒号,也可以使用等号 键名可省略引号,省略引号时必须以字母或下划线、~、_等作为首字符,并只能包含字母、数字、下划线、短横线。 六、数值 数值支持16进制 七、日期时间 可使用ISO 8601格式表示日期时间,合法的格式如下: 2021-01-1 2021-02-1T15:02:31+08:00 数字前可不用补0,但日期分隔符必须使用短横线,时间分隔符必须使用冒号 七、解析 单个字符串、数值都可以解析并返回值。 解析时兼容JSONP格式。 解析成功的JSON后面如果还有多余的文本时忽略。 其他错误语法的JSON抛出异常,使用 web.json.tryParse() 函数解析可避免遇到错误语法时抛出异常。 aardio v29.10.6 更新: --------------------------------------------------------------------------- 1、 改进 inet.ras.setEntry() 函数,可以更方便的设置DNS等参数。 aardio v29.10.5 更新: --------------------------------------------------------------------------- 1、 chrome.driver.chromeSessionEx 修正close函数的问题并增加closeAll函数,感谢大海反馈。 aardio v29.10.4 更新: --------------------------------------------------------------------------- 1、 工具 / 窗口探测器 改为默认以管理权限启动。 aardio v29.10.3 更新: --------------------------------------------------------------------------- 1、 改进 win.ui.grid 以及范例。 aardio v29.10.1 更新: --------------------------------------------------------------------------- 1、thread.command 允许在命令函数名前添加$指定默认使用post异步模式调用。 aardio v29.10 更新: --------------------------------------------------------------------------- 1、优化 table.removeByValue() 函数 aardio v29.9.9 更新: --------------------------------------------------------------------------- 1、 修正 richedit 控件DPI缩放改变了modified属性。 aardio v29.9.8 更新: --------------------------------------------------------------------------- 1、 fsys.update.simpleMain 允许自定义HTTP头。 aardio v29.9.7 更新: --------------------------------------------------------------------------- 1、修正plus控件图标边距问题,感谢 光庆 反馈。 aardio v29.9.6 更新: --------------------------------------------------------------------------- 1、修正 inet.http,inet.whttp自定义Content-Type头后出现重复的问题,感谢abc150150反馈。 aardio v29.9.5 更新: --------------------------------------------------------------------------- 1、修正 win.ui.tabs 报错:错误的索引。 aardio v29.9.4 更新: --------------------------------------------------------------------------- 1、win.ui.grid 增加 beginEdit() 函数。 2、改进 richedit DPI缩放功能。 aardio v29.9.3 更新: --------------------------------------------------------------------------- 1、允许使用 table.removeByValue() 函数清除稀疏数组中的 null 值。 var t ={1,null,34,null,56,null,76} table.removeByValue(t,,true) aardio v29.9.1 更新: --------------------------------------------------------------------------- 1、改进DLL查看工具,允许直接输入系统DLL名称后直接回车查询。 2、改进 fsys.wow64.disableRedirection() 允许返回参数中回调函数的返回值。 3、改进 win.path.searchDll() 找不到DLL时返回null而不是空字符串。 aardio v29.9 更新: --------------------------------------------------------------------------- 1、 改进 fsys.update.simpleMain 支持延后启动下载以优化主程序启动速度。 aardio v29.8.6 更新: --------------------------------------------------------------------------- 1、优化升级包制作工具 aardio v29.8.5 更新: --------------------------------------------------------------------------- 1、 inet.url.split() 允许传入空值。 aardio v29.8.4 更新: --------------------------------------------------------------------------- 1、 增加 wsock.tcp.client.getLocalIp() 函数 aardio v29.8.3 更新: --------------------------------------------------------------------------- 1、wsock.tcp.server.getFreePort() 允许指定默认端口 aardio v29.8.1 更新: --------------------------------------------------------------------------- 1、修正 dotNet 支持库打开控制台。 aardio v29.8 更新: --------------------------------------------------------------------------- 1、修正上一版本模式匹配一处bug。 2、edit,richedit 增加 onModified 事件。 aardio v29.7.4 更新: --------------------------------------------------------------------------- 1、修正 string.splitEx 函数的一个BUG。 aardio v29.7.3 更新: --------------------------------------------------------------------------- 1、 winform.reduce 函数添加默认防抖功能,可在参数@3中关闭该功能。 2、 添加 web.json.stringifyArray() 函数。 3、 修正 win.ui.tabs 未指定默认选项,并添加过多可关闭选项卡出现错位的问题。感谢 daheian 反馈。 aardio v29.7.2 更新: --------------------------------------------------------------------------- 1、增加 winex.accObject.focus() 函数 aardio v29.7.1 更新: --------------------------------------------------------------------------- 1、窗口控件添加 reloadScale() 函数,用于主动调整控件位置以适应窗口当前缩放比例。 2、优化 win.ui.tabs,修正弹出菜单模式下DPI缩放时导致的错位问题。 aardio v29.7 更新: --------------------------------------------------------------------------- 1、增加 Sciter.JS 扩展库,添加 Sciter.JS 范例。 aardio v29.6 更新: --------------------------------------------------------------------------- 1、标准库 dotNet.AppDomain 增加 import,new 等函数,调用 .Net 代码可以更简洁了。 2、增加 dotNet 调用 UI Automation 演示。 import process; process.executeWaitInput("notepad.exe" ,io.getSpecial(0x25/*_CSIDL_SYSTEM*/,"drivers\etc\HOSTS")); import dotNet; var clr = dotNet.clr(); var appDomain = clr.createAppDomain(); var UIAutomationTypes = appDomain.load("UIAutomationTypes"); var TreeScope = UIAutomationTypes.import("System.Windows.Automation.TreeScope"); var UIAutomationClient = appDomain.load("UIAutomationClient"); var Automation = UIAutomationClient.import("System.Windows.Automation"); var PropertyCondition = UIAutomationClient.import("System.Windows.Automation.PropertyCondition"); var AutomationElement = Automation.AutomationElement; var desktop = AutomationElement.RootElement; var condNotepadClass = Automation.PropertyCondition(AutomationElement.ClassNameProperty,"Notepad") var notepad = desktop.FindFirst( TreeScope.Children, condNotepadClass) var condEditClass = Automation.PropertyCondition(AutomationElement.ClassNameProperty,"Edit"); var editBox = notepad.FindFirst( TreeScope.Descendants, condEditClass); var textPattern = editBox.GetCurrentPattern(Automation.TextPattern.Pattern); var text = textPattern.DocumentRange.GetText(50) import win.dlg.message; win.dlg.message().info(text + " ……") aardio v29.5.1 更新: --------------------------------------------------------------------------- 1、改进标准库 dotNet,修正部分.Net函数调用失败。 aardio v29.5 更新: --------------------------------------------------------------------------- 1、改进 winex.accObject ,增加部分函数。 2、修正 richedit 控件开启DPI缩放后设置选区字体样式失效。 aardio v29.4.3 更新: --------------------------------------------------------------------------- 1、优化 winex.accObject ,改进文档。 aardio v29.4.2 更新: --------------------------------------------------------------------------- 1、 wsock.tcp.simpleHttpServer, wsock.tcp.asynHttpServer 改进: 自动修正URL目录尾部缺少斜杆的问题,不再默认限制下载网站目录下的 exe 文件(但会阻止下载当前运行的exe) 2、 chrome.driver.chromeSessionEx 对象添加 close 函数。 aardio v29.4.1 更新: --------------------------------------------------------------------------- 1、改进 winex.accObject :修正报错,增加更多函数、增加文档与范例。 aardio v29.3.1 更新: --------------------------------------------------------------------------- 1、标准库新增:winex.accObject 2、改进 com.each 3、改进 richedit 控件DPI缩放效果。 4、richedit 改进 streamIn 函数可直接加载RTF文件、或直接加载RTF格式文本。 5、增加范例:操作系统 -> 打开系统隐藏目录 6、增加范例:刷新桌面图标缓存(修复图标空白) aardio v29.2.3 更新: --------------------------------------------------------------------------- 1、修正 orphanWindow 在DPI缩放下出现的问题,感谢 江万里 反馈。 aardio v29.2.2 更新: --------------------------------------------------------------------------- 1、标准库增加 sys.runAsTask aardio v29.2.1 更新: --------------------------------------------------------------------------- 1、改进范例和文档。 aardio v29.2 更新: --------------------------------------------------------------------------- 1、优化代码。 aardio v29.1.10 更新: --------------------------------------------------------------------------- 1、标准库添加 process.job.limitKill; aardio v29.1.8 更新: --------------------------------------------------------------------------- 1、修正新版richedit控件无法设置字体颜色。 aardio v29.1.7 更新: --------------------------------------------------------------------------- 1、改进 listview 对高分屏的支持, 调整DPI缩放时,listview 将自动调整列宽。 另:列宽设为-1的列将会在调整控件大小时自适应列宽,不再需要添加代码。 aardio v29.1.6 更新: --------------------------------------------------------------------------- 1、改进自动更新函数 fsys.update.simpleMain,优化了代码,增强了错误用户检测和提示。 注意新版此函数的回调函数参数多了一个 status 参数,用法请参考更新工具生成的示例代码。 新版 fsys.update.simpleMain 的用法将更加简洁。 在 main.aardio 中使用 fsys.update.simpleMain 为程序添加自动更新入口以后, 可在界面线程的任意窗口内再次调用 fsys.update.simpleMain.checkUpdate() 再次检测更新。 也可在界面线程的任意窗口内使用 fsys.update.simpleMain.onStatusChanged() 订阅更新事件。 新版自动更新也支持自动识别用户修改的主程序文件名。 例如用户将我们写的程序 app.exe 放到桌面上,并改名为 app123.exe。 则 fsys.update.simpleMain 将会自动更新为 app123.exe 而不是 app.exe。 如果是软件作者主动修改主程序名字, fsys.update.simpleMain 仍然可以正确的进行改名操作。 aardio v29.1.5 更新: --------------------------------------------------------------------------- 1、优化 plus 控件以及 gdip.graphics。 aardio v29.1.4 更新: --------------------------------------------------------------------------- 1、针对高分屏优化 win.ui 。 aardio v29.1.3 更新: --------------------------------------------------------------------------- 1、win.form 默认开启DPI缩放。 如果需要禁用,请调用 winform.enableDpiScaling(false) aardio v29.1.2 更新: --------------------------------------------------------------------------- 1、优化 math.roundToEven 函数。 aardio v29.1 更新: --------------------------------------------------------------------------- 1、转义字符增加 '\e' 表示 '\x1b' 2、标准库 console 改进,可在WIN10,WIN7,WINXP等所有桌面系统支持ANSI转义序列,示例: console.log('\e[31m 字体红色 光标左移2字符:\e[2D'); 3、标准库新增 dotNet.ps 用于直接调用执行 PowerShell 脚本命令,示例: import console; import dotNet.ps; console.showLoading(" 正在执行PowerShell命令"); //console.log(dotNet.ps("Get-Command -Name *Process")); console.log(dotNet.ps.command("Get-Command",{Name="*Process"})); console.pause(); aardio v29.0.1 更新: --------------------------------------------------------------------------- 1、改进 raw.pefile 。 aardio v29.0 更新: --------------------------------------------------------------------------- 1、表分隔符支持使用逗号代替分号。 2、解析时间字符串支持无分隔符的14位数字或12位数字,示例: var tm = time("20170822123623"); var tm = time("170822123623"); 3、table.find() table.findAll()支持第二个参数传入回调函数。 4、增加 table.indexOf(),table.lastIndexOf() 函数,table.indexOf() 与table.find()函数的区别是:table.indexOf 仅在数组成员内搜索匹配值。 5、以下函数请改用新的名称 table.mixin() 使用新名称 table.assign() table.mixr() 使用新名称 table.assignDeep() table.mapr() 使用新名称 table.mapDeep() 原函数名保持兼容,但不推荐继续使用。 6、增加智能提示快捷键 Ctrl + I, 作用与 Ctrl + J 相同。 aardio v28.22 更新: --------------------------------------------------------------------------- 1、table.define() 仅指定参数@1时清空预定义键名。 aardio v28.21 更新: --------------------------------------------------------------------------- 1、优化 fsys.hosts 2、改进 web.sock.jsonclient 处理断网异常,感谢 aiwen 反馈。 aardio v28.20.4 更新: --------------------------------------------------------------------------- 1、plus控件启用编辑控件时支持传递初始化属䍿:num 2、优化 wsock.tcp.simpleHttpServer。 aardio v28.20.3 更新: --------------------------------------------------------------------------- 1、标准库增加 chrome.edge aardio v28.20.2 更新: --------------------------------------------------------------------------- 1、改进标准库 raw.pefile,以及 aardio工具->探测器->DLL查看工具, 支持自动转换包含C++修饰名的导出函数自动转换为 aardio 导出函数声明代码。 例如C++导出函数名为?Attach@Classless@@YAHPAUHWND__@@@Z, DLL查看工具自动生成代码如下: Attach = dll.api("?Attach@Classless@@YAHPAUHWND__@@@Z","int(addr)") aardio v28.19 更新: --------------------------------------------------------------------------- 1、改进标准库 access,sqlServer,操作二进制数据更简单了,用法参考新版范例。 aardio v28.18.1 更新: --------------------------------------------------------------------------- 1、优化 win.ui.fade 窗口阴影动画效果。 aardio v28.18 更新: --------------------------------------------------------------------------- 1、改进 win.ui.fade,win.dlg.message 动画效果。 2、win.dlg.message 增加延时自动关闭消息框的参数选项。 3、导入 win.dlg.message 时自动为窗口添加 msgOk 等函数, 不再需要调用 win.dlg.message.install() 函数。 aardio v28.17 更新: --------------------------------------------------------------------------- 1、改进 key.hotkey ,支持延时回调,添加 reset 函数等。 aardio v28.16.6 更新: --------------------------------------------------------------------------- 1、修正 inet.whttp setSessionOption,setRequestOption 函数问题,感谢 NowAnti 反馈。 aardio v28.16.5 更新: --------------------------------------------------------------------------- 1、优化 ide.doc 。 aardio v28.16.4 更新: --------------------------------------------------------------------------- 1、优化 inet.http,inet.whttp readAll 函数。 参考:https://www.htmlayout.cn/t/393 aardio v28.16.3 更新: --------------------------------------------------------------------------- 1、修正范例及库函数文档错误。 aardio v28.16.2 更新: --------------------------------------------------------------------------- 1、修正richedit控件getCharformat参数无效。 aardio v28.16 更新: --------------------------------------------------------------------------- 1、优化COM调用 aardio v28.15.6 更新: --------------------------------------------------------------------------- 1、修正 web.json 一处BUG,感谢 Arobot 反馈。 aardio v28.15.5 更新: --------------------------------------------------------------------------- 1、web.driver 增加 doCdpCmd 函数,感谢 huyoo 提供的代码。 2、chrome.path 增加一个参数 - 可指定是否允许自动安装 chrome。 aardio v28.15.3 更新: --------------------------------------------------------------------------- 1、增加 com.tlbDoc 用于生成COM控件文档。 2、改进 com控件代码生成器,支持自动生成并查看控件文档。 aardio v28.15.3 更新: --------------------------------------------------------------------------- 1、chrome.app 在没有找到Chrome兼容浏览器时, XP系统自动安装Chrome 49,WIN7,WIN10系统自动下载微软Edge(Chromium版)浏览器。 下载速度非常快,因此 chrome.app 生成的软件不但非常小,而且可以轻松支持所有流行桌面系统。 aardio v28.14.1 更新: --------------------------------------------------------------------------- 1、改进github优化工具。 aardio v28.14.0 更新: --------------------------------------------------------------------------- 1、改进listview控件的setTable函数,数据中的null值显示为空。 aardio v28.13.8 更新: --------------------------------------------------------------------------- 1、改进 sys.acl aardio v28.13.7 更新: --------------------------------------------------------------------------- 1、修正 win.inputBox 报错,感谢 jbxh1 反馈。 2、修正 process 一处BUG,感谢 goddkiller 反馈。 2、修正 控件调色器 报错。 扩展库 更新: --------------------------------------------------------------------------- 1、web.sciter 扩展库升级 sciter.dll 到最新版本。 aardio v28.13.5 更新: --------------------------------------------------------------------------- 1、修正 win.ui.getSysMenu 报错,感谢 豹子 反馈该问题。 aardio v28.13.4 更新: --------------------------------------------------------------------------- 1、增加 string.removeBom() 函数。 aardio v28.13.3 更新: --------------------------------------------------------------------------- 1、修正 string.xml #280行可能导致报错的问题,感谢 巴克队长 反馈。 aardio v28.13.2 更新: --------------------------------------------------------------------------- 1、改进网络测试工具,github优化工具。 aardio v28.13.1 更新: --------------------------------------------------------------------------- 1、 process.open 改进 logResponse 函数: 支持传入 edit 或 richedit 对象, 并定时使用该文本框回显进程输出。 aardio v28.12.12 更新: --------------------------------------------------------------------------- 1、 util.table.stringify 增强格式化功能。 aardio v28.12.10 更新: --------------------------------------------------------------------------- 1、增加 inet.conn.setProxyAutoConfig 函数。 aardio v28.12.9 更新: --------------------------------------------------------------------------- 1、增加 win.region.transparent 。 示例: import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469;border="none") winform.add( bk={cls="bk";left=0;top=0;right=761;bottom=29;bgcolor=12632256;dl=1;dr=1;dt=1;z=2}; static={cls="static";text="Static";left=33;top=48;right=734;bottom=393;db=1;dl=1;dr=1;dt=1;transparent=1;z=1} ) /*}}*/ import win.ui.simpleWindow; win.ui.simpleWindow(winform); import win.region.transparent; win.region.transparent(winform.static); winform.show(); win.loopMessage(); aardio v28.12.7 更新: --------------------------------------------------------------------------- 1、增加 console.setLoadingDots() 函数,废弃 console.loadingDots 属性。 aardio v28.12.6 更新: --------------------------------------------------------------------------- 1、 console.showLoading() 支持在行尾显示动画字符 aardio v28.12.5 更新: --------------------------------------------------------------------------- 1、 修正 console.progress 显示错误。 aardio v28.12.4 更新: --------------------------------------------------------------------------- 1、 改进 table.product 支持字符串参数 aardio v28.12.2 更新: --------------------------------------------------------------------------- 1、 优化 console.progress 显示效果。 //示例 import console; import console.progress; var bar = console.progress(); for(i=1;100; 1){ bar.setProgress(i,i +"% loading ......"); sleep(30) } console.showLoading("loading",,console.color.yellow); sleep(3000) for(i=1;15;1){ console.showLoading(i + "% loading"); sleep(10); } console.pause(true); aardio v28.12.1 更新: --------------------------------------------------------------------------- 1、 增加 console.eraseToEndOfLine() console.setCursorVisible() 等函数。 2、 优化 console.showLoading 等函数。 3、 增加 console.progress 用于在控制台显示进度条。 aardio v28.11.1 更新: --------------------------------------------------------------------------- 1、 增加 console.writeColorText() 函数 aardio v28.11 更新: --------------------------------------------------------------------------- 1、 优化 table.tostring() 函数 mysql.client 扩展库更新 --------------------------------------------------------------------------- 1、支持buffer、math.size64对象等。 2、添加getTable函数。 aardio v28.10.1 更新: --------------------------------------------------------------------------- 1、 优化 web.rest.client 2、增加console.showLoading()函数, 用于在控制台线程忙时显示动画字符,当控制台线程恢复输出时,动画自动结束。 示例: import console; import web.rest.jsonClient; var http = web.rest.jsonClient(); console.showLoading("正在连接JSON数据库"); var jsonStore = http.api("https://extendsclass.com/api/json-storage/bin/"); var jsonData = jsonStore.post( name = "jon.snow"; age = 31; ) var result = jsonStore[ jsonData.id ].delete(); console.dump(jsonData); console.pause(); aardio v28.9.6 更新: --------------------------------------------------------------------------- 1、 改进 web.rest.jsonLiteClient 可自动解析服务器返回的UrlEncode格式、JSON格式、以及UrlEncode、JSON混合格式数据。 aardio v28.9.5 更新: --------------------------------------------------------------------------- 1、 改进超级热键(key.hotkey),允许通过回调函数返回true指示继续发送原来的按键。 aardio v28.9.4 更新: --------------------------------------------------------------------------- 1、 修正超级热键(key.hotkey)一处 bug aardio v28.9.3 更新: --------------------------------------------------------------------------- 1、 优化 wsock.tcp.simpleHttpServer aardio v28.9.2 更新: --------------------------------------------------------------------------- 1、 asynHttpServer 范例添加filepond删除文件演示。 aardio v28.9 更新: --------------------------------------------------------------------------- 1、 改进 web.socket.server 避免多余回调 onClose 事件。 2、 改进 wsock.tcp.asynHttpServer ,可加快上传文件速度。 aardio v28.8 更新: --------------------------------------------------------------------------- 1、 调整扫码传文件工具界面样式。 aardio v28.6 更新: --------------------------------------------------------------------------- 1、 「 工具 / 网络 / 扫码传文件 」 支持服务端改变目录时自动刷新客户端。 2、 web.socket.server 改进 getUrl() 函数,支持参数@2为true时自动转换 0.0.0.0 为网卡IP地址。 aardio v28.4 更新: --------------------------------------------------------------------------- 1、 增加「 工具 / 网络 / 扫码传文件 」 扫码传文件的点子参考: https://www.52pojie.cn/thread-1184107-1-1.html aardio v28.2 更新: --------------------------------------------------------------------------- 1、修正开启DPI自适应 win.ui.shadow 提前显示阴影边框。 2、改进bk控件。 aardio v28.0 更新: --------------------------------------------------------------------------- 1、数值字面值允许加入下划线作为数值分隔符, 例如 123_456 等价于 123456, 2#1010_1100 等价于 2#10101100, 数值分隔符不能使用连续多个下划线,并且不能在字符串中使用数值分隔符,例如: tonumber("123_456") 返回的是123 ("123456") + 1 返回的是一个数值 123457 ("123_456") + 1 会报错 2、数值只能用#表示自定义进制,也就是说 2#101 不能写为 2_101。 aardio v27.29 更新: --------------------------------------------------------------------------- 1、添加 inet.http.import 函数,可用于快速导入远程单页扩展库。 示例: import win; import inet.http; inet.http.import("http://download.aardio.com/inetlib/remote.test.aardio") remote.test.hello() aardio v27.28 更新: --------------------------------------------------------------------------- 1、改进 string.chineseNumber aardio v27.27 更新: --------------------------------------------------------------------------- 1、winform.enableDpiScaling() 支持bk,bkplus控件。 aardio v27.26 更新: --------------------------------------------------------------------------- 1、标准库增加 fsys.dlg.dir aardio v27.25 更新: --------------------------------------------------------------------------- 1、edit,richedit 控件增加 onCancel 事件。 aardio v27.24 更新: --------------------------------------------------------------------------- 1、改进 win.ui.tabs aardio v27.23 更新: --------------------------------------------------------------------------- 1、 string.chineseNumber().number() 函数支持使用文本参数传入数值。 aardio v27.21 更新: --------------------------------------------------------------------------- 1、标准库添加string.chineseNumber,用于中文化数值、金额、时间。 //中文化数值 import console; import string.chineseNumber; var zh = string.chineseNumber(); //中文数值 console.log( zh.number("123456789000000000000") ) console.log( zh.number("12300000.135") ) //中文金额 var zh = string.chineseNumber('零壹贰叁肆伍陆柒捌玖','拾佰仟'); console.log(zh.money(12003089.35)) //中文时间 var zh = string.chineseNumber('〇一二三四五六七八九'); console.log(zh.datetime()) console.log(zh.date()) console.log(zh.time()) console.pause(); aardio v27.20 更新: --------------------------------------------------------------------------- 1、支持sqlite的blob类型、aardio中的buffer类型双向自动转换 aardio v27.19 更新: --------------------------------------------------------------------------- 1、增加 math.stringify() 函数 aardio v27.18 更新: --------------------------------------------------------------------------- 1、inet.url.splitParameters, inet.url.stringifyParameters 等函数支持表和数组, 示例: import console; import inet.url; var str = 'aa=1&bb=2&f[]=我&f[2]=是&f[]=谁&g[]=a&g[abc]=b'; var param =inet.url.splitParameters(str); console.log(inet.url.stringifyParameters(param)); console.dump(param); console.pause(true); html的form表单里可以这样写: <input name="arr[]" /> <input name="arr[]" /> <input name="arr[email]" /> <input name="arr[phone]" /> aardio v27.17 更新: --------------------------------------------------------------------------- 1、修正一处导致com.activeX.regsvr32函数报错的bug,感谢daheian反馈。 2、在 fonts 库目录通过粘贴字体文件自动生成字体库支持 *.otf 文件,生成的字体库名称首字母自动转小写。 3、增加 winform.tryCreateEmbed() 函数,创建失败时不抛异常,而是返回false,错误信息。 aardio v27.16 更新: --------------------------------------------------------------------------- 1、改进 com.TryCreateObject() 函数,允许指定多个需要测试的类名参数。 2、改进 com.activeX.regsvr32() 函数,对于~/或~\开头的路径,找不到文件时自动改为/或\开头的路径重试。 aardio v27.15 更新: --------------------------------------------------------------------------- 1、修正 crpyt.rsa 对象的 decryptReverse函数与C#的兼容性问题,感谢donque2010反馈。 aardio v27.14 更新: --------------------------------------------------------------------------- 1、增加用于获取系统实时音量的 com.interface.IAudioMeterInformation 接口 aardio v27.13 更新: --------------------------------------------------------------------------- 1、增加 key.sendString() 函数。 aardio v27.12 更新: --------------------------------------------------------------------------- 1、改进 key.send() 函数。 aardio v27.11 更新: --------------------------------------------------------------------------- 1、改进并增强标准库中的 raw.struct 2、发布扩展库 libzint,扩展库作者: popdes ( htmlayout.cn ), 我做了一些小改进,使用这个扩展库需要用到新版的 raw.struct aardio v27.10 更新: --------------------------------------------------------------------------- 1、 修正新版plus控件无法设置对齐,感谢abc150150反馈 aardio v27.9 更新: --------------------------------------------------------------------------- 1、 改进 COM 接口,修正Photoshop接口部分属性必须用com.Variant传数值的问题。 2、 改进 fsys.config,支持在关机或注销前自动保存。 3、 plus控件允许在设计时“允许编辑”属性内指定嵌入的文本框控件类名为edit或richedit。 4、 取消 win.ui.mask 置顶样式,感谢 abc150150 反馈。 aardio v27.10 更新: --------------------------------------------------------------------------- 1、 修正新版plus控件无法设置对齐,感谢abc150150反馈 aardio v27.9 更新: --------------------------------------------------------------------------- 1、 改进 COM 接口,修正Photoshop接口部分属性必须用com.Variant传数值的问题。 2、 改进 fsys.config,支持在关机或注销前自动保存。 3、 plus控件允许在设计时“允许编辑”属性内指定嵌入的文本框控件类名为edit或richedit。 4、 取消 win.ui.mask 置顶样式,感谢 abc150150 反馈。 aardio v27.7 更新: --------------------------------------------------------------------------- 1、 优化控件 disabledText 动画效果。 aardio v27.6 更新: --------------------------------------------------------------------------- 1、 优化超级热键 (标准库:key.hotkey) aardio v27.4 更新: --------------------------------------------------------------------------- 1、 增加 string.conv.isGb2312 函数 2、 扩展库 key.ime 移入标准库。 aardio v27.3 更新: --------------------------------------------------------------------------- 1、改进 win.dlg.message.install() 函数 aardio v27.2 更新: --------------------------------------------------------------------------- 1、string.database 增加 load,save 函数。 aardio v27 更新: --------------------------------------------------------------------------- 1、raw.tocdecl, raw.tostdcall, raw.tofastcall 等获取静态回调函数指针的函数取消个别返回类型限制,改进细节请参考新版文档。 2、添加 win.dlg.message.install() 函数 aardio v26.29 更新: --------------------------------------------------------------------------- 1、添加 winform.publish() 函数 2、添加 sevenZip.lzma.httpFile.saveFromUrl() 函数 aardio v26.28 更新: --------------------------------------------------------------------------- 1、改进 string.conv.pinyin aardio v26.26 更新: --------------------------------------------------------------------------- 1、优化自动更新界面。 aardio v26.25 更新: --------------------------------------------------------------------------- 1、改进工程范例。 aardio v26.24 更新: --------------------------------------------------------------------------- 1、edit、richedit控件增加动态创建自定义菜单功能(参考更新的范例)。 aardio v26.21 更新: --------------------------------------------------------------------------- 1、允许使用 _IMPORTURL 注册远程扩展库网址,例如: _IMPORTURL.yourlibname = "https://github.com/.../releases/latest/download/yourlibname.tar.lzma" import yourlibname; 也可以在aardio中单独运行下面的代码安装远程扩展库: import ide; ide.installLib("yourlibname","https://github.com/.../releases/latest/download/yourlibname.tar.lzma") aardio v26.19 更新: --------------------------------------------------------------------------- 1、修正 win.dlg.findReplace 查找替换需要重新创建对象 aardio v26.18 更新: --------------------------------------------------------------------------- 1、优化文字图标抗锯齿效果 2、增加 win.dlg.ctrlColor 可以实现一句代码添加运行时控件调色的功能,以方便在运行时实时预览配色效果。 aardio v26.17 更新: --------------------------------------------------------------------------- 1、 优化 edit 控件部分代码 aardio v26.16 更新: --------------------------------------------------------------------------- 1、 优化 fsys.update.simpleMain 界面 aardio v26.14 更新: --------------------------------------------------------------------------- 1、 增加 fsys.lnk.getTarget() 函数 2、 修正 fsys.update.simpleMain 显示进度问题 aardio v26.12 更新: --------------------------------------------------------------------------- 1、 plus 控件调色器 - 增加调整边框色功能。 aardio v26.11 更新: --------------------------------------------------------------------------- 1、 改进 plus 控件在隐藏时自动清除 hover 状态 aardio v26.10 更新: --------------------------------------------------------------------------- 1、 thread.command 支持跨线程直接传递,请参考新版范例 aardio v26.9 更新: --------------------------------------------------------------------------- 1、增加 fsys.update.simpleMain, 现在只要在 main.aardio 中添加一句代码即可为软件添加完整的自动更新功能. 用法请参考:http://wubi.aardio.com/ aardio v26.8 更新: --------------------------------------------------------------------------- 1、 win.dlg.message 支持显示进度条,示例 import win.dlg.message; var msgDlg = win.dlg.message(); var form = msgDlg.create('显示进度条\n示例:',,true) for(i=1;100;1){ if(!form.valid){ break; } form.progress.progressPos = form.progress.progressPos + 1; win.delay(100) } form.close(); aardio v26.7 更新: --------------------------------------------------------------------------- 1、 优化 fsys.update.dlMgr aardio v26.6 更新: --------------------------------------------------------------------------- 1、 process.popen 增加 terminate 函数 aardio v26.5 更新: --------------------------------------------------------------------------- 1、增加扩展库 php.simpleHttpServer 可以通过CGI调用PHP,并自带PHP绿色环境。 import win.ui;
/*DSG{{*/
var winform = win.form(text="Hello World / PHP_CGI 服务器";right=759;bottom=469)
winform.add()
/*}}*/

var code = /*
<html>
<head> 
<meta charset="utf-8">
<title>PHP 测试</title>
</head>
<body>
<?php echo '<p>Hello World / PHP_CGI 服务器</p>'; ?>
</body>
</html>
*/

string.save(
"/test.php",code);

import php.simpleHttpServer;
var url = php.simpleHttpServer.startUrl("/test.php");

import web.form;
var wb = web.form( winform);
 
wb.go(url);
winform.show();

win.loopMessage();
aardio v26.3 更新: --------------------------------------------------------------------------- 1、添加 process.php.simpleHttpServer, 2、添加范例:PHP/CGI服务器,演示使用aardio创建HTTP/CGI服务器,并可用于调用任意版本的PHP_CGI.EXE aardio v26.0 更新: --------------------------------------------------------------------------- 1、com.dumpTypeInfo() 支持不输出到控制台,并直接返回字符串, 也可以使用类型库调用 dumpTypeInfo() 函数列出所有函数,例如: import console; import com; var tlb = com.LoadTypeLibrary("shell32.dll") console.log( tlb.getTypeInfo(1).DumpTypeInfo() ) console.pause(true); 2、file 对象添加 readTo() 函数,可以非常方便的读取到指定的字符。 3、修正一处导致个别用户启动 aardio 报错的问题。 aardio v25.82 更新: --------------------------------------------------------------------------- 1、web.rest.client 增加 beforeRequestHeaders事件以及范例 aardio v25.81 更新: --------------------------------------------------------------------------- 1、增加 com.interface.IFileOpenDialog.dir 函数。 用法参考:aardio范例 / 文件操作 / 文件对话框 aardio v25.80 更新: --------------------------------------------------------------------------- 1、改进文档 aardio v25.79 更新: --------------------------------------------------------------------------- 1、增加:aardio工具 / 探测器 / DLL查看工具 2、增加 console.dumpTable函数 aardio v25.75 更新: --------------------------------------------------------------------------- 1、优化string.xml,string.html,增加pushXml函数可以更方便的插入新节点。 aardio v25.74 更新: --------------------------------------------------------------------------- 1、增加 key.removeLocation() 函数 aardio v25.73 更新: --------------------------------------------------------------------------- 1、优化上传代码工具,获取当前代码时自动规范化缩进。 注意一般推荐大家使用制表符缩进,但是发表到网络上最好统一转换为空格缩进。 因为对于制表符的宽度很多编辑器处理得不太好。 aardio v25.72 更新: --------------------------------------------------------------------------- 1、修正一处导致gdip.bitmap 的 split函数报错的问题,感谢易水寒反馈。 aardio v25.71 更新: --------------------------------------------------------------------------- 1、修正新版plus控件设置editable=true时报错,感谢易水寒反馈。 aardio v25.70 更新: --------------------------------------------------------------------------- 1、plus控件允许使用editable属性自定义要创建的编辑框类名 aardio v25.69 更新: --------------------------------------------------------------------------- 1、重构 win.ui.tooltip 2、edit 控件增加显示汽泡提示的函数,示例: 感谢龙腾虎跃提供的代码:https://paste.rs/z74.js import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add( btnError={cls="button";text="错误";left=280;top=306;right=390;bottom=353;z=2}; btnInfo={cls="button";text="提示";left=539;top=306;right=649;bottom=353;z=4}; btnWarning={cls="button";text="警告";left=410;top=306;right=520;bottom=353;z=3}; edit={cls="edit";text="Edit";left=129;top=179;right=394;bottom=218;edge=1;multiline=1;z=1} ) /*}}*/ winform.btnError.oncommand = function(id,event){ winform.edit.showErrorTip("这是标题","这是要显示的错误信息") } winform.btnWarning.oncommand = function(id,event){ winform.edit.showWarningTip("这是标题","这是要显示的错误信息") } winform.btnInfo.oncommand = function(id,event){ winform.edit.showInfoTip("这是标题","这是要显示的错误信息",true) } winform.show(); win.loopMessage(); aardio v25.68 更新: --------------------------------------------------------------------------- 1、修正 time.ole 作为线程参数报错,感谢 /ZGMF-X-20A/ 反馈 aardio v25.67 更新: --------------------------------------------------------------------------- 1、inet.downBox 改用线程下载,界面更流畅了 aardio v25.64 更新: --------------------------------------------------------------------------- 1、win.eachChild(), win.property.find() 支持使用模式匹配语法指定要搜索的窗口类名 aardio v25.64 更新: --------------------------------------------------------------------------- 1、修正提示控件范例报错,感谢巴克队长反馈 aardio v25.63 更新: --------------------------------------------------------------------------- 1、listview 控件 getItemText()函数允许通过指定列参数为-1后一次读取所有列文本到数组 2、修正checklist范例错误,感谢巴克队长反馈 aardio v25.61 更新: --------------------------------------------------------------------------- 1、添加 process.admin.enableDorpMsg() 函数 aardio v25.60 更新: --------------------------------------------------------------------------- 1、修正 ide.openDocument 跨进程调用时相对路径未转换的问题 aardio v25.58 更新: --------------------------------------------------------------------------- 1、改进 string.conv.pinyin,使用码表转换拼音(多音字根据使用频率取最优), 并可根据拼音反查(返回汉字根据使用频率排序) aardio v25.55 更新: --------------------------------------------------------------------------- 1、改进 win.ui.lcdClock 以及 范例, 计时器判断时间是否小于1小时自动隐显小时。 aardio v25.54 更新: --------------------------------------------------------------------------- 1、改进 chrome.app 范例。 aardio v25.53 更新: --------------------------------------------------------------------------- 1、增加 com.tryCreateObject() 以及 com.tryGetObject() 函数。 这几个函数在执行失败时不会抛出异常,而是返回null,错误信息,可用于检测可能未安装的COM组件。 aardio v25.52 更新: --------------------------------------------------------------------------- 1、改进 win.ui.tooltip 用法更简洁了,示例: import win.ui.tooltip; var tooltipCtrl = win.ui.tooltip( winform ); var ti = tooltipCtrl.addTool(winform.plus,"这是一个超链接" ) //更新提示 ti.updateTipText("新的提示") 2、增加 com.shell.eachApp, com.shell.activateApp 用于遍历、或打开WIN10应用。 aardio v25.51 更新: --------------------------------------------------------------------------- 1、改进计时器范例,请注意更新扩展库 win.ui.lcdClock 到最新版 aardio v25.49 更新: --------------------------------------------------------------------------- 1、改进跳转到文件支持~开头的路径 aardio v25.48 更新: --------------------------------------------------------------------------- 1、改进“ aardio工具 / 控件调色器” 可实时调整窗体设计器当前选定的窗口控件背景色、前景色、 文本色、文本图标色,并实时预览效果。 aardio v25.47 更新: --------------------------------------------------------------------------- 1、增加 com.interface.loadTypelibrary 函数, 可直接自COM组件的类型库加载并自动生成静态接口类 aardio v25.46 更新: --------------------------------------------------------------------------- 首先在这里祝大家新年快乐,我们不套路不多话,新年第一天继续努力的改进aardio。 1、COM控件创建与嵌入做了一些细节的优化,修正极个别控件不能载入的问题。 改进了创建ActiveX控件范例(简化接口代码并增强功能) 2、com.activeX注册控件时,将自动检测当前进程是否有管理权限并据此自动选择是否仅为当前用户注册控件。 3、tostring( win.guid() ) 默认转换为大写字符串。 使用 tostring( win.guid(),false ) 转换为小写字符串。 可以少写一次不必要的大小写转换。 4、增加函数 win.reg.overrideClasses 5、修正调用IDE扩展接口 ide.setControlParam() 修改控件后,窗体未标记为已修改状态。 6、升级 win.ui.lcdClock 扩展库,默认支持透明背景。 升级该扩展库范例,在最小化计时器时 - 屏幕悬浮显示透明液晶计时器,可以拖动,双击还原窗口。 计时器范例已添加到“aardio范例 / 日期时间 / 计时器”。 另外在“aardio工具 / 其他 / 计时器 ” 也可以直接双击打开。 aardio v25.45 更新: --------------------------------------------------------------------------- 1、改进生成ActiveX EXE控件功能, 注意查看新版范例工程:tlb类型库需要放到工程/typelib/根目录下。 /typelib/目录下的非tlb文件将被自动忽略。 aardio v25.42 更新: --------------------------------------------------------------------------- 1、超级热键( key.hotkey )做了较大改进,注意查看新版文档以及范例 aardio v25.34 更新: --------------------------------------------------------------------------- 1、改进范例 aardio v25.33 更新: --------------------------------------------------------------------------- 1、增强跨语言跨线程调用,允许指定以JSON格式自动封装参数 aardio v25.32 更新: --------------------------------------------------------------------------- 1、Web服务器引用的filepond.js改为外部链接,国外CDN如果觉得慢就自己下载到本地吧。 aardio v25.31 更新: --------------------------------------------------------------------------- 1、改进 chrome.app/electron.app aardio v25.28 更新: --------------------------------------------------------------------------- 1、combobox 改进文档 aardio v25.27 更新: --------------------------------------------------------------------------- 1、改进 Web 服务器范例 aardio v25.23 更新: --------------------------------------------------------------------------- 1、改进 “aaardio工具/编码/COM控件调用代码生成工具” aardio v25.21 更新: --------------------------------------------------------------------------- 1、增加 io.getSpecial() io.appData() 函数,已废弃 fsys.appdata 函数。 2、com.lite 不需要指定COM类名参数就可以创建控件,增加 com.lite.appData()函数 - 实现一句代码就可以生成自带COM控件的独立EXE文件。 3、增加“aardio工具/编码/COM控件调用代码生成工具”,只要简单的将控件往该工具窗口上一拖,就可以自动生成嵌入该控件的aardio代码,自动分析可用的COM类名,可切换免注册调用/注册调用。 aardio v25.20 更新: --------------------------------------------------------------------------- 1、修正导致com.loadTypeLibrary失败的一个bug aardio v25.19 更新: --------------------------------------------------------------------------- 1、优化 cab压缩解压工具源码。 aardio v25.18 更新: --------------------------------------------------------------------------- 1、改进 fsys.log 在设置路径或首次写入日志文件之前不创建文件。 感谢 zhonghuabaozi 反馈。 aardio v25.17 更新: --------------------------------------------------------------------------- 1、treeview 控件增加一个好用的函数 insertTable()。 可以直接将普通表对象显示在树视图内,一个简单的例子: import win.ui; /*DSG{{*/ var winform = win.form(text="显示普通表对象";right=536;bottom=674) winform.add( treeview={cls="treeview";left=7;top=14;right=523;bottom=650;bgcolor=16777215;db=1;dl=1;dr=1;dt=1;edge=1;hscroll=1;vscroll=1;z=1} ) /*}}*/ winform.treeview.insertTable({ label = "test"; tree = { label = "test2"; array ={ "abc";"def";{ 123;456;789 } } } }) winform.treeview.expandAll(); winform.show() win.loopMessage(); aardio v25.16 更新: --------------------------------------------------------------------------- 1、允许 table.array 省略全部参数。 aardio v25.15 更新: --------------------------------------------------------------------------- 1、增加 table.isArray 函数 aardio v25.14 更新: --------------------------------------------------------------------------- 1、inet.http,web.rest.client 增加 getUserAgent() 函数 aardio v25.13 更新: --------------------------------------------------------------------------- 1、winform.eachControl() 支持增加模式匹配参数用于查找匹配控件名 aardio v25.12 更新: --------------------------------------------------------------------------- 1、修正 web.rpc.jsonClient 乱码问题,感谢 wwj 反馈。 aardio v25.11 更新: --------------------------------------------------------------------------- 1、改进设计器对 iconColor 的支持。 2、combobox控件补充新版items属性的文档说明。 另外开源项目微软五笔助手已更新 https://github.com/aardio/wubi-lex-tool aardio v25.10 更新: --------------------------------------------------------------------------- 1、优化 listview 控件 aardio v25.9 更新: --------------------------------------------------------------------------- 1、改进并简化 listview 设置列图像列表功能,用法可参考COM类名列表范例 aardio v25.8 更新: --------------------------------------------------------------------------- 1、重点改进增强 范例/组件对象/系统COM类型列表。 这个范例也是一个重要的工具,可以列出系统已安装(或自带)的COM对象,是否ActiveX控件等等。 可以右键查看该对象提供的接口。 同时这个范例也演示了listview的排序、右键菜单等功能的实际应用。 2、增加 win.getCursorPos() 函数。 aardio v25.7 更新: --------------------------------------------------------------------------- 1、改进 win.ui.tabs显示效果,setItems,setItemTexts等函数增加selIndex参数。 2、修正 plus控件 设置图标字体颜色的问题,感谢快手风雨反馈。 aardio v25.6 更新: --------------------------------------------------------------------------- 1、增加 sys.acl,实现类似系统工具takeown文件夺权功能。 aardio v25.4 更新: --------------------------------------------------------------------------- 1、fsys.untar 支持使用utf8字段明确指定tar文件名是否使用UTF8编码。 2、增加 fsys.acl 。 aardio v25.2 更新: --------------------------------------------------------------------------- 1、plus控件支持单独指定字体图标的颜色, 在skin函数中可使用iconColor字段配置动态颜色(与color字段用法一样), 如果不指定则默认使用字体颜色的值。 2、plus控件启用编辑模式修改垂直对齐会弹出使用文本边距的提醒, 并在下次点选控件时陶藏垂直对齐选项(直到关闭编辑框)。 aardio v25.1 更新: --------------------------------------------------------------------------- 1、改进win.ui.tabs弹出列表模式的显示效果,增加用plus,tabs实现的自动完成控件范例。 2、增加 string.charAt() string.charCodeAt() 函数。 3、math.size64() 支持传入结构体参数。 4、改进文档范例等。 aardio v24.23 更新: --------------------------------------------------------------------------- 1、win.ui.tabs 增加 addItems() 函数,用于批量创建选项卡 aardio v24.21 更新: --------------------------------------------------------------------------- 1、改进 electron.app aardio v24.20 更新: --------------------------------------------------------------------------- 1、combobox 控件增加专用于实现自动完成列表的 autoComplete函数, 这个函数较之前的自动完成方案可以避免不必要的闪烁,显示效果更好。 请看范例(是不是代码越来越少,效果越来越好?!) import win.ui; /*DSG{{*/ var winform = win.form(text="自动更新下拉列表";right=600;bottom=400) winform.add( combobox={cls="combobox";left=176;top=136;right=384;bottom=160;edge=1;items={};mode="dropdown";z=1} ) /*}}*/ import web.rest.jsonLiteClient; var http = web.rest.jsonLiteClient(); var suggestion = http.api("http://suggestion.baidu.com/su?cb=&wd={0}") winform.combobox.onEditChange = function(){ var result = suggestion[ winform.combobox.text ].get(); winform.combobox.autoComplete(result.s) } winform.show() win.loopMessage(); aardio v24.19 更新: --------------------------------------------------------------------------- 1、修正工具栏范例报错, 感谢 carl 反馈。 2、修正搜索跳转工具问题,感谢zhonghuabaozi 反馈 aardio v24.15 更新: --------------------------------------------------------------------------- 1、改进plus控件,增加使用plus控件实现下拉编辑框的范例。 aardio v24.14 更新: --------------------------------------------------------------------------- 1、plus控件可以在 setFocus函数的参数中直接指定文本,以实现在编辑模式下改变文本并将光标移动到文本尾部 2、win.ui.tabs 弹出列表时自动更新绑定控件的checked属性。 3、修正 popdes 反馈的win.ui.tabs弹出列表问题。 aardio v24.13 更新: --------------------------------------------------------------------------- 1、win.ui.tabs 弹出列表模式的一些细节优化,新版建议调用initPopup()函数切换到该模式。 2、取色器增加一个很好用的功能:对于不方便使用快捷键或拖放鼠标取色的动态屏幕图像, 我们就可以先按键盘上的PrtSc截屏键,然后点击“锁定剪贴板图像”加载截屏图像并锁定在屏幕上以方便进一步取色( 点“取消锁屏”退出该模式)。 aardio v24.11 更新: --------------------------------------------------------------------------- 1、win.ui.tabs 添加 selText属性,可用于获取当前项文本,或通过赋值改变当前选项为匹配该文本的项。 aardio v24.9 更新: --------------------------------------------------------------------------- 1、win.ui.tabs 增加 popop()函数,可轻松的将tabs转换为漂亮的弹出菜单。 2、改进 orphanWindow 可以像普通控件一样直接支持所有事件回调了。 aardio v24.7 更新: --------------------------------------------------------------------------- 1、优化 win.reg,并增加queryValueTable函数。 aardio v24.6 更新: --------------------------------------------------------------------------- 1、edit,richedit 增加 onChange事件。 aardio v24.5 更新: --------------------------------------------------------------------------- 1、优化小细节: win.ui.tabs 在加载子窗口时自动恢复子窗口代码中设置的焦点 2、今天更新了开源项目 https://github.com/aardio/wubi-lex-tool 改进了很多代码,演示了很多常用的功能,推荐更新下来仔细看看。 aardio v24.4 更新: --------------------------------------------------------------------------- 1、增加库 win.versionEx 可用于方便的获取、检测 Win10 Release Id aardio v24.3 更新: --------------------------------------------------------------------------- 1、改进 util.table.stringify 序列化小数时限制精度在6位以内、并自动清除小数尾部多出的0 aardio v24.2 更新: --------------------------------------------------------------------------- 1、修正新版工程向导bug, 感谢 巴克队长 反馈. aardio v24.1 更新: --------------------------------------------------------------------------- 1、惯例优化、累积改进。 2、工程虚拟目录增加“本地构建”选项,设为true时可以在发布时忽工程中该虚拟目录的子节点,改为读取硬盘目录的实际最新文件构建应用程序,这在目录下的文件使用第三方工具构建生成时,可以避免在每次发布前都要右键菜单点击“同步本地目录”,能少做一件事 - 那我们就决不多做。 3、io.open创建的file实例增加一个 readUnicode()函数,此函数可以读入UTF-16编码的字节自动转换为UTF-8、或UTF-16字符串,当然以前也可以用read函数读,但在这种需求下使用这个函数可以更简洁,能简单我们就尽量不要搞复杂。 4、增加一个解析处理微软五笔码表的扩展库 fsys.wubiLex,虽然不一定每个人都使用五笔,不过这个扩展库是一个很好的学习例子,演示了aardio在处理静态结构上的优势。 为了让大家愉快的体验新东西,发了一个开源项目: https://github.com/aardio/wubi-lex-tool 大家在公众号上点赞都非常踊跃,但是希望大家在这些公开项目上踊跃点赞(会有好处的)。 aardio v23.10 更新: --------------------------------------------------------------------------- 1、改进 fsys.path.validName 函数 aardio v23.9 更新: --------------------------------------------------------------------------- 1、 改进 electron.app ,chrome.app ,增加ready,urlReady事件 aardio v23.7 更新: --------------------------------------------------------------------------- 1、图标字体工具增加CSS类名搜索、下拉列表自动提示功能 aardio v23.6 更新: --------------------------------------------------------------------------- 1、重写了一下asar打包解包范例的界面,界面上的按钮、进度条、导航栏、标题栏全部是 使用plus控件实现,而且代码量很少,实现这个界面也就是分分钟的事情。另外这个asar打包解包 的底层组件已在标准库中开源。 aardio v23.5 更新: --------------------------------------------------------------------------- 1、修正 inet.downBox 在文件大小未知时下载报错 2、electron.app 默认捕获404请求并返回首页 aardio v23.3 更新: --------------------------------------------------------------------------- 1、edit,richedit控件增加onOk事件,用于更简洁的响应回车键。 aardio v23.2 更新: --------------------------------------------------------------------------- 1、string.loadcode, response.loadcode 等支持使用owner接收首个模板参数。 扩展库 更新: --------------------------------------------------------------------------- 1、更新 web.sciter,支持类 react的写法了。 3、增加有道翻译接口扩展库,调用示例: import win.ui; /*DSG{{*/ var winform = win.form(text="调用有道翻译接口演示";right=759;bottom=469) winform.add( edit={cls="edit";left=23;top=28;right=733;bottom=418;edge=1;multiline=1;z=1} ) /*}}*/ import youdao.fanyi; var fanyi = youdao.fanyi(); winform.edit.print( fanyi.translate("hello") ) winform.show() win.loopMessage(); aardio v23.1 更新: --------------------------------------------------------------------------- 1、增加:工程向导->高级界面->可配色界面,用于演示新版功能。 2、plus控件改进支持使用iconText,iconStyle单独设置字体图标, 可以与控件文本使用不同的字体与显示位置,窗体设计器支持可视化设置字体图标。 3、win.ui.tabs等改进自动支持plus控件的iconText,iconStyle。 4、改进JSON5支持。 5、支持右键调用VSCode打开工程目录(自动更新需要手动删除\extensions\trigger\edit.aardio后生效) aardio v22.124 更新: --------------------------------------------------------------------------- 1、升级electron组件 aardio v22.123 更新: --------------------------------------------------------------------------- 1、优化 win.ui.tabs aardio v22.122 更新: --------------------------------------------------------------------------- 1、优化 electron.app aardio v22.110 更新: --------------------------------------------------------------------------- 1、增加库:string.glob aardio v22.108 更新: --------------------------------------------------------------------------- 1、优化 electron.app 2、增加常量 _WIN7_LATER , _WIN10_LATER 3、改进控件 disabledText 动画 aardio v22.101 更新: --------------------------------------------------------------------------- 1、改进electron.app生成exe功能,支持使用.aardio-ignore文件指定排除文件, 支持使用 app.ico指定主窗口图标,详见工程范例 2、改进 electron.app 使用本机url时主窗口默认启用node。 aardio v22.95 更新: --------------------------------------------------------------------------- 1、 win.ui.tabs支持负间距,支持方便的设置绘图区域,示例: import win.region.png; var region = win.region.png("/images/斜角.png"); tabs.updateItemRegion( region ); 参考popdes文章: http://www.htmlayout.cn/t/334 感谢popdes发现了clipch的坑 aardio v22.93 更新: --------------------------------------------------------------------------- 1、增加 win.region.png,可方便的使用png图像创建异形窗口,示例: import win.ui; /*DSG{{*/ var winform = win.form(text="创建异形窗口";right=207;bottom=359;border="none") winform.add(); /*}}*/ import inet.http; import win.region.png; win.region.png(winform, "http://download.aardio.com/v10.files/demo/images/sample.png"); winform.onMouseDown = function(wParam,lParam){ winform.hitCaption(); } winform.show(); win.loopMessage(); aardio v22.90 更新: --------------------------------------------------------------------------- 1、增加 fsys.deleteEx函数 aardio v22.88 更新: --------------------------------------------------------------------------- 1、改进eletron.app,优化aardio.js并兼容webpack。 aardio v22.84 更新: --------------------------------------------------------------------------- 1、改进 electron.app 窗口图标,发布打包等功能 2、修正 electron.app isZoomed接口报错 aardio v22.80 更新: --------------------------------------------------------------------------- 1、改进 electron.app,chrome.app 合并aardio.js,增加typescript类型定义, 如果使用vscode等开发,可以使用npm i aardio 单独安装aardio模块。 aardio v22.78 更新: --------------------------------------------------------------------------- 1、改进 electron.app,可选使用第一个参数指定默认标题, aardio v22.75 更新: --------------------------------------------------------------------------- 1、改进 plus 控件,运行时修改color属性可同步修改内部编辑框字体颜色 aardio v22.73 更新: --------------------------------------------------------------------------- 1、改进 web.rpc.jsonServer aardio v22.72 更新: --------------------------------------------------------------------------- 1、改进 string.xml aardio v22.71 更新: --------------------------------------------------------------------------- 1、提升扩展库安装速度 aardio v22.70 更新: --------------------------------------------------------------------------- 1、修正 protobuf 一处bug,感谢 “qq” 反馈 aardio v22.69 更新: --------------------------------------------------------------------------- 1、win.reg 改进 enumKey() 函数,感谢 jawbin 反馈。 aardio v22.68 更新: --------------------------------------------------------------------------- 1、兼容旧版定时器 aardio v22.66 更新: --------------------------------------------------------------------------- 1、 web.soapClient 字符串参数增加回车符转义 aardio v22.65 更新: --------------------------------------------------------------------------- 1、增加 win.version.isServer 扩展库 更新: --------------------------------------------------------------------------- 1、改进 bass扩展库及范例,增加音频设备检测等接口。 aardio v22.64 更新: --------------------------------------------------------------------------- 1、修正bug aardio v22.63 更新: --------------------------------------------------------------------------- 1、修正fsys.log.printf 输出多了\r,感谢“qq”反馈 2、修正 web.rpc报错,感谢5e365反馈 aardio v22.62 更新: --------------------------------------------------------------------------- 1、 github 工具测速功能增加超时设置,避免因为部分部服务器响应太慢导致测速太久。 aardio v22.61 更新: --------------------------------------------------------------------------- 1、 github.com优化工具更新,可自动测速并显示github.com所有可用服有器的响应速度。 aardio v22.60 更新: --------------------------------------------------------------------------- 1、 thread.manage 增加createSuspended 函数 2、 修正json rpc空参数问题,感谢TT527反馈 扩展库更新 --------------------------------------------------------------------------- 1、增加 math.bignum 大数运算扩展库 import console; import math.bignum; var a = math.bignum("123456789") var b = math.bignum("0xFFFFFFEEEDEEEEE") var c = a + b; console.log("10进制" ,tostring(c,10) ); console.log("16进制" ,tostring(c) ); console.log("转为math.size64" ,c.size64()); console.log("随机数","0." + tostring(a.random(100),10) ); console.pause(true); aardio v22.57 更新: --------------------------------------------------------------------------- 1、plus控件开启编辑输入框时,支持捕获输入框鼠标或焦点等事件自动切换样式。 aardio v22.56 更新: --------------------------------------------------------------------------- 1、增加string.repline函数,用于按行进行模式匹配替换。 2、改进模式匹配边界断言功能,支持使用"!\N"边界断言实现分行匹配。 3、math.size64长整数对象增加lessThan,greaterThan等函数。 aardio v22.55 更新: --------------------------------------------------------------------------- 1、优化protobuf代码生成器。 aardio v22.54 更新: --------------------------------------------------------------------------- 1、重写protobuf支持库,支持无符号64位数 aardio v22.52 更新: --------------------------------------------------------------------------- 1、改进 web.rest对3xx重定向的支持 演示代码(参考 http://www.htmlayout.cn/t/289 ): import web.rest.jsonLiteClient; var http = web.rest.jsonLiteClient("Mobile/15A372") var sns = http.api("https://aweme.snssdk.com/aweme/v1/play/",,`%""`,0x200000/*_INTERNET_FLAG_NO_AUTO_REDIRECT*/) var ies = http.api("https://www.iesdouyin.com/web/api/v2/aweme/iteminfo/") var douyin = http.api("http://v.douyin.com/",,{ item_ids = `itemId.+?"(\d+)`; dytk = `dytk\:.+?"(\w+)`; }); var itemInfo = ies.get( douyin["h7Wapv"]() ); var mp4Url = sns.get( video_id=itemInfo["item_list"][1].video["play_addr"].uri; line=0; ); import win.ui; import mpvPlayer; var winform = win.form(text="播放器";right=759;bottom=469;bgcolor=0) var mplayer = mpvPlayer(winform); mplayer.loadFile(mp4Url); winform.show(); win.loopMessage(); aardio v22.52 更新: --------------------------------------------------------------------------- 1、 改进 string.html 以兼容 <li><90分</li> 这种不规范写法 aardio v22.51 更新: --------------------------------------------------------------------------- 1、修正一处可能导致embedObject._host.adjust报错的问题,感谢 StarBalll,Carl 反馈 扩展库 更新: --------------------------------------------------------------------------- 1、发布 bass 音频处理库 在扩展库管理器中双击bass扩展库可打开范例。 aardio v22.50 更新: --------------------------------------------------------------------------- 1、修正 chrome.app 在低版本chrome中报跨域错误。 aardio v22.48 更新: --------------------------------------------------------------------------- 1、修正 thread.workds未添加任何任务时,执行quit报错。感谢 donque2010 反馈。 aardio v22.47 更新: --------------------------------------------------------------------------- 1、修正ActiveX EXE范例报错 aardio v22.46 更新: --------------------------------------------------------------------------- 1、允许disabledText在无字体图标的控件上应用动画 aardio v22.45 更新: --------------------------------------------------------------------------- 1、更新范例 aardio v22.44 更新: --------------------------------------------------------------------------- 1、修正tabs范例工程报错,感谢popdes,xauto反馈 aardio v22.43 更新: --------------------------------------------------------------------------- 1、sqlite getTable函数自动识别sql中是否指定了命名参数, 如果使用了命名参数,则使用参数@2按参数化查询,否则参数@2用于自动生成WHERE条件 aardio v22.42 更新: --------------------------------------------------------------------------- 1、更新范例 aardio v22.40 更新: --------------------------------------------------------------------------- 1、改进 fsys.cookie stringifySetCookieLine 函数,可选指定head参数 aardio v22.39 更新: --------------------------------------------------------------------------- 1、更新范例 aardio v22.36 更新: --------------------------------------------------------------------------- 1、修正自动更新指定多个服务器地址出错 aardio v22.35 更新: --------------------------------------------------------------------------- 1、升级包制作工具允许不指定更新服务器网址 aardio v22.33 更新: --------------------------------------------------------------------------- 1、自动更新支持设置多个服务器域名 2、修正圆形进度条出现失真的问题 aardio v22.31 更新: --------------------------------------------------------------------------- 1、受不了github.com的网速,写了一个git网速优化工具 文件位置:aardio工具-->网速-->git网速优化 aardio v22.29 更新: --------------------------------------------------------------------------- 1、修正 fsys.path.validName 未过滤换行符,感谢 NowAnti 反馈 2、修正 fsys.cookie 的一处错误,感谢 Dafei2509 反馈 aardio v22.28 更新: --------------------------------------------------------------------------- 1、改进 chrome.app 范例工程 aardio v22.23 更新: --------------------------------------------------------------------------- 1、改进 chrome.app 调用chrome网页js的功能, 并改进了chrome.app的工程范例:封装swagger编辑器, 该范例为网页版swagger编辑器提供了直接存储本地文件的接口, 并演示了跳过react直接访问ace编辑器对象,使用aardio调用javascript添加yaml代码段等功能。 增加了预览、插入预设代码段等快捷键。 我们可以看到: aardio不但可以轻松调用系统chrome制作软件,接口非常方便,而且生成的EXE很小。 aardio v22.20 更新: --------------------------------------------------------------------------- 1、chrome.app, electron.app 增加doScript函数,可用于执行网页js代码 2、 改进 chrome.app, electron.app 等支持新的$参数回调 aardio v22.18 更新: --------------------------------------------------------------------------- 1、 web.socket.jsonServer, web.rpc.jsonServer 等支持$参数, 如果这些RPC服务端回调函数的函数名首字符为$,则aardio会自动在回调函数中增加一个$参数到第一个回调参数。 web.socket.jsonServer的$参数为当前客户端套接字句柄。 web.rpc.jsonServer的$参数默认为当前request对象,可以使用rpcServer.rpc.run()函数自定义$参数。 相关范例已更新。 aardio v22.17 更新: --------------------------------------------------------------------------- 1、更新定时器相关代码模板 aardio v22.16 更新: --------------------------------------------------------------------------- 1、添加几个函数别名: winform.addtimer ——> winform.setInterval winform.killtimer ——> winform.clearInterval winform.settimer ——> winform.changeInterval 原函数名保留(仅用于兼容目的) aardio v22.15 更新: --------------------------------------------------------------------------- 1、增加 process.code aardio v22.14 更新: --------------------------------------------------------------------------- 1、修正 electron.app 回调未执行问题,感谢 天秤座 反馈 2、修正 winex.desktop.listview findItem失败 aardio v22.10 更新: --------------------------------------------------------------------------- 1、chrome.app,electron.app 优化代码 2、增加 fsys.replace() 函数用于直接替换文件内容。 3、string.sub 改名为 string.slice, string.subUnicode 改名为 string.sliceUnicode, 保留旧函数名(仅用于兼容)。 aardio v22.9 更新: --------------------------------------------------------------------------- 1、修正web.form.emulation在服务器操作系统未生效的问题,感谢Travis反馈。 aardio v22.8 更新: --------------------------------------------------------------------------- 1、改进跳出光标快捷键 aardio v22.7 更新: --------------------------------------------------------------------------- 1、修正 fsys.cookie一处BUG,感谢dafei2599,Travis反馈 2、修正 process.popen中 logResponse函数未显示错误信息 3、修正 fsys.lnk.search 耗时过久问题 aardio v22.4 更新: --------------------------------------------------------------------------- 1、增加快捷键: Alt+ 上下方向箭,将行前向,或向下移动 Ctrl + Shift + K 删除当前行 Shift + Enter 在当前行上方添加换行 2、string.replace改进,替换参数为表对象时,支持在表中指定数值、0值、函数值作为替换对象。 aardio v22.3 更新: --------------------------------------------------------------------------- 1、改进主题加载,防止自动更新覆盖用户设置。 aardio v22.2 更新: --------------------------------------------------------------------------- 1、Ctrl + / 快捷键改进,支持切换注释状态,并可自动跳过行首空白字符。 2、Tab, Shift+Tab快捷键用于移动光标时,改进对字符串、以及常用语句的识别, 例如if语句按tab或shift+tab可以自条件表达式中直接跳转到语句块内部,在输入完成以后,又可以继续按Tab, Shift+Tab跳转到}后面。 aardio v22.1 更新: --------------------------------------------------------------------------- 代码编辑器支持主题配色功能: 1、增加:aardio工具/开发环境/编辑器外观设置工具 2、代码默认字体改为Consolas 新增、调整了部分快捷键: 1、F11 切换全屏(新版考虑开发中的实用性,修改了全屏显示效果) 2、Ctrl + B 自动隐藏侧边栏(这块重写了之前的代码,显示效果会更合理一些). 3、Ctrl + / 更改为切换注释(与Ctrl+K,C 作用相同 ) 4、Ctrl + Shift + < 添加 <? ?> 代码段 5、增加一个非常方便的快捷键,在右括号前面按tab键直接跳到右括号(支持)}]等), 按Shift+Tab可以查找下一个右括号(大中小括号)或单引号、双引号、反引号并跳到该位置后面。 6、增加插件接口 ide.showStatus aardio v21.112 更新: --------------------------------------------------------------------------- 1、增加库:process.wmi aardio v21.109 更新: --------------------------------------------------------------------------- 1、修正工具->进程管理器报错 aardio v21.107 更新: --------------------------------------------------------------------------- 1、改进 fsys.appdata 支持检测文件大小 aardio v21.106 更新: --------------------------------------------------------------------------- 1、修正BUG aardio v21.105 更新: --------------------------------------------------------------------------- 1、thread.table 可省略参数创建共享表 aardio v21.104 更新: --------------------------------------------------------------------------- 1、允许线程共享表可以作为线程参数直接跨线程传递 2、增加 thread.init() thread.add() , table.clear() 等函数 3、增加定义线程共享变量的 thread.var 4、web.json支持_json元方法 5、改进thread.works以及范例 6、控制台支持win10转义字符 aardio v21.102 更新: --------------------------------------------------------------------------- 1、增加:winform.onMinimized 回调 aardio v21.101 更新: --------------------------------------------------------------------------- 1、增加:工具->其他->简单进程管理器 aardio v21.100 更新: --------------------------------------------------------------------------- 1、增加:工具->鼠标按键->鼠标左右切换, 保护手腕健康,建议大家经常切换。 aardio v21.99 更新: --------------------------------------------------------------------------- 1、com.smtp默认指定utf-8编码 aardio v21.98 更新: --------------------------------------------------------------------------- 1、改进chrome.driver支持新版 chrome aardio v21.95 更新: --------------------------------------------------------------------------- 1、plus控件使用disabledText创建动画时不再限定文本格式 aardio v21.94 更新: --------------------------------------------------------------------------- 1、修正 asynServer 的一个bug,感谢A2反馈。 aardio v21.93 更新: --------------------------------------------------------------------------- 1、改进chrome.app,electron.app aardio v21.92 更新: --------------------------------------------------------------------------- 1、改进原子窗体 aardio v21.91 更新: --------------------------------------------------------------------------- 1、修正 chrome.drive bug,感谢 周 反馈。 aardio v21.90 更新: --------------------------------------------------------------------------- 1、修正新版中搜索跳转插件不能退出的问题,感谢龙腾虎跃反馈。 2、插件中可以将使用全局变量mainForm指定主窗口。 aardio v21.89 更新: --------------------------------------------------------------------------- 1、修正 gdip.image 自buffer类型参数加载图像的bug,感谢popdes反馈。 aardio v21.87 更新: --------------------------------------------------------------------------- 1、修正 crypt.jwt 文档错误 aardio v21.85 更新: --------------------------------------------------------------------------- 1、改进string.map,使用键值表作为查询参数时支持映射函数 2、增加 crypt.bin.encodeUrlBase64,crypt.bin.decodeUrlBase64 3、标准库增加 crypt.jwt,用于JWT令牌编码解码 aardio v21.84 更新: --------------------------------------------------------------------------- 1、electron扩展库升级到最新稳定版 aardio v21.81 更新: --------------------------------------------------------------------------- 1、增加一个演示浏览器伸缩盒与HTMLayout弹性布局语法对比的范例 aardio v21.80 更新: --------------------------------------------------------------------------- 1、改进 process.cache aardio v21.79 更新: --------------------------------------------------------------------------- 1、修正aardio退出时开始页未自动退出 aardio v21.78 更新: --------------------------------------------------------------------------- 1、chrome.app 自动支持微软新版 edge浏览器(Chromium内核) aardio v21.76 更新: --------------------------------------------------------------------------- 1、改进 inet.downBox界面 扩展库 更新: --------------------------------------------------------------------------- 1、nodeJs扩展库改进,支持使用install函数选择系统、或自带的node环境。 aardio v21.74 更新: --------------------------------------------------------------------------- 1、修正plus控件setCueBannerText导致文本不能修改的问题 aardio v21.71 更新: --------------------------------------------------------------------------- 1、改进字体显示效果 aardio v21.70 更新: --------------------------------------------------------------------------- 1、修正滑块配色工具出现红黑重影 aardio v21.69 更新: --------------------------------------------------------------------------- 1、修正 win.ui.tabs 报错,感谢江万里反馈 aardio v21.68 更新: --------------------------------------------------------------------------- 1、win.ui.tabs 增加onDrawString回调接口。 2、如果控件使用默认的Tahoma字体, 在XP上仍然是Tahoma(中文显示为宋体), WIN7,WIN10则自动转换为Segoe UI(中文显示为微软雅黑)。 注意:不建议直接指定为宋体或微软雅黑。 另外窗体设计器仍然直接显示为Tahoma(默认字体),完美主义强迫症请绕行。 3、 增加了一个全局常量 _WINXP 用于判断当前操作系统是不是XP 4、edit,richedit增加disableInputMethod()函数,控件在设计时指定为密码控件时自动调用该函数 aardio v21.65 更新: --------------------------------------------------------------------------- 1、 修正 web.socket.client 重连失败问题 2、 winform.hitCaption() winform.hitmax() winform.hitmin() 改进为自动查找顶层父窗口并发送相应指令 aardio v21.64 更新: --------------------------------------------------------------------------- 1、 wsock.tcp.simpleHttpServer,wsock.tcp.asynHttpServer 改进设置默认文档的功能 aardio v21.61 更新: --------------------------------------------------------------------------- 1、 bug修正 aardio v21.59 更新: --------------------------------------------------------------------------- 1、 plus控件增加 setCueBannerText函数 aardio v21.56 更新: --------------------------------------------------------------------------- 1、 win.ui.layered 允许指定圆角 aardio v21.55 更新: --------------------------------------------------------------------------- 1、修改打开帮助文档的域名为aardio.com aardio v21.54 更新: --------------------------------------------------------------------------- 1、改进com数组对halcon进行容错处理(这块实际属于halcon的处理有问题),感谢popdes反馈该问题。 2、改进soImage的找色功能,允许模糊搜索最接近的颜色,并修正一处导致找色出错的BUG(感谢likcoc反馈)。 aardio v21.53 更新: --------------------------------------------------------------------------- 1、ustring.pack 改为 ustring.fromCharCode的别名 aardio v21.52 更新: --------------------------------------------------------------------------- 1、string.map支持在指定捕获分组时返回二维数组 aardio v21.51 更新: --------------------------------------------------------------------------- 1、改进范例 aardio v21.50 更新: --------------------------------------------------------------------------- 1、改进帮助文档 aardio v21.49 更新: --------------------------------------------------------------------------- 1、增加 table.create aardio v21.48 更新: --------------------------------------------------------------------------- 1、util.metaProperty构造参数支持指定多个参数表(可用于指定属性表的继承关系) aardio v21.47 更新: --------------------------------------------------------------------------- 1、改进帮助文档 aardio v21.46 更新: --------------------------------------------------------------------------- 1、更新 access.oleDb12 组件下载链接 aardio v21.45 更新: --------------------------------------------------------------------------- 1、 改进 winform.bindConfig aardio v21.44 更新: --------------------------------------------------------------------------- 1、 改进simpleHttpServer,asynHttpServer支持Range: bytes=0-请求 aardio v21.43 更新: --------------------------------------------------------------------------- 1、 增加 process.usage aardio v21.42 更新: --------------------------------------------------------------------------- 1、 修改范例 aardio v21.41 更新: --------------------------------------------------------------------------- 1、 wsock.tcp.asynHttpServer 可在构造参数中直接指定documentRoot。 wsock.tcp.simpleHttpServer.startUrl可使用第2个参数指定documentRoot。 aardio v21.40 更新: --------------------------------------------------------------------------- 1、 修正table.spliceArgs aardio v21.39 更新: --------------------------------------------------------------------------- 1、 调整工程向导 aardio v21.38 更新: --------------------------------------------------------------------------- 1、 gdip.graphics增加pageUnit属性 aardio v21.37 更新: --------------------------------------------------------------------------- 1、修正win.ui.tabs bug. aardio v21.36 更新: --------------------------------------------------------------------------- 1、 BUG修正 aardio v21.31 更新: --------------------------------------------------------------------------- 1、 改进 orphanWindow。 aardio v21.30 更新: --------------------------------------------------------------------------- 1、 改进 gdi.textOut 等函数。 aardio v21.29 更新: --------------------------------------------------------------------------- 1、 增加 crypt.rc4 使用原始密钥(而不是哈希密钥)加密。 2、 增加“范例->文本处理->哈希加密”,添加部分范例。 aardio v21.28 更新: --------------------------------------------------------------------------- 1、改进 string.map,支持以键值对的格式指定模式表达式。 2、改进 web.rest.client,可以在调用参数中覆盖默认参数的值。 3、crypt.rsa 增加了一些函数用于导入导出各种格式的密钥,用法参考rsa范例。 aardio v21.27 更新: --------------------------------------------------------------------------- 1、win.timer 增加设置循环次数的功能。 2、增加fsys.media.playRepeat函数。 3、dotNet支持库增加动态创建Web服务的功能,下面是一个简单的例子: import console; import dotNet; var clr = dotNet.clr(); var appDomain = clr.createAppDomain(); //动态创建Web服务 var webService = appDomain.createWebService("http://fy.webxml.com.cn/webservices/EnglishChinese.asmx") //调用WebService接口创建类 var englishChinese = webService.createInstance("EnglishChinese") //调用WebService提供的函数 var ret = englishChinese.TranslatorString("hello" ); console.dump(ret); console.pause(); 当然,类似上面的接口用aardio的web.soapClient更简单 。 aardio v21.26 更新: --------------------------------------------------------------------------- 1、 win.ui.simpleWindow, win.ui.simpleWindow3 增加更多自定义参数。 aardio v21.25 更新: --------------------------------------------------------------------------- 1、改进图标字体工具。 2、FontAwesome 字体文件去掉无意义的符号名,体积减小了一点点。 aardio v21.24 更新: --------------------------------------------------------------------------- 1、改进 winform.fullscreen() 函数,在窗口切换到全屏时,自动将窗口设为激活窗口。 aardio v21.23 更新: --------------------------------------------------------------------------- 1、plus控件在滑块模式下,如果正在拖动滑块,忽略其他代码对progressPos的更改。 aardio v21.20 更新: --------------------------------------------------------------------------- 1、 改进播放器工程范例,添加libvlc播放视频演示,移除一些图像并更改为色块或图标字体。 aardio v21.19 更新: --------------------------------------------------------------------------- 1、 改进 win.ui.minmax 可用于限制带系统边框的窗口最大化后的窗口大小。 aardio v21.18 更新: --------------------------------------------------------------------------- 1、 修正调色器预览色带出现微小误差的问题。 aardio v21.17 更新: --------------------------------------------------------------------------- 1、滑块配色工具增加导出配色方案功能。 aardio v21.16 更新: --------------------------------------------------------------------------- 1、重新整理播放器工程范例,调整代码,背景控件换成bk控件,清理没用到的图像文件。 aardio v21.14 更新: --------------------------------------------------------------------------- 1、改进 win.ui.tabs 切换选项卡时自动恢复子窗口输入焦点。 aardio v21.13 更新: --------------------------------------------------------------------------- 1、plus控件改进前景色绘图 aardio v21.12 更新: --------------------------------------------------------------------------- 1、custom 控件作为容器使用时如果移除所有子窗口时自动擦除背景。 aardio v21.11 更新: --------------------------------------------------------------------------- 1、plus控件切换到trackbar模式支持以方向键控制滑块。 aardio v21.10 更新: --------------------------------------------------------------------------- 1、修正配色工具有时候要点2次才能清除勾选配色的问题。 2、修正取色器中打开色表视图时显示的是参考色而不是选中色的问题。 aardio v21.9 更新: --------------------------------------------------------------------------- 1、增加一个plus控件自绘背景的范例。 aardio v21.8 更新: --------------------------------------------------------------------------- 1、范例工程增加简单画板,用于演示无边框窗口、无窗口控件、plus控件、自定义图标字体的用法。 2、gdip.image,gdip.bitmap增加saveAdd函数,用于生成gif文件。 3、改进plus配色工具,支持其他图标字体。 4、gdip.imageAttributes 增加一个简化调色矩阵的 setRgba 函数。 aardio v21.6 更新: --------------------------------------------------------------------------- 1、增加fonts.httpFamily,支持自指定网址一句代码加载图标字体。 2、对字体图标工具进行一些细节上的改进,现在也可以支持直接粘贴网址并预览、设置控件的字体图标。 3、改进扩展库管理器搜索功能。 4、改进画板扩展库 win.util.paint。 aardio v21.5 更新: --------------------------------------------------------------------------- 1、增加 graphics.drawCurve2, com.ConnectWeak 等函数。 2、aardio范例->Windows窗口应用 添加“Microsoft.Ink手写识别”示例。 3、增加了一个扩展库 win.util.paint,用于实现简单画板程序(基于plus控件), 请在扩展库中双击 win.util.paint 可以下载我写的一个简单画板演示程序。 aardio v21.4 更新: --------------------------------------------------------------------------- 拖放文件到代码中时,自动去除首尾重复的引号,能少删几个引号总是好的。 aardio v21.3 更新: --------------------------------------------------------------------------- 现在直接在标准库、用户库的fonts目录右键粘贴ttf字体文件以后, aardio将会自动在fonts名字空间下生成用于加载该字体的库文件,可以一句代码不用写了。 aardio在加载标准库、用户库以后也会检查ttf字体是否存在对应的库文件,如果没有就会自动创建。 添加图标字体现在只要粘贴一下就可以了。 aardio v21.2 更新: --------------------------------------------------------------------------- 进一步简化自定义图标字体的操作,现在更简单了: 1、复制ttf字体文件,在标准库的fonts目录直接右键粘贴。 2、关闭、并重新打开aardio工具->图标字体,就可以正常使用新的图标字体了。 aardio v21.0 更新: --------------------------------------------------------------------------- 1、大幅改进对图标字体的支持,现在不仅仅可以方便的使用FontAwesome字体, 也可以方便的加载其他的图标字体,加载图标字体只要一句代码就可以了,如果使用 “aardio工具->图标字体”就更加简单只要点一下就可以了。 原来的gdip.fontAwesome,win.fontAwesome在新版中已废弃(仍然会继续保留以兼容旧代码), 新版中请使用 fonts.fontAwesome 替代,fonts.fontAwesome的源码已经大幅简化,参考fonts.fontAwesome 可以在fonts名字空间下编写其他的图标库,当然不写库直接用 fonts.addFamily("图标字体路径")一句代码也可以添加图标字体。 原来在旧版中GDI+在加载图标字体以后,用起来还要写不少代码, 现在标准库已经大幅改进,只要使用fonts.addFamily("图标字体路径")加载的图标字体,gdip就可以自动支持。 2、$操作符改进,如果在路径前添加一个问号,如果查找不到包含文件时不会抛出异常而是返回null, 例如:$"?/不存在的文件路径" 会直接返回null但不报错。 aardio v20.11 更新: --------------------------------------------------------------------------- 1、 plus控件支持动态调整输出的图像大小, 请参考新增范例:Windows窗口应用->plus控件->自动缩放 2、 plus控件支持使用调色矩阵动态调色, 请参考新增范例:Windows窗口应用->plus控件->调色矩阵 3、 控件的disabledText属性现在支持用数组指定一组以动画循环显示的文字图标, 可以非常方便的一句代码创建文字图标动画,请参考新增范例:Windows窗口应用->plus控件->文字图标动画 4、 取色器改进按ALT隐藏调色窗口的功能。 5、 win.ui.tracker,plus 改进对拖曳事件的处理细节,定义了 onMouseDrag事件后自动设置、释放鼠标捕获。 在控件外部释放鼠标时仅触发onMouseUp,不触发onMouseClick。 6、 win.ui.tracker,plus 增加 onMouseActivate,onSysKeyDown等事件。 aardio v20.10 更新: --------------------------------------------------------------------------- 1、 取色器增加在抓色时按Alt键隐藏窗口的功能。 aardio v20.9 更新: --------------------------------------------------------------------------- 1、 plus配色工具添加导出配色方案到色表的功能, 色表可以保存为本地文件,再次拖放到窗口上可以重新打开该配色方案。 aardio v20.8 更新: --------------------------------------------------------------------------- 1、 plus配色工具增加一些可以配对使用的图标字体列表 aardio v20.7 更新: --------------------------------------------------------------------------- 1、 改进 win.ui.explorer 可自行搜索附近可用的下拉框用于显示驱动器列表 aardio v20.6 更新: --------------------------------------------------------------------------- 1、 取色器增加快捷键: 按 Ctrl 键点击主色块取分散互补色, 按Alt键点调色格清除调色格的颜色(并保留当前调好的颜色) aardio v20.4 更新: --------------------------------------------------------------------------- 1、 调色器增加Lab调色,增加可保存颜色的色板,滑块控件改用plus控件自绘实现。 2、 winform.bindConfig移除自动保存窗体位置的功能,如果有此需要请改用 win.util.savePosition实现。 当初不记得是哪个用户一直坚持要在winform.bindConfig里加这些功能,但这个功能很多时候并不需要却不请自来。 例如在设计器中改变窗口大小,都被自动改回去了,实际上用户下次打开同一窗体时,屏幕上的布局肯定已经发生了变化, 例如上次最大化后关闭了,用户并不一定希望再次打开时最大化。 aardio v20.3 更新: --------------------------------------------------------------------------- 1、改进plus控件滑块模式,支持无图像实现滑块, 增加“滑块控件配色工具”( 位置:aardio工具->界面->滑块控件配色工具 ) 只要点几下就可以快速生成漂亮的滑块控件。 aardio v20.2 更新: --------------------------------------------------------------------------- 1、plus配色工具在失去焦点时会自动收缩为浮动按钮,单击即可恢复。 可方便在窗体设计器与plus配色工具间快速切换。 2、窗口对象增加reduce函数,用法演示: import gdip.fontAwesome import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add( plus={cls="plus";text='\uF240';left=366;top=307;right=592;bottom=354;font=LOGFONT(h=24;name='FontAwesome')} ) /*}}*/ winform.show(); winform.reduce( {'\uF240';'\uF241';'\uF242';'\uF243';'\uF244'}, function(value,index){ if(value){ winform.plus.text = value; return 50 } } ) win.loopMessage(); aardio v20.1 更新: --------------------------------------------------------------------------- 1、FontAwesome 图标字体工具支持直接设置窗体设计器中的选定控件。 2、图标字体工具、plus配色工具鼠标移动到设置控件上的控钮时父窗口隐藏,仅显示正在使用的按钮,方便预览设置效果。 隐藏父窗口并且继续显示按钮使用orphanWindow实现。 aardio v20.0 更新: --------------------------------------------------------------------------- 1、重点改进窗口贴图功能,增加无窗口贴图控件bk,bkplus等。 无窗口贴图控件可以象普通控件一样被拖放到窗体设计器上,并同样支持九宫格自动缩放布局、九宫格贴图等功能。 可以指定背景色、前景色、渐变色、图像、png透明图像(bkplus支持png) 但无窗口贴图控件在运行时不需要真的创建窗口,而是直接在窗口背景上合成绘图, 可以非常方便的前后叠加,不会因处理不当相互干扰冲突。 2、普通子窗口也可以在onDirectDrawBackground事件中直接在父窗口背景上绘图, 例如我们将 web.kit 用于子窗口以方便更好的配合传统控件布局(例如添加自绘标题栏), 子窗口与父窗口叠加时如果拖动缩放窗口会有明显的闪烁,但是使用aardio新版提供的 onDirectDrawBackground事件就可以很好的解决这个问题了。 3、增加 ide.newForm ide.getActiveForm() ide.getActiveCode() ide.setActiveCode() ide.switchActiveForm() ide.setSelectedControl() ide.getSelectedControl()ide.getControlParam() ide.setControlParam()等IDE插件接口,可以使用插件同步编辑当前窗体设计器的源码。 4、窗体设计器支持设置、预览plus控件的更多参数。 5、plus控件配色工具大幅改进,并且现在可以配合窗体设计器使用了,只要在aardio中打开窗体设计器,然后选中plus控件,就可以在plus配色工具中直接将外观样式同步到窗体设计器中了。 6、改进整理文档,修正所有发现的BUG,各种细节优化等等。 扩展库 更新: --------------------------------------------------------------------------- web.kit 改进支持v20背景窗口绘图功能。 在子窗口中显示网页将会更简单、更平滑流畅。 aardio v19.44 更新: --------------------------------------------------------------------------- 1、 改进plus配色工具,更加更多设置项,改进预览效果,可自动保存、恢复配色方案。 2、 winform.bindConfig支持使用模式匹配语法定义绑定规则。 3、 custom控件支持九宫格显示图像。 4、 增加 string.map 函数,例如提取字符串里的数值: var str ="123,456,789,999" var arr = string.map(str,"\d+",tonumber) 实际上不指定字符串后面的参数时默认就是"[-\d]+",tonumber, 所以上面的代码还可以简化为 string.map(str) aardio v19.42 更新: --------------------------------------------------------------------------- 1、改进调色器显示效果 aardio v19.40 更新: --------------------------------------------------------------------------- 1、增加plus控件配色、预览工具(aardio工具->界面->plus配色工具) (本次更新后需要重启一下aardio) aardio v19.39 更新: --------------------------------------------------------------------------- 1、RECT结构体增加move,expand,ltrb......等函数。 2、范例增加一个背景贴图的演示(aardio范例->图形图像->背景贴图), 现在自绘背景非常方便,可以在背景窗口上任意位置一句代码画色块,一句代码九宫格贴图。 可以更灵活、更方便的布置窗口背景了。 aardio v19.38 更新: --------------------------------------------------------------------------- 1、改进gdi库增加更多方便GDI绘图的函数。 2、改进plus控件,允许直接绘图到窗口绘图的背景图像上, win.ui.layered 改进使用此方法绘图,因此默认不再需要主动刷新(可提升性能) 3、winform窗口增加onDrawBackground事件,可在此事件中继续使用GDI接口更灵活的绘制背景。 aardio v19.36 更新: --------------------------------------------------------------------------- 1、 增加 win.image.createAniCursor 可自内存加载动画光标。 aardio v19.35 更新: --------------------------------------------------------------------------- 1、色表窗口 color.viewForm 增加添加、删除色卡的功能, 可复制粘贴颜色值添加到色表中,也可以导入、导出色表。色表可结合取色器一起使用(参考工具中取色器的源码)。 2、增加 win.ui.ctrl.close ,用于创建圆形的透明关闭按钮。 aardio v19.33 更新: --------------------------------------------------------------------------- 1、修正 process.atom.getName 的bug aardio v19.32 更新: --------------------------------------------------------------------------- 1、色表控件提供自动生成配色方案的功能,支持导入导出配色方案。 2、调色器控件可显示线性的亮度值百分比。 aardio v19.31 更新: --------------------------------------------------------------------------- 1、标准库增加 color.table提供常用色表,增加 color.view 用于创建色表视图控件。 2、aardio工具->取色器 增加双击色块打开色表视图选择颜色的功能(打开色表时自动搜索最匹配的色卡)。 3、aardio范例->图形图像->调色器 演示在调色时自动匹配并显示最接近的色卡名。 4、增加 color.rgb2lab, color.lab2rgb等函数。 注意调色器、色卡表视图这些控件绘图效果基本全都是使用plus控件实现。 aardio v19.30 更新: --------------------------------------------------------------------------- 1、增加范例:图形图像->自绘色相环 aardio v19.29 更新: --------------------------------------------------------------------------- 1、取色器增加自绘色相环( 拖动H值时与当前预览色相同步 )。 2、按ALT点色块自动转换为反色,按SHIFT自动转换为补色。 aardio v19.28 更新: --------------------------------------------------------------------------- 1、取色器增加双击颜色值复制到剪贴板的功能。 aardio v19.25 更新: --------------------------------------------------------------------------- 一、取色器控件改进: 1、预览色带改进显示效果(更平滑)。 2、文本框中可直接输入各种格式颜色值自动解析各颜色分量的值。 3、可按回车或tab在文本框间来回切换焦点。 4、取色器设为置顶窗口。 5、显示放大镜不改变输入焦点。 6、放大镜移动时限制在屏幕范围内。 二、重写了帮助文档table部分。 aardio v19.24 更新: --------------------------------------------------------------------------- 1、取色器控件增加功能: 取色时按住Ctrl键可以锁定放大镜不动且图像不会改变,这样可以把鼠标移上去在放大的图像上更方便的取色。 如果按住Shift键也可以锁定放大镜在屏幕任何位置不动,但图像会继续随鼠标指向变化。 这两个快捷键可以结合使用, 例如按住Shift取到图像以后,再按Ctrl(这时候可以放开Shift)把鼠标移到放大镜上取色。 努力做最好用的取色器!!! aardio v19.23 更新: --------------------------------------------------------------------------- 1、扩展库管理器增加搜索功能,方便大家查找需要的扩展库。 aardio v19.22 更新: --------------------------------------------------------------------------- 1、改进plus控件显示效果。 aardio v19.21 更新: --------------------------------------------------------------------------- 1、取色器在屏幕取色时增加放大镜效果。 aardio v19.20 更新: --------------------------------------------------------------------------- 1、增加 win.lowerRight() 函数 aardio v19.19 更新: --------------------------------------------------------------------------- 1、增加取色器控件 win.ui.ctrl.pick http://bbs.aardio.com/forum.php?mod=viewthread&tid=31058&extra= aardio v19.17 更新: --------------------------------------------------------------------------- 1、工程向导增加空白工程(不添加演示代码)。 2、增加语音转文本范例。 扩展库 更新: --------------------------------------------------------------------------- 增加2个文本转语音的扩展库 1、 com.sapi.voice 调用系统自带的SAPI组件文本转语音。 http://bbs.aardio.com/forum.php?mod=viewthread&tid=31055 2、 baidu.speech 调用百度免费不限调用接口文本转语音。 http://bbs.aardio.com/forum.php?mod=viewthread&tid=31054 aardio v19.15 更新: --------------------------------------------------------------------------- 1、窗口工程范例添加“窗口间的关系”说明文档,这是一个很重要又很容易混淆的基础知识,建议好好看看。 扩展库 更新: --------------------------------------------------------------------------- 1、 新增 process.aria2 扩展库,调用例子: http://bbs.aardio.com/forum.php?mod=viewthread&tid=22045 aardio v19.14 更新: --------------------------------------------------------------------------- 1、 移出 web.browser,web.util等到扩展库(废弃状态), 因为win10上测试已会报错,不建议再用。推荐使用 process.openUrl 函数替代。 aardio v19.13 更新: --------------------------------------------------------------------------- 1、 增加 winform.setIcon() 函数可用于修改窗口图标,当然发消息也可以实现相同功能。 窗口和控件全部添加用于发消息的 sendMessage,postMessage成员函数,可以少写一个句柄参数了。 2、 增加 win.path.searchDll函数。 3、 增加 sys.display aardio v19.11 更新: --------------------------------------------------------------------------- 1、chrome.driver 添加 eachWindow, findTitle, findUrl, switchWindow 等查找切换网页窗口的辅助函数。 示例代码: import chrome.driver; //创建chromeDriver对象 var driver = chrome.driver(); var browser = driver.startBrowser(); browser.go("http://www.so.com") //弹出新窗口 browser.doScript( ` window.open("http://www.aardio.com"); `) //遍历所有窗口 //遍历所有窗口 for( index,window,title,url in browser.eachWindow() ){ //根据窗口标题查找窗口 if( string.find(title,"aardio") ){ //因为当前已切换窗口,所以可以直接使用其他函数操作该窗口 browser.go("http://www.baidu.com") } }; aardio v19.10 更新 --------------------------------------------------------------------------- 1、范例里增加了“音频视频”分类,收集整理一下这方面的例子,省得大家到处找。 扩展库更新 --------------------------------------------------------------------------- 1、增加 sys.audioVolume 扩展库,可用于获取、设置系统音量。 请在扩展库管理器中双击 sys.audioVolume 获取范例。 扩展库更新 --------------------------------------------------------------------------- 1、web.kit开启跨线程调用支持(需要最新版aardio) http://bbs.aardio.com/forum.php?mod=viewthread&tid=31045 aardio v19.9 更新 (2018/8/3): --------------------------------------------------------------------------- 1、增加一个重要的功能,现在非窗口对象也可以使用 thread.callable 函数转换为可以跨线程调用的对象。 有了这个功能,那么我们很多的界面组件都可以一句开启跨线程支持了。后面其他一些库会添加这个特性,请提前更新aardio。 aardio v19.8 更新 (2018/8/2): --------------------------------------------------------------------------- 1、改进plus控件动画功能,plus控件范例->旋转动画 改进为鼠标移动到控件上以后显示动画。 aardio v19.7 更新 (2018/8/2): --------------------------------------------------------------------------- 1、 增加 gdip.feather 用于羽化图像边缘, 用法参考 aardio范例-->图形图像-->羽化图像 aardio v19.6 更新 (2018/7/31): --------------------------------------------------------------------------- 1、 修正 win.ui.simpleWindow3 在win7上未显示渐变背景的问题,感谢 onlycdh 反馈。 aardio v19.5 更新 (2018/7/30): --------------------------------------------------------------------------- 1、 com.picture 支持自网址加载图像(需要事先调用import inet.http) 2、 增加一些范例 aardio v19.4 更新 (2018/7/30): --------------------------------------------------------------------------- 1、增加win.ui.simpleWindow3,可用于创建渐变背景的标题栏。 2、修正win.util.popup启用等待关闭时鼠标只能在通知窗口外部点击关闭。 3、修正小键盘特殊符号不能输入的问题。 aardio v19.2 更新 (2018/7/29): --------------------------------------------------------------------------- 1、标准库增加 win.ui.mask,可用于创建遮罩窗口。 win.ui.mask创建的遮罩窗口用于所有窗口时可设置边距,自动跟随所有窗口移动,并可设置是否允许鼠标穿透。而且遮罩窗口也可以调用moveToWindow函数用于遮罩外部窗口(参考工具中的winspy源码)。 2、改进 web.json.parse 支持在JSON中省略包含字符串的引号。 3、改进 string.list 兼容各种非标准的换行。 4、改进控件启用图标字体时,在窗体设计器中文本属性中输入Unicode转义符可以同步预览。 5、增加Ctrl + & , Ctrl + | 快揵键,如果跟输入法冲突,同时按下Shift键也可以。 aardio v19.1 更新 (2018/7/28): --------------------------------------------------------------------------- 1、改进了图标字体工具。 2、控件如果指定FontAwesome字体,可以直接在窗体设计器属性面板的文本属性中输入Unicode转义符。 aardio v19.0 更新 (2018/7/28): --------------------------------------------------------------------------- 1、增加com.enumRunning函数,可用于枚举ROT(运行对象表)并获取COM对象。 2、可在“标准库”或“用户库”右键菜单中“新建窗口类库”( 支持窗体设计器 )。 可用于快速创建一个包含窗口设计器的类库(添加默认示例代码,并支持单独调试运行窗口类库)。 3、在IDE中运行aardio库文件时文件域的owner参数为null,而使用import导入aardio库时,文件域的owner参数非空,使用该特性可以在库文件中通过判断owner参数运行测试代码。 4、win.loadForm, winform.loadForm在窗体文件没有写返回值时会默认指定该文件创建的窗体对象作为返回值。在工程中拖动窗体生成的示例代码不再添加多返回值。 5、允许在使用库右键菜单创建库以"."开头的资源文件目录,例如".res",注意此类目录在库文件管理器下次同步硬盘文件时会自动隐藏。 6、工程新建虚拟目录时,内嵌资源属性默认设为true(实际上需要为false的时候很少) 7、工程文件右键菜单添加:删除到回收站。 该菜单中的原“移除”更名为“移出工程”(仅移出工程管理器,不会删除硬盘文件)。 8、工程管理器虚拟目录右键菜单增加“粘贴文件”,可直接粘贴自资源管理器中复制的文件或目录到工程内。 9、 改进 winform工程范例以及文档,增加了部分演示代码。 10、修正BUG,优化代码等。 aardio v18.23 更新 (2018/7/27): --------------------------------------------------------------------------- 1、 改进 web.form 默认启用IE最高版本兼容模式。 2、 增加 web.form.emulation 等函数,原 web.form.util 名字空间下的同名函数仅保留用于兼容旧代码。 3、 web.form的创建参数指定user agent时,可同时修改http请求头、以及JS中的user agent设置,不用再调用其他函数修改了。 aardio v18.22 更新 (2018/7/26): --------------------------------------------------------------------------- 1、 标准库增加 gdip.imageAttributes, 范例增加调色矩阵示例(位置:aardio范例->图形图像->调色矩阵) 扩展库更新 (2018/7/25): --------------------------------------------------------------------------- 1、win.ui.lcdClock扩展库增加了重置、暂停、继续计时器的功能。 aardio v18.21 更新 (2018/7/24): --------------------------------------------------------------------------- 1、plus控件新增fontCharMap属性,可以用于自定义一个字符映射表,用于将字符转换为对应图像后输出。 扩展库里新增的win.ui.lcdClock使用该功能实现,请打开扩展库管理器双击win.ui.lcdClock可打开范例。 请参考我在这个帖子后面的回复:http://bbs.aardio.com/forum.php?mod=viewthread&tid=22419 aardio v18.19 更新 (2018/7/24): --------------------------------------------------------------------------- 1、改进plus控件实现进度条时的文本居中显示效果。 2、plus控件增加textPadding属性,可用于单独设置文本内边距(不影响前景图或前景色) aardio v18.18 更新 (2018/7/24): --------------------------------------------------------------------------- 1、优化plus控件部分代码,增加plus控件实现环形进度条的例子。 aardio v18.17 更新 (2018/7/24): --------------------------------------------------------------------------- 1、plus控件支持圆形径向渐变,只要简单的将linearGradient设为负数即可,请参考plus控件渐变范例。 2、plus控件圆形滚动条支持纯色块模式(仅指定背景色、前景色),参考plus控件新增范例。 3、plus控件圆角边框设为-1时可裁剪前景色为圆形(也可用于裁剪前景图像)。 4、阴影边框支持HTMLayout窗口的拖动边框效果(比原来纯用HTML实现的拖动边框效果会更好一些)。 aardio v18.16 更新 (2018/7/19): --------------------------------------------------------------------------- 1、改进模态对话框在关闭前将焦点切换到父窗口。 aardio v18.15 更新 (2018/7/19): --------------------------------------------------------------------------- 1、修正 console.writeBack() 包含宽字符时退格次数不够的问题,感谢 snfuksse 反馈。 aardio v18.14 更新 (2018/7/18): --------------------------------------------------------------------------- 1、修正linux/wine环境下Marlett字体显示异常 aardio v18.13 更新 (2018/7/18): --------------------------------------------------------------------------- 1、 改进chrome.app支持linux/wine环境, 这里说明一下在wine下aardio如何运行linux程序,以chrome为例,这样写就行了: process("//opt/google/chrome/google-chrome") 注意在aardio中linux路径应以"//"开始。 aardio v18.12 更新 (2018/7/17): --------------------------------------------------------------------------- 1、 win.ui.layered 改进绘图性能,大幅降低CPU占用率。 aardio v18.11 更新 (2018/7/15): --------------------------------------------------------------------------- 1、 win.ui.simpleWindow2 支持指定边距,用于分层窗口时不显示阴影。 aardio v18.10 更新 (2018/7/12): --------------------------------------------------------------------------- 1、 增加了“aardio工具->文本文件->图标字体”用于浏览fontAwesome字体的CSS样式以及转义字符, 该工具也包含了在传统控件、plus控件、各浏览器控件下使用fontAwesome字体的要点说明。 感谢tanker提供的代码: http://bbs.aardio.com/forum.php?mod=viewthread&tid=13569 aardio v18.9 更新 (2018/7/6): --------------------------------------------------------------------------- 1、 console.open() 增加线程锁 aardio v18.8 更新 (2018/7/6): --------------------------------------------------------------------------- 1、增加 web.rest.htmlClient aardio v18.7 更新 (2018/7/6): --------------------------------------------------------------------------- 1、在控件窗口中添加子窗口时,如果创建参数表中指定了oncommand事件, 自动调用translateCommand()以允许oncommand事件生效。 2、增加 winform.wait 函数,此函数实际是调用win.wait,但不需要指定父窗口。 aardio v18.4 更新 (2018/6/28): --------------------------------------------------------------------------- 1、使用阴影拖动边框时,检测并应用disableDragFullWindow属性。 增加 winform.applyDisableDragFullWindow() 函数用于实现此功能。 aardio v18.3 更新 (2018/6/28): --------------------------------------------------------------------------- 1、 win.ui.shadow 对象添加 setResizeBorder 函数用于启用或禁用拖动边框。 该功能启用后,将允许在阴影上拖动并改变父窗口的大小。如果在父窗体上已提前应用 win.ui.resizeBorder 则默认启用拖动边框。 利用阴影窗口实现拖动边框,可以较好的避免窗口内部被其他子窗口完全填充后无法感知边框拖动的问题。 aardio v18.2 更新 (2018/6/27): --------------------------------------------------------------------------- 1、 inet.url.split 增加自动分解出location字段(网址#号后面部分)的功能。 2、 修正 inet.urlpart.getLocation() 错误一处,感谢 易水寒 反馈。 aardio v18.1 更新 (2018/6/26): --------------------------------------------------------------------------- 1、 fsys.cookies 可以指定网址更准确的获取指定网址下的cookies aardio v18.0 更新 (2018/6/26): --------------------------------------------------------------------------- 本版更新主要增加了一些新语法 一、while var 语句允许合并条件语句中的循环变量初始化赋值、判断为一个单独的var语句,例如: while( var i = test() ) { console.log(i,j) } 上面的循环语句会在循环语句内部定义 i 变量(也可以定义多个局部变量), 并且在每次循环前都执行 i = test(),并判断i的值(如果定义了多个局部变量,仅判断第一个变量的值),如果i为真值则继续循环。 二、允许合并定义局部变量的var语句,格式如下: var ( a = 123; b = 456 ); 如果var后面使用一对括号,则内部可以写多条var语句并省略前面的var关键字。 三、允许禁用一个对象的读成员保护。 在元表中指定元属性_readonly = false 可禁用读成员保护, 如果元表中不设置_readonly 则默认启用只读成员保护(所有名字以下划线开头的禁止修改非null值)。 如果元表中设置 _readonly 为任何非null值都会被强制转换为 false, 该值一旦设置以后即不可修改,如果希望启用只读成员保护,唯一的方法就是不设置该属性。 global对象无论元属性_readonly怎么设置都会被忽略,只读成员保护总是启用状态。 四、允许使用 _lshift _rshift元方法重载 >> << 操作符。math.size64已默认重载 >> << 操作符。 aardio v17.136 更新 (2018/6/26): --------------------------------------------------------------------------- 1、inet.downBox 增加 cookies 属性,允许自定义cookie 2、改进 inet.downBox 界面响应速度。 3、inet.downBox 增加 removeResumeFile 函数 aardio v17.133 更新 (2018/6/26): --------------------------------------------------------------------------- 1、自浏览器复制多行代码时,有时候会出现HTML空格,之前会以红色标记。 本版改进为粘贴这类代码时自动清除这类HTML空格(仅针对多行代码,因为考虑到可能有时候确实需要复制这种空格) aardio v17.131 更新 (2018/6/25): --------------------------------------------------------------------------- 1、修正chrome.driver取js返回值错误。 aardio v17.130 更新 (2018/6/25): --------------------------------------------------------------------------- 1、改进 process.findExe在对bat文件的处理,避免bat路径包含空格并作为process的第一个参数时无法创建进程。感谢:寻-浔-荨 反馈该问题。 2、改进 web.socket.client对断线重连的处理。 aardio v17.129 更新 (2018/6/25): --------------------------------------------------------------------------- 1、 修正 web.socket.client 打开连接时没有添加URL参数,感谢“周”反馈。 扩展库更新 (2018/6/24): --------------------------------------------------------------------------- 1、增加dart语言扩展库,在扩展库管理器中双击dart可打开范例。 aardio v17.128 更新 (2018/6/23): --------------------------------------------------------------------------- 1、修正艾克反馈的几处笔误 aardio v17.127 更新 (2018/6/23): --------------------------------------------------------------------------- 1、 修正 string.search 有时未返回值的问题,感谢 艾克 反馈。 2、 增加非常好用的 string.reduce 函数,用法演示: var s = string.reduce(`ad(fa(2341)2sd)fa)s`,`%()`,`\((.+)\)`) 再发一个string.search,string.reduce结合运用的例子: import console; var s = string.search({},` ad(fa(2341)2sd1)fa)s ad(fa(234(1)2sd2)fa)s ad(fa2341)2sd3)fa)s ad(fa(23412sd4)fa)s`, "\N+",λ(s) string.reduce(s,`%()`,`\((.+)\)`) ) console.dump(s); console.pause(true); ardio v17.126 更新 (2018/6/21): --------------------------------------------------------------------------- 1、 chrome.driver 增加识别cent浏览器Chrome真实内核版本。 2、 string.search 允许最后一次匹配返回匹配分组。 ardio v17.125 更新 (2018/6/21): --------------------------------------------------------------------------- 1、 aardio范例 -> 数组排序 -> 多维数组 增加了一些示例 ardio v17.124 更新 (2018/6/20): --------------------------------------------------------------------------- 1、动态指针支持使用buffer指定初始值 ardio v17.123 更新 (2018/6/20): --------------------------------------------------------------------------- 1、改进 web.script 增加script属性,增加 doScript,xcall等函数。 ardio v17.122 更新 (2018/6/20): --------------------------------------------------------------------------- 1、inet.http 改进 location函数,可以循环获取重定向网址直到取到最后一次重定向网址。 2、inet.url.splitParameters 函数如果未指定分隔符时,如果第一个字符是问号,会自动去除首字符。 3、plus在指定checked样式时,默认状态如果未指定边框样式,默认初始化为无边框,也就是可以少写一个border = {}; ardio v17.121 更新 (2018/6/18): --------------------------------------------------------------------------- 1、修正编辑树形控件的范例,未处理取消编辑的问题,感谢 make2855 反馈。 2、修正inet.httpFile下载百度云获取不到文件名的问题,感谢 nlysh007 把名。 aardio v17.120 更新 (2018/6/14): --------------------------------------------------------------------------- 1、给力的升级 web.rest,可以用键值对匹配一组返回结果。 可以在API对象的成员中使用一个表对象批量替换多个URL模板的占位符。 可能新手看不明白为何这个升级“给力”, 借用一下 getpost 发的帖子中的源码,其中主要的抓取代码用这个功能可以缩减如下: http://bbs.aardio.com/forum.php?mod=viewthread&tid=22550&extra= import crypt; import console; import web.rest.jsonLiteClient; //创建HTTP客户端 var http = web.rest.jsonLiteClient() //第一步、声明获取视频基本信息的接口 var boosj = http.api("http://www.boosj.com/drama_43355_29.html",,{ id = '<@vid:"@>([0-9]+)'; name = "videoName\s*?\:\s*?\'(.*?)\'" } ) //第二步、找到分段视频配置文件m3u8 data = boosj.get(); data.t = crypt.md5(data.id+"01136c5948d353b1bg2",false); //第三步、提取分段视频网址 var gslb = http.api("http://gslb.boosj.com/f_hls/?_id={id}&t={t}") var m3u8 = gslb[ data ].get(); if( m3u8["error"] == 200 ){ var m3u8Urls = http.api(m3u8.url ++ "?" ++ m3u8.t,"GET",{"(http.*?\.ts)"}) var urls = m3u8Urls.get(); console.dumpJson( urls ) } console.pause(true); aardio v17.119 更新 (2018/6/14): --------------------------------------------------------------------------- 1、改进 win.ui.layered 绘图效果 aardio v17.118 更新 (2018/6/14): --------------------------------------------------------------------------- 1、优化plus控件、win.ui.tabs绘图效果,修正父窗口启用内部裁剪偶尔出现的不刷新问题。 2、win.ui.tabs增加自动保持选项卡间距的功能,如果未启用固定边距,可自动保持选项卡间距不变。 aardio v17.117 更新 (2018/6/14): --------------------------------------------------------------------------- 1、改进 win.ui,不再默认导入ide扩展库。 aardio v17.116 更新 (2018/6/14): --------------------------------------------------------------------------- 1、 plus 控件改进调用skin函数时如果重写border样式,可省略设计器指定的default样式 扩展库 更新 (2018/6/12): --------------------------------------------------------------------------- 1、 golang扩展库添加更多函数,补充文档, 增加调用Go编译生成DLL、并在aardio中调用该DLL的演示. 一个简单程序,go生成的DLL优化后只有1MB多一点,不依赖外部运行库,支持WinXP, 而且还可以内存加载,非常不错,使用aardio提供的golang扩展库,编译Go代码生成DLL会非常简单。 aardio v17.115 更新 (2018/6/12): --------------------------------------------------------------------------- 1、 inet.downBox 增加 preget属性,首次连接慢的服务器可设为true 扩展库 更新 (2018/6/12): --------------------------------------------------------------------------- 1、 golang扩展库改进支持自动下载安装go编译器 aardio v17.114 更新 (2018/6/12): --------------------------------------------------------------------------- 1、 改进 zlib.httpFile 解压大文件时的重绘效果 aardio v17.113 更新 (2018/6/12): --------------------------------------------------------------------------- 1、 inet.httpFile 修正有时出现下载错误问题。 2、 inet.downBox 对于某些响应连接非常慢的下载服务器,等待连接时滚动显示进度。 3、 progress 增加 startProgress(),stopProgress()函数用于方便的启动、停止自动滚动效果。 aardio v17.112 更新 (2018/6/11): --------------------------------------------------------------------------- 1、 修正 win.ui.tabs 未保持设计时边框设置 aardio v17.110 更新 (2018/6/11): --------------------------------------------------------------------------- 1、 修正 chrome.driver 报错 aardio v17.109 更新 (2018/6/11): --------------------------------------------------------------------------- 1、 electron.app改进支持以独立窗口运行,支持使用 favicon.ico替换窗口图标, electron.app做了一些细节上的优化,范例和文档已改进请注意查看。 2、 chrome.app 改进支持使用CEF3嵌入为aardio子窗口运行。 chrome.app做了一些细节上的优化,范例和文档已改进请注意查看。 3、 chrome.driver 如果不指定 chromedriver的位置或版本, chrome.driver会优先使用指定的chrome目录(或CEF3目录)下自带的chromedriver.exe, aardio v17.107 更新 (2018/6/11): --------------------------------------------------------------------------- 1、 WebSocket在关闭连接时不再触发onError,而是触发onClose(错误代码为1006) aardio v17.106 更新 (2018/6/10): --------------------------------------------------------------------------- 1、 chrome.app 改进可以支持CEF3,在创建窗口前调用 chrome.app.path = "cefclient.exe所在路径" 即可。 aardio v17.103 更新 (2018/6/10): --------------------------------------------------------------------------- 1、 chrome.driver 添加 removeArguments 函数,用于排除chrome启动参数 aardio v17.102 更新 (2018/6/9): --------------------------------------------------------------------------- 1、chrome.driver 范例增加调用JS,传参数并获取返回值的演示。 chrome.driver 其他一些小的优化改进。 aardio v17.101 更新 (2018/6/9): --------------------------------------------------------------------------- 1、chrome.driver, chrome.app 优化代码。 注意如果服务端调用了 chrome.app 的 aardio.js,在新版中开发时注意更新该文件。 新版aardio.js不再使用 window.name 跨域(改用更简单的URL传参) aardio v17.100 更新 (2018/6/9): --------------------------------------------------------------------------- 1、chrome.driver, chrome.app 改进可以混合使用了, 请参考:aardio范例->Chrome->APP 2、chrome.driver 浏览器会话对象增加 doScript函数,可以方便的执行JS脚本, 增加 loadScript 函数,可以方便的加载JS脚本文件。 aardio v17.99 更新 (2018/6/9): --------------------------------------------------------------------------- 1、 改进 chrome.driver ,默认不显示新版chrome弹出来的控制台窗口。 2、 改进 chrome.driver ,使用startBrowser创建的浏览器会话,提供 hwndChrome字段用于获取chrome窗口句柄。 aardio v17.98 更新 (2018/6/8): --------------------------------------------------------------------------- 1、 强劲改进 chrome.driver,增加更多简化操作的接口函数,增加更多更全的接口文档 aardio v17.97 更新 (2018/6/8): --------------------------------------------------------------------------- 1、 增加 electron.driver 用于调用 ChromeDriver控制 electron aardio v17.96 更新 (2018/6/8): --------------------------------------------------------------------------- 1、process.chrome.app 移动到 chrome.app ( 原名字空间自动重定向到 chrome.app ) 2、增加 chrome.driver 用于调用ChromeDriver自动化操作Chrome浏览器。 参考帖子:ChromeDriver超级懒人库 http://bbs.aardio.com/forum.php?mod=viewthread&tid=22544 aardio v17.95 更新 (2018/6/7): --------------------------------------------------------------------------- 1、改进 inet.httpFile 默认禁用缓存 aardio v17.94 更新 (2018/6/7): --------------------------------------------------------------------------- 1、修正 win.imageList 一处bug,感谢mick反馈 aardio v17.92 更新 (2018/6/6): --------------------------------------------------------------------------- 1、增加ide接口函数 ide.getActiveDocPath() aardio v17.91 更新 (2018/6/6): --------------------------------------------------------------------------- 1、兼容 Linux Wine( 包含 CrossOver ) 环境, 可以编写窗口程序,因为Wine支持控制台程序有些问题,所以我增加了一个console.wine 虚拟了一个简单的控制台。 注意目前Wine下涉及COM对象的功能有些问题暂时不要用。 web.form可以用于显示网页,在访问com对象是可能有bug。 2、路径对以 "//"开始时, io.fullpath,io.localpath等函数会去掉第一个斜杠并不作任何转换。 3、tonumber 支持指定字符串开始位置, 对于较长的字符串,使用这个特性就可以直接取数值,而不用先截取字符串, web.json也应用了这个特性做了优化。 aardio v17.90 更新 (2018/6/4): --------------------------------------------------------------------------- 1、chrome.app 支持从远程网页启动应用程序( 网页必须引用aardio.js ), aardio.js使用windows.name 跨域传递RPC接口地址,让远程网页能连接到本地RPC(动态分配空闲端口). aardio v17.89 更新 (2018/6/1): --------------------------------------------------------------------------- 1、 增加了tcp协议实现jsonrpc的库: wsock.tcp.jsonClient。 用法请参考《aardio调用go语言演示》http://bbs.aardio.com/forum.php?mod=viewthread&tid=22524 aardio v17.88 更新 (2018/5/31): --------------------------------------------------------------------------- 1、修正新版 electron扩展库笔误一处,感谢 阿呆自传 反馈。 aardio v17.87 更新 (2018/5/31): --------------------------------------------------------------------------- 1、嵌入原版 electron 的突破式更新: 在aardio中嵌入原版 electron 可以生成非常小的独立EXE文件了,最小仅1MB多一点。 所有使用aardio编写的electron中使用共享的同版本electron运行时,在首次运行前自动下载安装(速度极快,并且仅安装一次) 注意,请新建electron工程后测试,工程范例已更新。 aardio v17.84 更新 (2018/5/30): --------------------------------------------------------------------------- 1、优化 wsock 部分代码,修正导致数据发送出错的一处bug。 aardio v17.82 更新 (2018/5/29): --------------------------------------------------------------------------- 1、优化 win.ui.layered,降低CPU占用 aardio v17.79 更新 (2018/5/28): --------------------------------------------------------------------------- 为了追求那么一点完美,原来3句代码实现的 string.search 无奈的膨胀了几倍。 现在 string.search 参数中的筛选器函数可以返回非字符串值用于指定筛选条件。 我们终于可以这样任性的写代码了: import console; import string.list; import web.rest.jsonLiteClient; var http = web.rest.jsonLiteClient(); var qq = http.api("http://www.qq.com",,{ "\<a([^>]+)"; //找出所有a标签 λ(a) string.list(a,"\s").href; //提出href属性 λ(href) string.trim(href,`"'`); //去掉两头的引号 "^http\:.+"; //只保留http开头的超链接 λ(url) string.indexOf(url,"qq.com") ; //必须包含指定域名 } ); var urls = qq.get(); console.dumpJson(urls); console.pause(true); aardio v17.78 更新 (2018/5/28): --------------------------------------------------------------------------- 脑洞大开改进如下: 1、 string.search 输入的每一个模式表达式, 都可以用一个函数或 lambda表达式替代,这时候用于筛选上一次的模式匹配结果返回下一次要查找的字符串. 这样我们就可以无限的扩展模式表达式的能力了(而不用写很多循环处理的代码) 2、 string.search 的第一个参数可以直接指定一个接受匹配结果的数组, 如果参数1是数组,则函数的返回值也是该数组( 否则函数无返回值 ) 3、 web.rest.client (以及所有继承的对象 )在调用api函数时, 在参数@3中指定的模式表达式也可以指定一个表达式数组,如果这样用就会 在服务器响应请求时自动调用 string.search 匹配并搜索筛选得到一个包含搜索结果的数组。 当然,跟 string.search一样,每一个模式表达式都可以用一个函数或 lambda表达式替代。 aardio v17.77 更新 (2018/5/28): --------------------------------------------------------------------------- 1、增加 string.search 函数, 可以连续指定多个模式表达式,使用前面匹配的结果作为后面匹配的参数。 此函数的作用是把模式匹配问题分解为多个小匹配分步解决。 aardio v17.76 更新 (2018/5/27): --------------------------------------------------------------------------- 1、web.rest.client 增加一个方便的功能: 在声明API时可以直接指定一个模式表达式,用于模式匹配服务器返回的结果提取需要的部分。 示例: import console; import web.rest.jsonLiteClient; var restClient = web.rest.jsonLiteClient(); var baiduPan = restClient.api("https://pan.baidu.com/s/10fa9_7lg6_KhYD_B-Q_2MQ",,"yunData\.(setData%())"); var yunData = baiduPan.get(); console.dumpJson(yunData); console.pause(true); aardio v17.75 更新 (2018/5/27): --------------------------------------------------------------------------- 1、string.html 改进对script标签的处理。 扩展库 更新 (2018/5/26): --------------------------------------------------------------------------- 1、web.kit 改进: 只要在加载网页的窗口上简单调用 winform.enableDpiScaling() 即可自动支持系统 DPI缩放。 aardio v17.74 更新 (2018/5/26): --------------------------------------------------------------------------- 1、string.html,string.xml 增强格式化效果。 改进 string.html 对html省略关闭标签的兼容性。 解析格式化HTML演示 http://bbs.aardio.com/forum.php?mod=viewthread&tid=22516 aardio v17.73 更新 (2018/5/26): --------------------------------------------------------------------------- 1、string.xml,string.html 增加格式化缩进的功能。 现在只要简单的调用 xmlDoc.outerXml(true) 就可以美化xml,html了。 aardio v17.72 更新 (2018/5/26): --------------------------------------------------------------------------- 1、改进 string.xml 对DOCTYPE的处理 扩展库 更新 (2018/5/25): --------------------------------------------------------------------------- 1、web.kit 更新 queryEles() 函数兼容 web.form的写法(省略CSS选择器)。 aardio v17.71 更新 (2018/5/25): --------------------------------------------------------------------------- 1、修正 web.form queryEles函数范例修改节点颜色未生效问题,感谢 君子兰 反馈。 aardio v17.70 更新 (2018/5/25): --------------------------------------------------------------------------- 1、标准库添加 access.oleDb12 ,一句代码检测并安装 Microsoft.ACE.OLEDB.12.0 数据驱动. import access.oleDb12; access.oleDb12.install(); 感谢 阿法牛 协助测试. aardio v17.69 更新 (2018/5/25): --------------------------------------------------------------------------- 1、process 改进:如果设置了自定义环境变量参数,置于继承环境变量之前。 aardio v17.68 更新 (2018/5/25): --------------------------------------------------------------------------- 1、electron扩展库升级运行库到最新版本 aardio v17.67 更新 (2018/5/25): --------------------------------------------------------------------------- 1、string.xml 增加 eachAttribute迭代器用于遍历节点属性。 string.html 改进对空标签的支持。 aardio v17.66 更新 (2018/5/25): --------------------------------------------------------------------------- 1、string.list 增加功能: 可使用模式匹配语法指定行分隔符,可在tostring参数中重新指定拼接的分隔符 aardio v17.65 更新 (2018/5/25): --------------------------------------------------------------------------- 1、改进 string.xml 解析器,增加以下函数: xmlNode.getAttribute() 用于忽略大小写获取属性 xmlNode.getParent() 用于获取节点在文档中的父节点 xmlNode.remove() 用于在文档中移除节点 2、增加 string.html 解析器,基于 string.xml 实现, string.html拥有string.xml的所有功能,并且增强了对HTML空标签、可省略闭合标签的识别规则。 aardio v17.64 更新 (2018/5/24): --------------------------------------------------------------------------- 1、process.chrome.app 增加setPos,center等函数,并且改进external对象增加更多默认函数。 aardio v17.63 更新 (2018/5/23): --------------------------------------------------------------------------- 1、web.rest.jsonLiteClient , web.rest.jsonClient 在响应状态码为200并且获取的数据为HTML格式时自动转换为字符串(不执行JSON解析) aardio v17.62 更新 (2018/5/20): --------------------------------------------------------------------------- 1、process.chrome.app 关闭跨域限制更简单了,示例: import process.chrome.app; var app = process.chrome.app(); app.disableWebSecurity = true; 2、process.chrome.app 设置userDataDir支持"%LocalAppData%"等路径环境变量, 可以更方便的指定用户数据目录到appdata目录下,方便生成绿色便携的EXE文件。 aardio v17.61 更新 (2018/5/18): --------------------------------------------------------------------------- 1、process.chrome.app 工程范例增加关闭跨域、自动化控制框架网页的演示代码。 aardio v17.60 更新 (2018/5/17): --------------------------------------------------------------------------- 1、time对象增加getMilliTime()用于获取以毫秒为单位的时间, 增加 setMilliTime()可直接使用毫秒为单位的时间更新时间对象。 aardio v17.59 更新 (2018/5/15): --------------------------------------------------------------------------- 1、 process.chrome.app() 支持在参数中指定winform或custom控件作为chrome嵌入窗口。 可隐藏chrome自带的标题栏,方便的嵌入chrome到到本地窗口中。 aardio v17.58 更新 (2018/5/15): --------------------------------------------------------------------------- 1、线程控件代码优化,线程控件范例增加跨线程调用控件函数演示。 aardio v17.57 更新 (2018/5/13): --------------------------------------------------------------------------- 1、 win.ui.tabs 增加 queryStrip, count 等函数。 aardio v17.56 更新 (2018/5/13): --------------------------------------------------------------------------- 1、 process.popen 增加 writeClose() 函数,用于写完数据后关闭进程进程输入流。 aardio v17.55 更新 (2018/5/12): --------------------------------------------------------------------------- 1、web.rest 支持模URL模板占位符内部指定斜杠,例如 {/name} 如果调用时使用动态资源名替换了该占位符会自动在前面加上斜杠,否则不添加斜杠。 aardio v17.54 更新 (2018/5/10): --------------------------------------------------------------------------- 1、改进简单跳转插件,现在可以直接输入文本并自动开始查找(禁用模式匹配), 不用再回车启动查找,但是输入完成,可以直接回车查找下一个(允许模式匹配语法)。 aardio v17.53 更新 (2018/5/10): --------------------------------------------------------------------------- 1、process.chrome.app 支持360、2345....等chrome兼容浏览器。 增加 process.chrome.path 用于获取 chrome兼容浏览器安装路径。 aardio v17.52 更新 (2018/5/10): --------------------------------------------------------------------------- 1、win.ui.tabs 改进可以自定义adjust事件(在选项卡调整布局时自动触发), 并且增加 getPos() 函数获取选项卡当前大小。 aardio v17.51 更新 (2018/5/10): --------------------------------------------------------------------------- 1、process.chrome.app 支持自定义窗口图标,自定义HTTP处理程序 aardio v17.50 更新 (2018/5/9): --------------------------------------------------------------------------- 1、process.chrome.app 增加 onQuit 事件。 aardio v17.49 更新 (2018/5/9): --------------------------------------------------------------------------- 1、增加 process.chrome.remote,用于简化启动chrome远程调试进程的代码, 参考改进的 aardio范例->Web应用->WebSocket->Chrome远程调试 2、process.chrome.app改进初始化JS接口代码。 aardio v17.48 更新 (2018/5/9): --------------------------------------------------------------------------- 1、激动人心的新功能又来了。 使用cef,electron虽然有趣,但他们的运行库实在是太大了, 而且每个软件都要带上相同的运行库,一遍又一遍,多么无聊而且浪费资源。 现在aardio提供了一个新的库 process.chrome.app, 使用这个库可以直接调用系统已安装的chrome创建应用程序。 当然 chrome没有提供一个方便的与本地代码交互的接口。 不过这没有关系,使用 aardio 我们就可以在网页Javascript里方便、简单、 直接地调用本地接口,访问本地文件。 支持XP!支持XP!支持XP! 用法:直接在工程向导里创建 chrome app就可以了。 aardio v17.47 更新 (2018/5/9): --------------------------------------------------------------------------- 1、改进 electron扩展库,修正退出aardio程序后未退出electron进程。 aardio v17.46 更新 (2018/5/8): --------------------------------------------------------------------------- 1、改进electron扩展库,现在嵌入electron更简单,可以共享公共的electron运行库, 这样发布electron程序就不用带一个巨大的运行库了(运行时检测如果运行库不存在会自动下载), 实际上每个程序都带上相同的、体积惊人的运行库是不必要的。 aardio v17.45 更新 (2018/5/8): --------------------------------------------------------------------------- 1、plus控件、按钮等在设计属性中指定[默认按钮]为true,在模态对话框中即可默认响应回车键。 2、工程管理器里对文件重命名时支持Ctrl + C,Ctrl + V等快揵键。 aardio v17.44 更新 (2018/5/8): --------------------------------------------------------------------------- 1、 listview增加listview.setColumns()函数用于传入一个列名数组快速添加多个列。 可以使用 listview.clear(true) 快速清空所有行列。 因为 win.ui.grid() 是基于listview控件,也支持以上函数。 相关范例已更新。 aardio v17.43 更新 (2018/5/7): --------------------------------------------------------------------------- 1、plus控件指定边框的border属性可以使用padding缩小高度,已添加到范例中 aardio v17.42 更新 (2018/5/7): --------------------------------------------------------------------------- 1、修正gdip.bitmap网址加载图像BUG,感谢艾克反馈。 aardio v17.41 更新 (2018/5/7): --------------------------------------------------------------------------- 1、现在只要提前调用 import inet.http, plus控件就可以自动支持用网址指定图像参数。 gdip.bitmap也可以自动支持传入网址参数并创建图像。 import win.ui; var winform = win.form(text="plus控件直接使用网址加载动画";right=759;bottom=469;bgcolor=0) winform.add(plus={cls="plus";foreRepeat="center"}) import inet.http; winform.plus.foreground = "http://s4.sinaimg.cn/large/001MqVhfzy7aSDem4Dx73&690" winform.show() win.loopMessage(); aardio v17.40 更新 (2018/5/7): --------------------------------------------------------------------------- 1、 win.ui.listPopup onGetItems事件允许通过返回值指定默认选中索引。 aardio v17.39 更新 (2018/5/6): --------------------------------------------------------------------------- 1、 win.ui.listPopup 增加 onComplete 事件 aardio v17.38 更新 (2018/5/6): --------------------------------------------------------------------------- 1、改进plus控件在使用cheked属性时,自动开启“响应通知”功能。 aardio v17.37 更新 (2018/5/5): --------------------------------------------------------------------------- 1、改进标准库控件处理默认快捷键时不再使用translateAccelerator接口,避免与自定义快揵键冲突。 2、改进非模态对话框按ESC时不再关闭窗口,而是触发 winform.onCancel 事件由用户自行决定是否关闭。 模态对话框如果用户未定义onCancel,则添加默认 onCancel事件,并在onCancel内自动关闭对话框。 3、添加 win.ui.listPopup 用于显示一个弹出窗体外的的listbox控件。 用法请参考:范例程序\Windows窗口应用\orphanWindow\智能提示 import win.ui; /*DSG{{*/ var winform = win.form(text="智能提示";right=600;bottom=400) winform.add( edit={cls="edit";left=190;top=301;right=525;bottom=327;db=1;dl=1;dr=1;edge=1;multiline=1;z=1}; static={cls="static";text="请在下面输入任意英文单词可弹出提示窗口,按上下方向箭可以切换选项,回车或鼠标点击可以确认输入,按ESC取消。";left=67;top=229;right=532;bottom=284;transparent=1;z=2} ) /*}}*/ import web.rest.jsonLiteClient; var http = web.rest.jsonLiteClient(); var suggestion = http.api("http://fanyi.baidu.com/sug?kw={0}") import win.ui.listPopup; var listPopup = win.ui.listPopup(winform.edit); listPopup.onGetItems = function(text){ var result = suggestion[ text ].post(); return table.map(result.data,lambda(v) v.k + '\t ' + v.v ); } listPopup.onSetText = function(text){ return string.split(text,'\t')[1]; } winform.show(true); win.loopMessage(); aardio v17.36 更新 (2018/5/4): --------------------------------------------------------------------------- 1、对状态栏【简单跳转】进行了改进, 如果开启该插件,则下次打开aardio时仍然会自动开启该插件。 如果使用右键菜单关闭该插件,则下次打开aardio时该插件仍然是关闭状态。 简单跳转插件功能改进:在使用关键字查找时,支持查找到尾部自动跳回文档的开始处继续查找。 在按模式匹配语法查找失败以后,会自动改为忽略大小写的文本搜索。 aardio v17.35 更新 (2018/5/4): --------------------------------------------------------------------------- 1、增加 wsock.addrInfo aardio v17.34 更新 (2018/5/4): --------------------------------------------------------------------------- 1、增加 wsock.tcp.simpleHttpServer.startPort 属性, 用于配置 wsock.tcp.simpleHttpServer.stopUrl 的监听端口(不指定自动分配空闲端口) aardio v17.33 更新 (2018/5/3): --------------------------------------------------------------------------- 1、plus控件笔误修正,感谢 艾克 反馈。 aardio v17.32 更新 (2018/5/3): --------------------------------------------------------------------------- 1、移除八进制的前缀零表示法(例如010), 这虽然是C系语言通用的表示法,但实际上8进制我们基本用不到,而0开头表示的10进制数却经常会遇到,这种表示法有时候会给我们添乱。另外aardio中本就可以使用 8#10 的方法表示8进制数,所以0前缀的表示法也显得多余。 目前新版Javascript也移除了这种表示法。 aardio v17.31 更新 (2018/5/3): --------------------------------------------------------------------------- 1、修正 string.unescape 参数为空导致的问题。 aardio v17.30 更新 (2018/5/2): --------------------------------------------------------------------------- 1、 修正上版一处笔误,感谢艾克反馈。 aardio v17.29 更新 (2018/5/2): --------------------------------------------------------------------------- 1、 修正 win.ui.tabs 的 clear()函数报错。 aardio v17.28 更新 (2018/4/30): --------------------------------------------------------------------------- 1、改进 win.ui.tabs,感谢 艾克 反馈的修改意见。 aardio v17.27 更新 (2018/4/28): --------------------------------------------------------------------------- 1、范例中的HTTP测试网址 http://httpbin.org 更改为 http://eu.httpbin.org/ aardio v17.26 更新 (2018/4/28): --------------------------------------------------------------------------- 1、增加 table.mapr() 函数, 此函数用法与 table.map() 相同, 但是 table.mapr() 可以递归处理子表。 aardio v17.25 更新 (2018/4/28): --------------------------------------------------------------------------- 1、 zlib库中gzUncompress 等函数支持自定义"zlib","gzip","raw"等压缩格式头。 压缩格式头指定为"raw"表示无压缩头. aardio v17.24 更新 (2018/4/27): --------------------------------------------------------------------------- 1、增加 【工具->开发环境->简单跳转】插件, 可以在输入框中输入行号,跳转行号后支持回跳到上次所在的行。 也可以输入搜索关键字(支持模式匹配语法)然后点击跳转按钮在代码中搜索。 点击下拉框会自动列出当前代码中的函数定义,点击可快速跳转到函数定义。 aardio v17.23 更新 (2018/4/27): --------------------------------------------------------------------------- 1、plus 控件增加measureString() 函数可以获取输出文字的区块大小。 2、plus 控件增加fitContent() 函数可以根据显示字数自动调整plus控件大小。 aardio v17.22 更新 (2018/4/27): --------------------------------------------------------------------------- 1、 现在给窗体加淡入淡出效果只要一句代码了 用 win.ui.fade( winform ) 替换 winform.show() 就可以了 2、 增加 win.ui.message ,用于显示plus控件实现的信息提示框, 提供了一堆函数用于显示各种字体图标的信息提示框, 下面是演示代码: import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469;bgcolor=8421504) winform.add( plus={cls="plus";text="显示简单提示框";left=451;top=378;right=587;bottom=408;font=LOGFONT(h=-16);notify=1;z=1} ) /*}}*/ import win.dlg.message; var msgDlg = win.dlg.message(winform); winform.plus.skin(msgDlg.buttonStyle) winform.plus.oncommand = function(id,event){ if( msgDlg.ask("你觉得这个简单提示框好用吗") ){ msgDlg.smile("谢谢!") } else { msgDlg.frown('很遗憾你会这么想,但是\nwin.dlg.message提供了很多自定义外观样式的选项\n您可以根据自己的喜好进行调整') } } winform.show() win.loopMessage(); aardio v17.21 更新 (2018/4/26): --------------------------------------------------------------------------- 1、 修正 process.openUrl 函数与 process.openUrl扩展库命名冲突。 新版程序建议大家直接使用 process.openUrl 函数。 aardio v17.20 更新 (2018/4/26): --------------------------------------------------------------------------- 1、改进对齐辅助线,窗体设器默认设置为自动对齐到网络 aardio v17.19 更新 (2018/4/26): --------------------------------------------------------------------------- 1、改进plus控件边框绘制效果 aardio v17.18 更新 (2018/4/26): --------------------------------------------------------------------------- 1、控件属性增加“临时锁定”选项(也可以在右键菜单中设置)。 2、窗体设计器增加控件对齐辅助线(建议设置控件自动对齐到网格)。 3、线程回调函数支持主线程定义的 gobal.onError。 4、修正time()转换为字符串时一处可能导致内存增长的BUG,感谢lxping反馈该问题。 aardio v17.17 更新 (2018/4/24): --------------------------------------------------------------------------- 1、修正新版库的发布触发器未调用的问题 aardio v17.16 更新 (2018/4/24): --------------------------------------------------------------------------- 1、工程向导新增“控制台->后台服务”工程范例。 2、增强标准库中用于实现后台服务的service库, 增加 service.activeSessionId()等获取系统用户会话ID的函数 增加 service.msgbox() 等可用于服务进程在登录用户桌面上弹出对话框的函数。 3、增加 console.askYesNo() 函数。 调用此函数,可在控制台询问用户,并等待用户按Y/N键作出选择。 aardio v17.15 更新 (2018/4/22): --------------------------------------------------------------------------- 1、增加 console.setCtrlHandlerThread 函数,用于在控制台关闭前触发线程回调。 2、改进 plus控件生成的圆形图像效果 aardio v17.14 更新 (2018/4/22): --------------------------------------------------------------------------- 1、修正在工程管理器双击打开切换到其他工程的BUG,感谢默心反馈。 aardio v17.13 更新 (2018/4/22): --------------------------------------------------------------------------- 1、强力改进plus控件圆角边框的抗锯齿效果,现在输出更为平滑美观了。 2、可以窗体设计器中更灵活的调整各种圆角效果,只要把plus控件的圆角半径设为-1,aardio将会自动裁剪前景图像为圆形图像,并且仍然支持各种绘图模式,例如居中、拉伸,保持比例,平铺等效果。 3、窗体设计器改进,右键可穿透被锁定的控件选取被遮挡的控件。 4、调整高分屏下智能提示列表适应字体宽度,感谢 匿名 反馈。 5、静态回调函数支持使用void声明无返回值。注意 web.kit扩展库必须升级到最新版,因为这2个扩展库里有几个fastcall回调的类型错误的声明为了void返回类型。 aardio v17.12 更新 (2018/4/21): --------------------------------------------------------------------------- 1、 web.socket 不再使用 win.setTimeout 延时回调 aardio v17.11 更新 (2018/4/21): --------------------------------------------------------------------------- 1、tcc扩展库更新到0.9.27,新版可以更好的支持UTF8,UTF16字面量, 增加compileEx,outputEx等函数支持直接使用UTF8编译C语言源代码,已更新部分aardio自带的tcc范例。 aardio v17.10 更新 (2018/4/20): --------------------------------------------------------------------------- 1、增加 udp 广播范例。 aardio v17.09 更新 (2018/4/19): --------------------------------------------------------------------------- 1、修正websocket发送过长文本出错的问题,感谢QQ_0FD175反馈。 aardio v17.08 更新 (2018/4/17): --------------------------------------------------------------------------- 1、修正自定义控件子窗口超出的问题,感谢carl反馈 aardio v17.07 更新 (2018/4/16): --------------------------------------------------------------------------- 1、修正程序中个别不是由aardio创建的窗口出现不能输入的问题 aardio v17.06 更新 (2018/4/16): --------------------------------------------------------------------------- 1、改进锁定控件显示效果 aardio v17.05 更新 (2018/4/16): --------------------------------------------------------------------------- 1、支持拖动工程文件的快捷方式到工程管理器(打开工程) 2、窗体设计器支持在控件右键菜单中锁定、解锁控件,控件被锁定以后在设计器中不能调整大小,如果鼠标单击多个控件的重叠区域时,aardio将自动穿透被锁定的控件(优先选择未被锁定的控件),锁定状态在切换到代码视图后自动解除(关闭文件也会自动解除) 3、发布网站时支持自定义触发器(工程、或库目录下的.build目录里定义的触发器)。 4、改进智能提示的显示字体。 5、edit,richedit控件在设置为单行模式、并启用tab控制属性时,自动支持回车键切换焦点(当然也可以用tab键)。 6、输入类控件增加tabNext函数,用于快速切换焦点到下一个启用tab控制属性的控件。 aardio v17.04 更新 (2018/4/14): --------------------------------------------------------------------------- 1、修正上传代码工具报错,感谢 我心飞翔1995 反馈 aardio v17.03 更新 (2018/4/14): --------------------------------------------------------------------------- 1、改进orphanWindow功能,添加使用orphanWindow实现智能提示效果的范例。 范例位置:代码段->aardio范例->Windows应用->orphanWindow->智能提示 2、在父窗口上添加控件aardio尽可能的推算出位置参数, 如果省略所有坐标参数,aardio也会默认设置控件的坐标参数为 marginLeft=0,marginTop=0;marginRigh=0;marginBottom=0; 这个改进可以让我们在动态添加控件时写更少的参数,例如:

    //给custom添加一个列表框
    winform.custom.add( 
        listbox={cls=
"listbox";edge=1;hscroll=1;vscroll=1;}
    )

3、 改进 web.rest.client 调用API函数名包含中文时自动转换为URL编码(UTF8编码)后发送 aardio v17.02 更新 (2018/4/13): --------------------------------------------------------------------------- 1、string.xml 解析器代码优化 aardio v17.01 更新 (2018/4/13): --------------------------------------------------------------------------- 1、aardio工具中增加:[代码上传工具] 文件位置:[aardio工具->编码->代码上传工具] 这个工具也是演示高级界面的一个示例, 大家可以看一下源码参考一下plus,win.ui.tabs的一些用法。 感谢 xauto 分享该接口:https://paste.rs/n4L.js 2、win.ui.tabs 增加很好用的 query 函数,用法请查看文档。 aardio v17.0 更新 (2018/4/12): --------------------------------------------------------------------------- 1、编辑器增加快捷键 CTRL + ? 快速输入 <? ?> 2、增加 lambda 表达式。 2.1) lambda 不需要写return语句就可以直接返回一个表达式。 例如 lambda() 123 等价于 function() return 123; 2.2) lambda的函数体只能是一个表达式,不能使用其他语句或语句块, 例如 lambda(){} 等价于 function() return {}; 2.3) ambda表达式不包含逗号,不会返回多个值。 例如 console.log( lambda() 123, 456 ) 等价于 console.log( function() { return 123 }, 456 ) 2.4) lambda表达式的函数体不是语句,不包含分隔语句的分号。 例如 console.log( lambda() 123; ) 是错误的写法 可选使用希腊字母λ代替 lambda关键字。 以下是演示代码:

    import console;      
    
var arr = {1;2;3;4;7}
    
var value = reduce(arr,lambda(a,b) a + b );     
    console.dump(value);
    console.pause(
true);

aardio v16.123 更新 (2018/4/12): --------------------------------------------------------------------------- 1、修正 IDE插件中弹出子窗口时,关闭子窗口插件退出的问题,感谢 carl 反馈。 aardio v16.122 更新 (2018/4/11): --------------------------------------------------------------------------- 1、修正 string.xml 解析script出错的问题,感谢 蘑菇 反馈. aardio v16.121 更新 (2018/4/11): --------------------------------------------------------------------------- 1、 改进 fsys.cookies 在push添加同域同名cookie时更新原来的cookie(取代原来的添加cookie) aardio v16.120 更新 (2018/4/11): --------------------------------------------------------------------------- 1、 win.inputBox调整外观,去掉最大化最小化按钮,感谢"我心飞翔1995" aardio v16.119 更新 (2018/4/10): --------------------------------------------------------------------------- 1、 web.form 默认外观样式开启 _UIFLAG_NO3DBORDER, web.form 空白窗体示例,默认添加 _UIFLAG_DIALOG aardio v16.118 更新 (2018/4/10): --------------------------------------------------------------------------- 1、改进 string.xml 支持自动清理innerText中插入的HTML注释 aardio v16.117 更新 (2018/4/9): --------------------------------------------------------------------------- 1、改进winex,以及winspy,增强搜索外部窗口的功能, 并在多个函数中支持用owner窗口替代父窗口参数查找子窗口。 aardio v16.116 更新 (2018/4/9): --------------------------------------------------------------------------- 1、修正用户库下的 \.build\main.aardio 未被调用的问题 aardio v16.115 更新 (2018/4/9): --------------------------------------------------------------------------- 1、增加无循环函数 table.some,table.every,table.filter,table.map 借用 xauto 提供的范例,感谢 xauto

import win.ui;
/*DSG{{*/
var winform = win.form(text="筛选";right=290;bottom=255)
winform.add(
edit={cls=
"edit";left=27;top=29;right=245;bottom=58;edge=1;multiline=1;z=1};
listview={cls=
"listview";left=27;top=60;right=245;bottom=192;edge=1;z=2}
)
/*}}*/

var name = {"赵三";"张三";"李四";"孙李";"张三丰";"李四光";};
winform.listview.insertColumn(
"姓名",100)
winform.listview.items = name;

winform.edit.oncommand = 
function(id,event){

    
if(event = 0x400/*_EN_UPDATE*/){
        winform.listview.items = table.filter(name,
function(v){ 
            
return string.indexOf(v,winform.edit.text) 
        })
    }
}

winform.show() 
win.loopMessage(); 

aardio v16.114 更新 (2018/4/9): --------------------------------------------------------------------------- 1、 win.inputBox 添加 onOk,onCancel 事件 aardio v16.113 更新 (2018/4/9): --------------------------------------------------------------------------- 1、win.form窗体对象增加 winform.onOk,winform.onCancel 事件, 用于响应Enter,ESC 等对话框快捷键。 2、创建控件自动分配ID不会再使用_IDOK,_IDCANCEL的值, 但是仍然可以在创建控件的参数中自行指定id的值。 3、窗口在全屏模式下按ESC将退出全屏,可自定义onCancel事件取消该行为。 aardio v16.112 更新 (2018/4/8): --------------------------------------------------------------------------- 1、增加 reduce 函数,与Javascript同名函数用法类似,示例:

    import console; 

    
var arr = {1;2;3}
    
var ret = reduce(arr,function(prev,next,index,arr){
        
return prev + next;
    });

    console.log(ret);
    console.pause(
true);

aardio v16.111 更新 (2018/4/8): --------------------------------------------------------------------------- 1、win.form 支持在创建参数中使用 className 自定义不带TID后缀的类名. 请参考新增的范例:aardio范例->Windows窗口应用->创建窗口的隐藏参数 aardio v16.110 更新 (2018/4/7): --------------------------------------------------------------------------- 1、修正ovplayer工程范例文件链接错误(我修改目录名导致的问题),以及笔误一处( 感谢netfox反馈 ) aardio v16.109 更新 (2018/4/7): --------------------------------------------------------------------------- 1、工程向导中增加 popdes 分享的 ovplayer界面源码,感谢 popdes 2、winform增加以下事件函数, 因为这些事件比较常用,增加事件或以减少不必要的消息回调函数。 winform.onMouseDown winform.onMouseClick winform.onMouseDoubleClick winform.onActivate winform.onActivateApp winform.onMouseActivate aardio v16.108 更新 (2018/4/6): --------------------------------------------------------------------------- 1、gdip.bitmap 提供的 split函数拆分图像返回的数组增加一个map函数, 该函数可以将数组转换为名值对,例如将sys_tab_bkg.png拆分为4列,并且 第1列为default图像,第2列为hover图像,第3列为active图像,那么代码如下: winform.plus.skin( background = gdip.bitmap("\res\Images\sys_tab_bkg.png").split(4).map( default = 1; hover = 2; active = 3; ); ) aardio v16.107 更新 (2018/4/6): --------------------------------------------------------------------------- 1、gdip.bitmap 修正 split 函数 bug,感谢 易水寒 反馈。 aardio v16.106 更新 (2018/4/6): --------------------------------------------------------------------------- 1、gdip.bitmap 增加自动拆分图像的split函数 aardio v16.105 更新 (2018/4/6): --------------------------------------------------------------------------- 1、修正plus控件skin函数在重复设置样式,而且图像为bitmap对象时,导致图像异常释放报错的问题。 2、修正 websocket 服务端客户端的close函数触发onError的问题,感谢艾克反馈。 3、修正inet.ftp文档错误,感谢kylin反馈 aardio v16.104 更新 (2018/4/4): --------------------------------------------------------------------------- 1、增加 table.eachValue 用于按表的值排序遍历表, 感谢 翔阿 提供的例子,示例: import console; var t = { ["832"]=2; ["822"]=2; ["812"]=3; ["862"]=5; ["632"]=3; ["232"]=1; ["932"]=2; } for k,v in table.eachValue(t,function(v,v2) return v > v2 ){ console.log(k,v) } console.pause(true); aardio v16.103 更新 (2018/4/4): --------------------------------------------------------------------------- 1、增加 console.hex 函数,可以16进制输出字符串、缓冲区的所有字节。 2、python后台进程示例中添加 import thread.command,感谢 大龙 反馈。 aardio v16.102 更新 (2018/4/3): --------------------------------------------------------------------------- 1、 string.xml的queryEles查询条件,支 持指定innerText的匹配了(innerText在string.xml里是一个函数以前不支持作为匹配的属性)。 innerText的查询会自动设置为最后一个检测条件,这样就可以避免大量不必要的字符串匹配。 aardio v16.101 更新 (2018/4/3): --------------------------------------------------------------------------- 1、 增加 process.openUrl 函数, 很多人可能不知道,创建一个线程打开网址会更流畅,不然会卡顿, 这个函数把这些都写好了,只要直接用就可以。 2、改进 richedit打开超链接的功能。 3、规范化 process.execute_xxxx 这几个函数名为 process.executeXxxx, aardio一个优势就是库函数命名风格统一,留着这几个不统一的函数名不是很好,想改很久了。 原来的函数名会继续保留,但在代码提示中会推荐新的写法。 aardio v16.100 更新 (2018/4/3): --------------------------------------------------------------------------- 1、本版更新有BUG,已撤回 aardio v16.99 更新 (2018/4/3): --------------------------------------------------------------------------- 1、增加 thread.command.sendInvoke() 函数 2、python多线程范例增加了一些代码演示。 aardio v16.98 更新 (2018/4/3): --------------------------------------------------------------------------- 1、py,py2,py3等扩展库更新,改进对多线程GIL支持。 python的多线程是假多线程,而且GIL用起来有些麻烦, 建议在单线程中使用python,如果需要在后台线程中使用python, 也建议做成单线程会省很多事。 我已经在范例中添加了python使用GIL、以及后台单线程运行python的演示。 2、一处小改进,在跨多线程赋值控件text属性时,python对象也可以提前调用tostring转换为文本。 aardio v16.97 更新 (2018/3/31): --------------------------------------------------------------------------- 1、增强了一下查找替换对话框的功能,现在写这个功能更简单了。 增加了一个新的范例,位置:aardio范例->Windows窗口应用->richedit->查找替换 2、 增加了一个 win.getCopyData() 函数, 这个函数的代码是从 onCopyData里分离出来的。 aardio v16.96 更新 (2018/3/30): --------------------------------------------------------------------------- 1、修正 inet.url.splitParameters 拆分参数抛出异常的问题,感谢 ҉k҉o҉m҉ 反馈 aardio v16.95 更新 (2018/3/30): --------------------------------------------------------------------------- 1、Ctrl + * 改为自动输入段注释,因为段注释在aardio中可以包含长字符串, 写aardio代码经常要写输入段注释,而段注释要按N多下,这个快捷键这样用应当更有用一些。 2、添加 win.ui.listEdit 可以非常方便的将listbox控件添加编辑功能,用起来很简单, win.ui.listEdit( listbox ) 就什么都有了,参考listbox新增的范例代码。 3、在web.form范例的模拟自动化分类中增加了监听事件等范例。 4、time构造函数,在格式化输入的时间文本时,如果提前文本结束,则后续的时间字段将自动置为最小值(例如时分秒设置为0) 5、本版重点改进Unicode(UTF16)编码支持。修正因为UTF16编码与单字节字符的不相容特性导致错乱的问题(这个其实机率很小)。 6、string.load函数在读入文件时,如果遇到UTF16 BOM开始,并且长度为2的倍数的文件,自动添加UTF16标记。 7、新增 string.subUnicode函数,可以非常方便的以字符为单位截取UTF16字符串。 aardio 扩展库 更新 (2018/3/28): --------------------------------------------------------------------------- 1、web.kit 增加aardio中的buffer对象自动转换为JS中Uint8Array的功能,用于交换二进制数据。 2、web.kit 增加time对象在aardio,js之间双向自动转换的功能。 aardio v16.94 更新 (2018/3/26): --------------------------------------------------------------------------- 1、plus控件增加使用图标字体制作复选框、单选框功能。 请参考aardio范例->window窗口应用->plus控件->复选框、单选框 2、plus控件改进 startAnimation() 函数,移除效果较差的旋转字体图标功能, 增加使用 onAnimation 自定义动画的功能,plus控件范例中增加一个自绘动画的例子。 3、plus控件增加startProgress()函数,用于创建进度条动画。 请参考aardio范例->window窗口应用->plus控件->进度条动画 aardio v16.93 更新 (2018/3/24): --------------------------------------------------------------------------- 1、SQL存储过程示例增加使用输出参数演示。 aardio v16.92 更新 (2018/3/24): --------------------------------------------------------------------------- 1、改进Ctrl + J, Ctrl + K 组合键的功能,修正按 Ctrl + J 不流畅、光标显示错误等问题。 aardio v16.91 更新 (2018/3/24): --------------------------------------------------------------------------- 1、web.form文档改进,并改进在设置ua参数时,自动设置addHeaders中的请求ua. aardio v16.90 更新 (2018/3/24): --------------------------------------------------------------------------- 1、修正edit控件getsel函数bug,感谢xuguoyinmax反馈。 aardio v16.89 更新 (2018/3/23): --------------------------------------------------------------------------- 1、修正sys.cpu报错,移除不必要的远程调用 aardio v16.88 更新 (2018/3/23): --------------------------------------------------------------------------- 1、阻止在自身进程创建远程调用,这种用法无意义而且会导致异常。 aardio v16.87 更新 (2018/3/23): --------------------------------------------------------------------------- 1、修正在窗体设计器生成代码前输入时有时候光标会跳到后面的BUG。 2、修正plus控件重命名时弹出错误对话框。 3、改进代码编辑器折叠功能,并增强Ctrl+K组合键一键修复折叠错误的功能。 4、增加ide.command,用于避免出现在IDE环境中process.command提示群组名被占用的问题。 aardio v16.86 更新 (2018/3/23): --------------------------------------------------------------------------- 1、工具->探测器->winspy 改进增强,增加更多探测选项,可显示子窗口树 2、增加轮播FastCGI部署教程的一个工具,可在开始页启动,这个工具的源码也是一个很好的示范,建议仔细看看。 aardio v16.84 更新 (2018/3/20): --------------------------------------------------------------------------- 1、winspy增加显示密码功能 2、edit,richedit控件增加 passwordChar属性,指定为"*"隐藏密码,指定为null正常显示文本 aardio v16.83 更新 (2018/3/19): --------------------------------------------------------------------------- 1、web.socket.client, web.socket.server 改进close函数,避免重复调用。 2、edit,richedit控件增加 lines迭代器,用于遍历所有文本行,并支持自动忽略空行。 aardio v16.82 更新 (2018/3/17): --------------------------------------------------------------------------- 1、改进combobox控件失去焦点取消全选功能。 2、增加一个调用web.form控件显示Three.js(WebGL)页面的范例。 aardio v16.81 更新 (2018/3/17): --------------------------------------------------------------------------- 1、combobox控件在dropdown模式并开启自动布局以后,会“机智”的自动全选文本, 本版针对这个问题进行了修正,自动禁用了这个多此一举的功能。 aardio v16.80 更新 (2018/3/16): --------------------------------------------------------------------------- 1、 服务端 response对象增加 response.preheaders 属性, 用于配置优先输出到客户端的HTTP头。 aardio v16.79 更新 (2018/3/16): --------------------------------------------------------------------------- 1、文本框新增lineSel()函数,用于选取并替换文本框指定行的文本, 注意以前已经有一个selLine属性可以跳转到指定行。 例如选取最后一行,并且替换最后一行的文本,一句代码完成任务: winform.edit.lineSel(-1,"要替换最后一行的文本"); aardio v16.78 更新 (2018/3/16): --------------------------------------------------------------------------- 1、修正下载扩展库时,突然中断网络,扩展库仍然继续安装的问题。感谢 我心飞翔1995 反馈该问题。 aardio v16.77 更新 (2018/3/16): --------------------------------------------------------------------------- 1、修正plus控件启用编辑框、滚动条设置问题,感谢Danboy反馈。 aardio v16.76 更新 (2018/3/13): --------------------------------------------------------------------------- 1、修正plus控件启用编辑框、并启用滚动条时出现双滚动条,以及背景闪烁问题。 2、winex.waitVisible改进不指定控件参数时,进程ID参数无效的问题。 aardio v16.75 更新 (2018/3/13): --------------------------------------------------------------------------- 1、win.ui.tooltip 增加批量设置控件提示的add函数。 aardio v16.74 更新 (2018/3/13): --------------------------------------------------------------------------- 1、增强winspy窗口探测工具,改进tab切换支持,改进排版。 点击窗口样式、扩展样式时显示详细的窗口样式列表。 点击窗口标题、类名时显示查找、操作窗口的演示代码。 支持将鼠标指针对准父窗口句柄,然后按快捷键获取父窗口信息。 aardio 扩展库更新 (2018/3/13): --------------------------------------------------------------------------- web.kit 增加 web.kit.export 用于直接将导出 aardio 对象为JS全局变量 aardio v16.73 更新 (2018/3/12): --------------------------------------------------------------------------- 1、edit控件多行模式添加tab快捷键(系统edit控件在多行模式下,默认不允许tab切换焦点) 其实aardio自定义控件快捷键是非常简单的,translateAccelerator事件中响应按键消息并返回true就可以了。 aardio v16.72 更新 (2018/3/12): --------------------------------------------------------------------------- 1、修正窗体缩放导致个别控件在设计器上出现偏移的问题,感谢 Kylin 反馈该问题。 aardio v16.71 更新 (2018/3/11): --------------------------------------------------------------------------- 1、修正窗体缩放比例设置有时会被重置为默认值的问题 aardio v16.70 更新 (2018/3/11): --------------------------------------------------------------------------- 1、保存最后一次设置的缩放比例为默认设置(支持窗体设计器、代码编辑器),并且在首次启动aardio时根据系统DPI设置相应的默认缩放比例。 2、plus控件设计属性增加“编辑->允许编辑”属性用于启用文本编辑框,并且可以在“编辑”分类下设置编辑框的其他设计参数。 3、文本框控件的“隐藏选区”的值在设计属性中显示为“保持选区”(hidesel取反),edit控件“保持选区”的值默认为true,richedit控件“保持选区”的值默认为false 4、edit,richedit的setsel()函数支持指定一个位置参数移动光标到指定字符后面,但不设置选区。 5、richedit支持tab切换焦点功能。 6、plus控件启用文本编辑框时,支持tab切换焦点功能。 7、修正Ctrl+{组合键没有缩进选中代码。 8、添加显示隐藏标准库按钮。 9、修正123反馈的一处导致关闭未提示保存的BUG。 aardio v16.69 更新 (2018/3/09): --------------------------------------------------------------------------- 1、plus控件创建文本编辑框时,默认关闭保持选定功能。 aardio v16.68 更新 (2018/3/09): --------------------------------------------------------------------------- 1、强大的的plus控件又添新功能, 现在可以用plus控件实现透明美观的文本编辑框了。 请参考: aardio范例->Windows窗口应用->plus控件->文本编辑 只要一句代码: winform.plus.editable = true; 就可以了,而且可以使用editable属性动态控制是否显示编辑框。 可以使用plus控件指定背景、前景图片、边框等效果, 文本框可透明显示。 2、richedit添加 enablePopMenu() 函数, 现在只要一句代码就可以添加右键菜单了。 aardio v16.66 更新 (2018/3/06): --------------------------------------------------------------------------- 1、win.ui.menu 改进,菜单对象,添加selIdex,selId,selText等用于获取、设置单选项的属性,并增加 onMenuItemClick事件用于一次性设置所有菜单项默认回调事件。 示例: var menuRadio = win.ui.popmenu(winform); menuRadio.onMenuItemClick = function(id){ menuRadio.selId = id; winform.msgbox( menuRadio.selText ) } menuRadio.add("a" ) menuRadio.add("b" ) menuRadio.add("c" ) var menu = win.ui.menu(winform); menu.add('选择其中一个',menuRadio) aardio v16.65 更新 (2018/3/06): --------------------------------------------------------------------------- 1、winspy 增加自定义热键功能,默认为Ctrl + F12 aardio v16.64 更新 (2018/3/05): --------------------------------------------------------------------------- 1、listview 增加 selected属性,用于直接获取所有选中项索引数组 aardio v16.63 更新 (2018/3/05): --------------------------------------------------------------------------- 1、添加:工具->控测器->窗口探测器(winspy) aardio v16.62 更新 (2018/2/24): --------------------------------------------------------------------------- 1、改进 inet.ras.dial() 不指定entryName时自动获取连接名 aardio v16.61 更新 (2018/2/24): --------------------------------------------------------------------------- 1、按钮等控件增加 disabledText 属性,此属性指定为文本时禁用控件并显示指定文本, 此属性指定为null值时启用控件并恢复之前的正常文本。 2、指定窗口的onDropFiles回调时,自动设置窗口为接受拖放。 aardio v16.60 更新 (2018/2/24): --------------------------------------------------------------------------- 1、改进spin控件自动吸附edit控件功能, 可在窗体设计器中将spin控件置于edit控件内部、或外部靠左侧或靠右侧, 在调整窗口大小时,spin控件会自动吸附于edit控件对应侧。 aardio v16.59 更新 (2018/2/22): --------------------------------------------------------------------------- 1、改进plus控件边框绘制效果 aardio v16.58 更新 (2018/2/13): --------------------------------------------------------------------------- 1、electron扩展库更新electron组件使用最新版 v1.8.2 aardio v16.57 更新 (2018/2/12): --------------------------------------------------------------------------- 1、edit 控件print函数改由log函数输出文本,支持自动滚动不受文本字数限制。 2、增加 sys.monitor.changeMode函数。 aardio v16.56 更新 (2018/2/12): --------------------------------------------------------------------------- 1、修正 gdi.getRgba() 文档笔误,改进color库函数文档等,感谢 匿名 反馈。 aardio v16.55 更新 (2018/2/11): --------------------------------------------------------------------------- 1、custom控件用于直接加载窗体文件时, 如果忘记在子窗体文件中写 return语句,aardio将自动设置一个返回值。 aardio v16.54 更新 (2018/2/11): --------------------------------------------------------------------------- 1、custom控件用于直接加载窗体文件时,传递更多设计时属性到子窗体 aardio v16.53 更新 (2018/2/11): --------------------------------------------------------------------------- 1、标准库增加 color ,提供了一些颜色转换有关的函数。 aardio v16.52 更新 (2018/2/11): --------------------------------------------------------------------------- 1、wsock.tcp.simpleHttpServer 修正客户端异常断开偶尔报错的问题 aardio v16.51 更新 (2018/2/11): --------------------------------------------------------------------------- 1、plus控件可设置线性渐变颜色 2、plus控件支持在foreground属性中指定半透明的前景色 3、增加一些plus控件范例,位置:aardio范例->Windows窗口应用->plus控件 更多范例请查看plus控件教程。 aardio v16.50 更新 (2018/2/9): --------------------------------------------------------------------------- 1、 web.rest.client 忽略服务端返回的不能识别的charset aardio v16.49 更新 (2018/2/8): --------------------------------------------------------------------------- 1、修正web.socket.jsonServer #18行client返回空导致的问题,感谢A2反馈。 aardio v16.48 更新 (2018/2/7): --------------------------------------------------------------------------- 1、更新帮助文档 aardio v16.47 更新 (2018/2/7): --------------------------------------------------------------------------- 1、 win.ui.simpleWindow 支持禁用最大化、最小化按钮的窗体属性。 这个先要在窗体属性中设置一下,如果不想设置可以直接用 win.ui.simpleWindow2。 aardio v16.46 更新 (2018/2/6): --------------------------------------------------------------------------- 1、增加 win.ui.simpleWindow2 作用跟win.ui.simpleWindow 一样,但不创建最大化按钮,拖动调整大小的边框。 aardio v16.45 更新 (2018/2/6): --------------------------------------------------------------------------- 1、 win.form 增加 beforShowWindow 事件,此事件在窗体隐藏、显示前触发。 2、 custom控件改进管理多窗口的功能,现在显示任意的子窗口,其他子窗口自动隐藏。 简单的说,就是不用再写任何代码,他自己就可以机智的管理子窗口如何显示了。 aardio v16.44 更新 (2018/2/6): --------------------------------------------------------------------------- 1、 win.ui.tabs 改进:支持模板的border属性, 2、 win.ui.tabs 改进:如果没有调用过skin函数自动切换模板中的plus按钮到单选模式。 aardio v16.43 更新 (2018/2/5): --------------------------------------------------------------------------- 1、 修正 listbox selText设置选项的问题,感谢 松江 反馈。 aardio v16.42 更新 (2018/2/5): --------------------------------------------------------------------------- 1、 修正 winform.bindConfig() 在子窗口使用时未自动保存配置的问题,感谢 松江 反馈。 aardio v16.41 更新 (2018/2/3): --------------------------------------------------------------------------- 1、改进 fsys.cookies 传入的cookie缺少name字段时返回空值, 修正 web.kit.form的cookieSet函数,传入fsys.cookies对象时报错, 感谢 testinfo123 反馈该问题。 aardio v16.40 更新 (2018/2/3): --------------------------------------------------------------------------- 1、修正 edit 控件选中一个字符时selText返回null的问题,感谢lacker反馈。 aardio v16.39 更新 (2018/2/2): --------------------------------------------------------------------------- 1、修正 plus控件调用 setFont函数时不支持point属性的问题,感谢松江反馈 aardio v16.38 更新 (2018/2/1): --------------------------------------------------------------------------- 1、 win.ui.tabs模板增加foreRepeat属性,感谢易水寒反馈。 2、 custom控件通过aardio文件加载子窗体时,如果忘记写return winform,custom控件支持自动获取,感谢易水寒反馈。 3、 修正metaProperty一处笔误,感谢 …幽筱\君寒'' 反馈。 aardio v16.37 更新 (2018/2/1): --------------------------------------------------------------------------- 1、 增加一些快捷键, 以下快捷键基本都是将原来就要按的Shift键换为Ctrl键, 利用原本就空闲的组合键快速输入配对的括号等。 为什么不用Shift键自动配对呢? 这是因为改代码,或者是并不是写代码而是在字符串中输入括号,都不需要自动配对。 替换为Ctrl键的好处是可以明确输入目的,又不会增加按键次数。 Ctrl + { 自动输入{}包含的语句块,并添加缩进,光标移动到语句块内部。 如果先选中一段代码,该段代码自动移入语句块内部 Ctrl + ( 自动输入(),光标移动到括号内部。 如果先选中一段代码,该段代码自动移入括号内部 Ctrl + " 自动输入一对引号,光标移动到引号内部。 如果先选中一段文本,该段代码自动移入引号内部,并且文本中的所有双引号自动替换为一对双引号(因为在双引号内用一对双引号表示原来的双引号) Ctrl + ` 自动输入一对反引号,光标移动到反引号内部。 如果先选中一段文本,该段代码自动移入反引号内部,并且文本中的所有反引号自动替换为一对反引号(因为在反引号内用一对反引号表示原来的反引号) Ctrl + * 自动将选中代码移入自动折叠语句块。 感谢 某人 提出的建议 2、修正winform.group函数BUG,感谢ﻬKoK☉L〇反馈 aardio v16.36 更新 (2018/1/30): --------------------------------------------------------------------------- 1、 添加 fsys.appdata 函数,一句代码在appdata目录下建立文件。 2、 改进 sevenZip.cmd 回显功能。 3、 改进 web.kit.form 对 orphanWindow的支持。 aardio v16.35 更新 (2018/1/30): --------------------------------------------------------------------------- 1、 添加了listbox GDI+自绘范例, 范例位置:aardio范例->Windows窗口应用->列表框控件->GDI+自绘。 在扩展库中双击 win.graphics 可下载打开lujjjh写的listbox自绘例子(GDI)。 aardio v16.34 更新 (2018/1/29): --------------------------------------------------------------------------- 1、 jsonrpc服务端、客户端增加 beforeJsonParse,afterJsonStringify触发器,可用于在传输JSON以前加密或解密数据包。 增加该功能的库: web.socket.jsonServer, web.socket.jsonClient, web.rpc.jsonClient, web.rpc.jsonServer aardio v16.33 更新 (2018/1/29): --------------------------------------------------------------------------- 1、 win.fontAwesome, gdip.fontAwesome 共用同一字体文件, web.fontAwesome 不必要再使用,导入 win.fontAwesome 就行了(使用扩展库兼容旧代码) 导入gdip.fontAwesome 就不用再导入 win.fontAwesome 了。 aardio v16.32 更新 (2018/1/29): --------------------------------------------------------------------------- 1、改进窗体设计器添加事件的功能,避免添加不合适的位置,感谢 我心飞翔1995 反馈该问题。 aardio v16.31 更新 (2018/1/29): --------------------------------------------------------------------------- 1、在窗体设计器中双击控件最新增加的事件,改为添加到 winform.show前面,感谢lacker反馈的意见。 aardio v16.30 更新 (2018/1/28): --------------------------------------------------------------------------- 1、改进对多显示器的支持,custom控件全屏时自动选择当前显示器,感谢cad反馈。 aardio v16.29 更新 (2018/1/28): --------------------------------------------------------------------------- 1、ide扩展库增加 ide.gotoLine() 函数用于跳转到指定代码行。 2、ide.getActiveCodeEditor() 取消必须进程内调用的限制。 3、发布生成EXE时,如果当前编辑的代码是工程内的代码文件,不再自动打开main.aardio。 但如果编辑的是外部进程的代码,仍然会自动切换到 main.aardio (避免打开外部工程main.aardio时发生混淆) 4、edit,richedit控件增加selLine属性,用于快速切换当前行。 aardio v16.28 更新 (2018/1/28): --------------------------------------------------------------------------- 1、electron范例增加一个使用eletron嵌入仿真浏览器控件实现模拟自动化、注入JS脚本、控制网页的演示。 其实这些在electron那本来就没几页的文档中就提供了范例的。 py3 扩展库更新 (2018/1/28): --------------------------------------------------------------------------- 1、支持不用额外安装VC2015运行库的前提下,在win7上完美嵌入python3.6 注意,所有python扩展库(最新版)都自带requests模块,不用再去安装。 aardio v16.27 更新 (2018/1/27): --------------------------------------------------------------------------- 1、改进win.form自动缩放功能,改进 winform.enumControl函数按父子顺序枚举窗口, 增加 winform.eachControlEx迭代器用于遍历匿名窗口。 因为 winform.enumControl是按父子顺序枚举, 所以在枚举过程中调用 win.setParent()函数改变父窗口会导致顺序混乱。 这时候应当使用 winform.eachControlEx迭代器替代。 2、窗口不再自动调用 winform.group()函数,因为部分软件只是拿groupbox做背景,并不需要这个功能。 如果有需要的,请手动调用一下。 3、修正 田雨春楊 反馈的涉及groupbox的bug,修正内容看上面。 aardio v16.26 更新 (2018/1/27): --------------------------------------------------------------------------- 1、修正设置控件或窗口背景图像导致异常的一处BUG,感谢 无涯 反馈该问题。 aardio v16.25 更新 (2018/1/26): --------------------------------------------------------------------------- 1、checklist改为report模式实现,修正list模式字体放大后复选框不居中问题。 感谢 寻-浔-荨& 反馈,感谢 xauto 提供的方法。 aardio v16.24 更新/Python扩展库更新 (2018/1/26): --------------------------------------------------------------------------- 1、修正 static放入groupbox以后,自动设置groupbox作为父窗口, 但是修改文本出现重影的问题。感谢 田雨春楊。 2、修正 python3.6扩展库运行报错。 aardio v16.23 更新/Python扩展库更新 (2018/1/26): --------------------------------------------------------------------------- 本版aardio更新仅添加标准库显示python3.6的版本号的功能,并未更新其他功能。 新增python3.6扩展库,修正py2,py扩展库上一版本运行部分python代码出错。 目前提供的python扩展库版本如下: 1) py3扩展库,基于最新python3.6,不支持Win10以下操作系统。 2) py扩展库,基于最新python3.4,支持XP操作系统 3) py2扩展库,基于最新python2.7,支持XP操作系统 如何更新扩展库:点击aardio工具->扩展库->安装更新 aardio v16.22 更新(2018/1/25): --------------------------------------------------------------------------- 1、 util.metaProperty 支持用 __get,__set 替代 get,set 实现属性读写器。 这个改进是为了解决 python中调用 requests中 get函数的问题。 aardio v16.21 更新(2018/1/25): --------------------------------------------------------------------------- 1、 win.ui.tabs 增加 each 函数 aardio v16.20 更新(2018/1/25): --------------------------------------------------------------------------- 1、 fsys.cookies 增加 push函数 aardio v16.19 更新(2018/1/24): --------------------------------------------------------------------------- 1、修正static等控件放到groupbox里以后设置的颜色失效,感谢寻-浔-荨&,天天快乐 等反馈该问题。 aardio v16.18 更新(2018/1/24): --------------------------------------------------------------------------- 1、控件,窗体等增加group函数, 控件的group函数可以一句代码添加所有范围内的其他控件作为自己的子窗口。 而窗体的group函数可以一句代码调用所有groupbox控件的group函数。 另外,窗体会自动调用group函数, 所以,大家什么也不用干,所有事自动做好。 带来的好处: a、单选框放到groupbox内,就可以自动分组,不用去看坑人的Z序排列。 b、一组控件添加到groupbox以后,就可以通过控制groupbox控件,方便的控制一组控件隐藏或显示。 当然,例如custom控件加载子窗口的功能也可以实现类似的效果。 2、修正文档、模式匹配工具模板,fsys.mime笔误等,感谢123,xauto,匿名 等反馈。 aardio v16.17 更新(2018/1/24): --------------------------------------------------------------------------- 1、修正控件属性中颜色值不能以文本方式编辑、粘贴颜色值的问题,感谢 天天快乐反馈。 aardio v16.16 更新(2018/1/23): --------------------------------------------------------------------------- 1、高级界面范例工程,mainForm 去掉 var定义为全局变量,感谢 洋洋,xauto反馈。 aardio v16.15 更新(2018/1/22): --------------------------------------------------------------------------- 1、win.ui.tabs 增加 create函数,简化需要动态创建子窗口的代码 aardio v16.14 更新(2018/1/22): --------------------------------------------------------------------------- 1、 改进DPI缩放效果 aardio v16.13 更新(2018/1/22): --------------------------------------------------------------------------- 1、 plus控件一些小细节改进,默认设置禁止换行,超出显示范围显示省略号等。 因为我们用plus控件一般是做按钮,大多时候自动换行是不太美观的。可通过stringFormatFlags,trimming的等属性自定义这些选项。 aardio v16.12 更新(2018/1/21): --------------------------------------------------------------------------- 1、修正新版custom控件无法修改自定义类名,感谢 carl 反馈。 2、修正web.json.parser参数类型错误未显示错误信息,感谢 cad 反馈。 aardio v16.11 更新(2018/1/21): --------------------------------------------------------------------------- 1、窗体设计器改进,属性面板新增“位置”分类,与控件位置、缩放布局有关的属性归入此分类。 因为这个属性使用比较多,默认放到前面。 控件的“固定边距”属性增加保持“百分比”选项, 当选择“百分比”保持边距,在窗体上调整控件时,aardio会自动记录边距的当前百分比。 如果结合新版custom控件可以更方便的载入子窗口的功能, 我们只要点几下鼠标,就可以轻松的对窗体按百分比划分空间。 并且可以用子窗口进一步的再次分割空间,并且非常自由的控制各个控件的自动缩放。 当然新版还提供marinLeft......这些更加灵活的动态创建控件的参数, 可参考新版范例:Windows窗口应用->动态创建控件 2、工程文件的右键菜单中增加“复制路径”“复制绝对路径”功能。 我们在编码时,经常需要引用工程中的文件,使用这个功能可以方便的获取路径参数。 注意:在aardio中文件路径多以斜杠、或反斜杠开始表示相对工程根目录的路径, 而“复制路径”复制的就是这种格式的路径。 3、修正一处导致跳转到定义导致卡死的BUG,感谢“一呆宗师”反馈 aardio v16.10 更新(2018/1/20): --------------------------------------------------------------------------- 1、htmlayout改进支持custom自定义控件,感谢cad反馈。 aardio v16.09 更新(2018/1/20): --------------------------------------------------------------------------- 1、改进按百分比划分边距的功能,可以更方便的实现更灵活的控件布局, aardio v16.08 更新(2018/1/19): --------------------------------------------------------------------------- 1、win.ui.grid 添加 import win.ui.ctrl.edit 感谢 vikon反馈 2、win.ui.tabs 修改关闭按钮创建参数,感谢 yachao反馈。 aardio v16.07 更新(2018/1/19): --------------------------------------------------------------------------- 1、win.ui.tabs 修正切换选项卡偶尔不显示子窗口,感谢 daheian反馈 aardio v16.06 更新(2018/1/18): --------------------------------------------------------------------------- 1、 winform.fullscreen() 改进在多屏显示时自动选择最靠近屏幕,感谢cad反馈。 aardio v16.05 更新(2018/1/18): --------------------------------------------------------------------------- 1、orphanWindow 功能改进,修正透明flash出现残影的问题,感谢tanqinghong反馈该问题。 aardio v16.04 更新(2018/1/17): --------------------------------------------------------------------------- 1、修正 win.ui.simpleWindow,plus控件 反复调用skin函数修改样式时不生效的问题,感谢幻月反馈该问题。 aardio v16.03 更新(2018/1/17): --------------------------------------------------------------------------- 1、 custom控件的类名属性 - 可以直接指定一个用于加载子窗体的aardio文件路径。 使用这个功能,我们可以方便的把一个窗体放到另一个窗体上作为控件窗口。 在custom的属性面板的“类名”属性中增加“浏览文件”按钮。 如果custom控件的类名是一个aardio文件,那么在窗体设计器中双击custom控件 会自动打开指定的aardio文件。 custom控件以前就可以使用 loadForm() 函数加载子窗口, 并且可以加载多个窗口,并且可以实现类似选项卡的效果(例如win.ui.tabs就用到了custom控件) 但是,如果我们只是想最简单的加载一个子窗口, 使用 custom的loadForm函数就不合算了,因为这多创建了一个窗口,而且要多写几句代码。 新功能可以简化这些操作。 aardio v16.02 更新(2018/1/16): --------------------------------------------------------------------------- 1、修正win.ui.tabs可能导致进程无法退出的问题,感谢 Cui 反馈。 aardio v16.01 更新(2018/1/15): --------------------------------------------------------------------------- 1、修正部分系统向导窗口字体问题 aardio v16.0 发布(2018/1/15): --------------------------------------------------------------------------- 为迎接所有新学员,特昼夜兼程,终于赶在开课之前终推出aardio最新版本。 1、全新的工程向导 2、正式推出强大的高级选项卡( win.ui.tabs ),这可不仅仅是一个选项卡,部分范例参考帖子:http://bbs.aardio.com/forum.php?mod=viewthread&tid=22149 3、大幅改进 plus控件,增强对自定义边框的支持,目前可以在窗口设计器中设置plus的边框,支持单独设置各方向的边框,支持自定义颜色,支持圆角边框,支持圆角裁剪背景。在代码中调用skin函数更可设定不同操作状态下的边框样式(可以同时方便的设置前景背景贴图) 4、工程向导增加“高级界面”,高级控件是以plus控件、win.ui.tabs等基于plus控件的界面组件编写的界面,灵活简洁,简单拖放就可以做出简洁、漂亮的界面,可以大幅提升软件开发效率。 5、增加“electron”工程向导。 6、窗体设计器右键菜单增加:“自动九宫格缩放布局”, 一键调整界面上所有控件到最佳布局效果,原理请参考文章: https://mp.weixin.qq.com/s/W-1un6Q1n6r4ifOMgdcZxQ 7、修复已知BUG. aardio v15.76 更新(2018/1/13): --------------------------------------------------------------------------- 1、 修正 string.xml 属性名未检测连字符的BUG aardio v15.75 更新(2018/1/13): --------------------------------------------------------------------------- 1、 win.ui.tabs 修正笔误,感谢…幽筱\君寒反馈 aardio v15.74 更新(2018/1/13): --------------------------------------------------------------------------- 1、 win.ui.tabs 一些小细节的改进, 修正窗口拖到不能显示选项卡抛异常的问题,改进点击下拉按钮等不获取焦点 感谢…幽筱\君寒反馈的意见。 2、plus控件改进对border属性类型的判断,感谢松江反馈。 aardio v15.73 更新(2018/1/13): --------------------------------------------------------------------------- 1、 win.ui.tabs 一些小细节的改进,禁止选项卡得到焦点, 在选项卡数目超出显示范围需要自动折叠时,总是显示当前选中选项卡. 感谢…幽筱\君寒反馈的意见。 aardio v15.72 更新(2018/1/12): --------------------------------------------------------------------------- 1、 改进 win.ui.simpleWindow 支持更多自定义参数 aardio v15.71 更新(2018/1/12): --------------------------------------------------------------------------- 1、修正关闭按钮出现时窗口会闪一下(抢焦点) aardio v15.70 更新(2018/1/12): --------------------------------------------------------------------------- 1、增加自动移除窗体边框 范例已更新,增加调用选项卡打开网页的示例,感谢podes增加示例 aardio v15.69 更新(2018/1/12): --------------------------------------------------------------------------- 1、win.ui.tabs 改进窗口加载相关函数, 感谢…幽筱\君寒反馈选项卡超出显示范围自动折叠后,出现窗口与选项卡不对应BUG aardio v15.68 更新(2018/1/12): --------------------------------------------------------------------------- 1、plus控件支持在样式中配置边框,圆角等 演示代码请点这里查看 aardio v15.67 更新(2018/1/12): --------------------------------------------------------------------------- 1、标准库增加高级选项卡控件( win.ui.tabs ) 这是基于plus控件开发的增强版选项卡,这可不仅仅是一个选项卡, 这个库的代码量接近plus控件的代码量,也跟plus控件一样不但使用简单,而且功能强大。 1、可以非常快的开发出变化丰富的导航条效果。 2、按钮使用plus控件,所以可以做的非常漂亮。 3、自动识别设计器中模板控件的设置,自动判断是水平还是垂直选项卡 4、自动搜索附近的custom控件,如果找到,自动管理多窗口的切换显示。 5、在按钮数目太多超出显示范围时,可自动生成下拉菜单。 6、支持在选项卡上自动生成悬浮的关闭按钮,可以非常方便的动态添加、删除节点。 ...... 库函数文档已经写好,范例和教程后面再补上 aardio v15.66 更新(2018/1/10): --------------------------------------------------------------------------- 1、改进plus控件自绘接口,参考新版 onDrawBackground,onDrawContent文档 aardio v15.65 更新(2018/1/10): --------------------------------------------------------------------------- 1、修正新版固定底边距报错 aardio v15.64 更新(2018/1/10): --------------------------------------------------------------------------- 1、强力改进 winform.add / addCtrl 函数, 注意所有控件对象都有 addCtrl 函数,用法与 winform.add完全一样。 但是控件的 addCtrl 函数可以将其他控件添加为自己的子窗口。 现在可以非常方便的在创建控件时通过 marginLeft,marginRight,marginTop,marginBottom指定外边距, 这几个参数非常有趣的地方在于他除了可以使用普通的数值指定边距以外, 也可以使用一个0到1之间的小数指明如何划分剩余可用空间的百分比作为边距。 例如,当我们把 marginTop 设为 0.5 ,这个控件就可以在运行时在父窗口中垂直居中了。 简单灵活,是不是有点感觉找到了写CSS的一些感觉呢?! 另外,还可以直接在创建控件的参数中通过width指定宽度,height指定高度。 本版同时新增范例详细讲了 winform.add / addCtrl 函数的用法。 因为这几个函数一直是通过窗口设计器来用的,所以文档基本没有写到。 范例位置:aardio范例->Windows窗口应用->动态添加控件 2、修正access,sqlServer一处BUG,感谢晨阳反馈 aardio v15.63 更新(2018/1/10): --------------------------------------------------------------------------- 1、修正access,sqlServer新增的getRows函数BUG,感谢republican反馈。 aardio v15.62 更新(2018/1/9): --------------------------------------------------------------------------- 1、修正新版有时候不提示版本更新,感谢xauto反馈 aardio v15.61 更新(2018/1/9): --------------------------------------------------------------------------- 1、增加一个懒人库 win.ui.simpleWindow, 用于实现无边框窗口时,用一句代码就可以快速添加标题栏按钮、阴影、拖动边框等等。 aardio v15.60 更新(2018/1/9): --------------------------------------------------------------------------- 1、改进 electron.runtime 支持发布时打包asar文件、自动复制electron运行库。 aardio v15.58 更新(2018/1/9): --------------------------------------------------------------------------- 1、win.ui.grid 改为鼠标双击开始编辑,增加 readonlyColums 属性可用于设置只读列,感谢 KING 反馈的意见和部分代码。。 2、 web.socket.jsonServer 增加 hActiveSocket 属性可用于在服务端RPC回调函数中获取活动套接字句柄。 aardio v15.57 更新(2018/1/8): --------------------------------------------------------------------------- 1、改进aardio启动速度 2、工具栏的“扩展”选项卡改为“插件”,避免眼花看成“扩展库”,扩展库在右边。 aardio v15.56 更新(2018/1/6): --------------------------------------------------------------------------- 1、去掉开始页阻塞线程的一句win.invoke,换成线程异步回调。 2、优化win.peekPumpInputMessage()函数,快了那么一丁点,积少成多。 aardio v15.54 更新(2018/1/5): --------------------------------------------------------------------------- 1、修正inet.http导致报参数错误的BUG一处,感谢库拉反馈并协助测试一晚上。 aardio v15.53 更新(2018/1/5): --------------------------------------------------------------------------- 1、增加 wsock.udp.asynClient 异步UDP客户端 2、增加 UDP/SSDP 局域网发现设备示例 import win.ui; /*DSG{{*/ var winform = win.form(text="SSDP客户端 - 发现局域网设备";right=1044;bottom=715) winform.add( btnDiscover={cls="button";text="发现局域网设备";left=789;top=645;right=979;bottom=698;db=1;dr=1;z=2}; edit={cls="edit";left=15;top=23;right=1021;bottom=625;db=1;dl=1;dr=1;dt=1;edge=1;multiline=1;vscroll=1;z=1} ) /*}}*/ import web.json; import wsock.udp.ssdpClient; var ssdpClient = wsock.udp.ssdpClient(); //异步响应局域网设备应答的数据报文 ssdpClient.onDeviceDiscovered = function(result){ winform.edit.print(result) } //发起SSDP查询 winform.btnDiscover.oncommand = function(id,event){ ssdpClient.discover(); } winform.show() win.loopMessage(); aardio v15.52 更新(2018/1/4): --------------------------------------------------------------------------- 1、thread.table添加shift,unshift,append等函数 2、修正inet.httpFile一处BUG aardio v15.51 更新(2018/1/4): --------------------------------------------------------------------------- 1、网站开发增加session功能,标准库中各个HTTP服务端实现已同步支持。 可以实现自定义的session实现,只要在sessionHandler名字空间下添加库并导入就可以了, aardio已经默认提供了sessionHandler.default (使用文件存储session)。 session的使用非常简单,不需要像其他语言那样要搞一堆函数, 直接用 session["键名"] 就可以存取session键值了。 只要使用了 session,session功能就会自动启动。 如果不使用,session功能就会保持关闭状态,一切全自动, 不用多写一句代码。 --------------------------------------------------------------------------- session 的使用非常简单, 直接用 session["键名"] 就可以存储键值了。 如果页面代码中使用session,那么session功能就会自动启动, 调用 session.start() 不是必须的。 可选调用 session.start() 函数来启动session, 这个函数的参数可以指定一个过期时间,以秒为单位, 默认为1800秒,注意过期时间将应用于当前网站下的所有session。 可选在 sessionHandler 名字空间下创建自定义的session加载器, 只要该加载器导入网站应用,服务端会优先使用自定义的加载器。 if(! session["count"] ){ response.write("欢迎首次访问"); session["count"]=1; } else { session["count"]= session["count"] + 1; response.write("本次会话访问本站次数:",session["count"]); } --------------------------------------------------------------------------- 这里补充一下,为什么我用web.json存储session,而不是直接序列化table对象, table对象的语法比较复杂,在还原时要用到eval,而eval可以执行任何代码,所以这种用户可能从客户端提交数据的地方, 调用eval是不太安全的。最后改用了更简单的JSON,因为JSON基于纯文本解析所以没有这个问题, 原来json中有一处调用eval的非标准扩展,已经在本版被移除了。 所以大家要注意,虽然table序列化方便,但不要在客户端服务端传来传去的, 本机桌面软件当然没有问题,别人要捣乱,不如直接格式化他自己的硬盘更快点。 aardio v15.50 更新(2018/1/3): --------------------------------------------------------------------------- 1、优化WebSocket事件触发机制 aardio v15.49 更新(2018/1/3): --------------------------------------------------------------------------- 1、electron运行库改了国内CDN(感谢大淘宝),试了下可以闪电下载, 2、改进 inet.httpFile,修正某些网址不能下载,服务器未提供文件名时下载失败的问题。 aardio v15.47 更新(2018/1/3): --------------------------------------------------------------------------- 1、修正几处笔误,感谢艾克反馈 aardio v15.46 更新(2018/1/3): --------------------------------------------------------------------------- 1、添加 win.setTimeout() 函数用于异步延迟执行函数。 适合一些内部没有窗口的对象,但又需要调用setTimeout时使用。 2、 web.socket.jsonClient 在服务端断开以后发送出错, 不再抛出异常,而是改为触发 onError,end 等错误回调函数。 aardio v15.45 更新(2018/1/2): --------------------------------------------------------------------------- 1、修正com.DumpTypeInfo错误,感谢松江反馈 aardio v15.44 更新(2018/1/2): --------------------------------------------------------------------------- 1、修正FastCGI网站卡住的问题,感谢 133720331 反馈 2、修正sqlServer报错,感谢 晨阳 反馈 aardio v15.42 更新(2018/1/2): --------------------------------------------------------------------------- 1、2018新年第一次给力更新,aardio标准库增加了web.nativeMessaging, 用于写Chrome本地应用扩展,几句代码就可以写一个本地应用了,不用带巨大的运行库, 虽然chrome的协议是基于阻塞读写的管道实现,但在aardio中使用强大的多线程封装为了异步消息模式, 类似WebSocket,虽然底层以多线程实现,但调用时只要用最简单的单线程异步的事件模式写代码就可以了, 稍后我会发教程,简单例子: 教程:http://bbs.aardio.com/forum.php?mod=viewthread&tid=22108 //创建本地应用消息主机 import web.nativeMessaging; var host = web.nativeMessaging(); //客户端已连交接 host.onOpen = function(extension,parentWindow){ winform.edit.print("客户端已连接:",extension) //不能使用 win.setParent(),chrome会崩溃掉 win.setOwner(winform.hwnd,parentWindow); } //客户端已关闭 host.onClose = function(){ winform.edit.print("客户端已断开,即将退出") win.quitMessage();//必须及时退出 } //客户端发了JSON对象过来 host.onMessage = function(data){ winform.edit.print("收到数据",data); host.send("这是来自aardio的数据"); } //遇到错误了 host.onError = function(err){ winform.edit.print(err); } //运行消息主机 host.run(); } 2、改进_ARGV自动解析参数为键值对的功能,如果参数有多个前导符则去除多个前导符,支持自动拆解使用等号分隔的键值对 3、io.open打开的文件流对象增加mode函数,可以修改文本的二进制或文本模式,并可以获取文件正在使用的模式。另外增加 type() 函数用于获取文件对象的类型(例如控制台,管道,本地文件....等等) aardio v15.41 更新(2017/12/31): --------------------------------------------------------------------------- 1、win.ui.grid 增加按空格进入编辑状态,按ESC撤消等等....参考文档 aardio v15.40 更新(2017/12/31): --------------------------------------------------------------------------- 1、raw.buffer 支持传入参数为 { type="Buffer";data ={1;2;3;} } 格式的对象,并还原为buffer对象。aardio中的buffer对象以及node.js中的Buffer对象转换为JSON时都使用该格式。 2、其他一些细节上的代码优化 aardio v15.39 更新(2017/12/31): --------------------------------------------------------------------------- 1、listview控件增加 setTable() 函数,可用于将sqlite,access,sqlSever等数据库对象的 getTalbe()函数取出来结果直接显示在listview控件上。 2、增加 win.ui.grid 用于为listview增加编辑功能, 现在写一个简单的显示、编辑数据控件只要几句代码了。 3、access,sqlServer增加getRows函数,优化getTable函数,感谢 republican 提出的改进意见 import win.ui; /*DSG{{*/ var winform = win.form(text="简单数表表视图";right=1031;bottom=712) winform.add( edit={cls="edit";left=25;top=584;right=997;bottom=693;edge=1;multiline=1;z=2}; listview={cls="listview";left=24;top=27;right=996;bottom=555;edge=1;z=1} ) /*}}*/ import sqlite var sqlConnection = sqlite("/testParameters.db"); sqlConnection.exec( "CREATE TABLE IF NOT EXISTS @tablename(id INTEGER PRIMARY KEY, date, title);",{ tablename = "myTableName" } ) var cmd = sqlConnection.prepare("INSERT INTO myTableName VALUES (NULL,@date,@title);" ); for(i=1;10;1){ cmd.step( date = time().addday( math.random(1,30)); title = string.random(15); ) } import win.ui.grid; var grid = win.ui.grid(winform.listview); var dataTable = sqlConnection.getTable("SELECT * FROM [myTableName] "); ////直接让liswview控件显示数据库的查询结果 grid.setTable( dataTable ) //编辑变更值会触发下面的事件 grid.onEditChanged = function(text,iItem,iSubItem){ var name = dataTable.fields[iSubItem] winform.edit.print(dataTable[iItem][name],"-->",text); dataTable[iItem][name] = text; } winform.show() win.loopMessage(); aardio v15.38 更新(2017/12/30): --------------------------------------------------------------------------- 1、增加sqlite.backup import sqlite; import console var db = sqlite(":memory:"); db.exec("CREATE TABLE user( id INTEGER PRIMARY KEY )"); for(i=1;10) db.exec("INSERT INTO user VALUES (NULL)" ) // 备份内存数据库 import sqlite.backup; var backup = sqlite.backup(db,"\backup.data") backup.step(); // 查看备份结果 var dbTest = sqlite("\backup.data") console.dumpJson( dbTest.getTable("SELECT * from [user]") ) console.pause(); aardio v15.36 更新(2017/12/30): --------------------------------------------------------------------------- 1、修正 wsock.tcp.client 对象新增的 readAlloc() 一处可能导致程序崩溃的BUG, 这个BUG会影响到较多的其他库,建议尽快升级 aardio v15.35 更新(2017/12/30): --------------------------------------------------------------------------- 1、因为ini是基本被淘汰的格式,在aardio中用的很少, 确实我对这个没有对 json这些文件格式那么重视,库函数说明写的比较简单。 刚才我已经补充了一下fsys.ini的文档。 当然类似这种库本身就没几句代码,大家可以看一下库函数的源码都可以一目了然了, 有时候看文档反而不如直接看源码。 2、关于fsys.ini的函数失败返回null,之前我为什么没写, 在aardio中有返回值的库函数失败基本都返回null,大多数我都写了,但少数的可能没写, 毕竟库函数那么多,千万遍的重复相同的一句话也没意义。 在aardio语句手册->函数返回值 这一节我再加了一大段重点讲了一下关于这方面的问题。 aardio v15.34 更新(2017/12/30): --------------------------------------------------------------------------- 1、修正嵌入多个electron窗口的范例,在关闭窗口时electron进程不退出的问题,感谢xauto反馈。 electron不像aardio那样关闭所有窗口,并且没有代码再执行了以后会自动退出,你希望electron退出, 必须明确加上退出进程的代码,不然他就会一直在那里运行。所以请注意:electron主进程必须添加以下代码: //在所有窗口关闭时退出electron进程 app.on('window-all-closed', () => app.quit() ); aardio v15.33 更新(2017/12/30): --------------------------------------------------------------------------- 1、 添加 winform.onDropFiles回调用于支持文件拖放, 不用去写 _WM_DROPFILES 回调,也不用再调用 win.getDropFile(wParam)了 示例: import win.ui; /*DSG{{*/ var winform = win.form(text="请拖放一个或多个文件到窗口上";right=759;bottom=469) winform.add( edit={cls="edit";left=69;top=34;right=693;bottom=377;edge=1;multiline=1;z=1} ) /*}}*/ /* 可以在窗口属性中设置接受拖放, 也可以用DragAcceptFiles动态控制是否接受拖放 */ ::Shell32.DragAcceptFiles(winform.hwnd,true); //拖放会触发onDropFiles事件,files已经是处理好的文件路径数组了 winform.onDropFiles = function(files){ winform.edit.print(files) } winform.show() win.loopMessage() aardio v15.32 更新(2017/12/29): --------------------------------------------------------------------------- electron支持库重新换了个方法实现,用远进程API钩子的方法有些粗鲁了, 因为现在aardio与electron主进程可以更方便的交互,而electron提供了一个函数 win.getNativeWindowHandle().readInt32LE() 可以取到他的窗口句柄,所以改进了不再用API钩子。 而且elecron是多进程交互,多进程的交互需要方便的了解双方的状态, 例如RPC通道是否打通连接,窗口是否显示创建等等。我们必须改成按JS异步回调的思路来处理这些问题。 目前嵌入electron的功能已大幅简化,main.js最短只要几句代码就可以了。 在electron中可以用 aardio.on("ready") 来保证 A/E 双方都已经准备就绪。 而在aardio中可以用 app.onReady() 回调来保证 A/E 双方都已经准备就绪。 electron范例已经更新。 范例位置:aardio代码段 -> 范例程序 -> electron 本来下午就写好了,但是遇到了一个诡异的BUG,一切代码都正常,但很多代码都不执行了, 诡异的是,我随便找个地方加了一句 win.delay(100)就正常了,我满头大汗的找了三四个小时, 最后发现,原来是调试代码里试用electron调用winapi,然后弹了个MessageBox,因为electron取窗口句柄麻烦, 所以就没有设置父窗口,然后这个MessageBox藏到主窗口后面了,所以 electron停在那里了....... 不是简单的问题,就不需要工作量 aardio v15.31 更新(2017/12/29): --------------------------------------------------------------------------- 1、修正zlib.unzip报错,感谢xauto反馈 aardio v15.30 更新(2017/12/28): --------------------------------------------------------------------------- 1、增加asar文件解析器 electron用到一种asar的打包文件格式, 压缩工具都不支持这个,只能在node.js的命令行里搞,虽然我用node.js写了个工具, 不能直接查看文件列表,不能编辑,打包解包连个进度条都没有,闷声不响的....... 虽然码命令行能让人找到某种神圣的自豪感,但我还是受不了了,决定自己写一个。 标准库增加: fsys.asar.reader 用于解包 fsys.asar.writer 用于打包生成asar文件。 范例增加: aardio范例->文件操作->asar->打包解包工具 代码可以拿去当教程看看不错的。 2、文件流读写指针全部改用64位指针,size函数不再需要指定参数。 获取格式化的文件大小,请使用 size64函数。 3、json支持unint64位长整数(非标准不规范的写法,JS是支持不了的) 4、buffer在不指定初始值时,仍然初始化内存,不然有时候会带来一些诡异的问题。 5、其他一些代码细节上的优化改进,不一一列举。 aardio v15.29 更新(2017/12/26): --------------------------------------------------------------------------- 1、WebSocket的readyState属性增加到所有套接字对象, 所有套接字对象增加 isConnected()用于判断是否连接并准备就绪, 增加 isClosed()函数用于判断套接字是否关闭. 整理优化一些代码细节,改进部分文档、范例。 aardio v15.28 更新(2017/12/26): --------------------------------------------------------------------------- 1、改进WebSocket服务端对客户端群发消息时,自动忽略不在连接状态的客户端 aardio v15.27 更新(2017/12/26): --------------------------------------------------------------------------- 1、gdip.graphics增加drawArc函数,并修正BUG,感谢popdes aardio v15.26 更新(2017/12/26): --------------------------------------------------------------------------- 1、electron又一波强劲的更新杀来了, electron主进程也可以与aardio方便的互调函数了,写法跟渲染进程的用法一模一样。 再也不用担心主进程、渲染进程搞不清楚,交互吃力了。 请查看新增范例:aardio范例->electron->主进程交互 不用多写一句代码,不用自己安装模块,所以事情,由aardio帮你一键搞定。 nodeJs扩展库更新 更新(2017/12/26): --------------------------------------------------------------------------- 1、nodeJs扩展库改进代码,改进库函数说明文档, 执行命令支持传统命令行参数格式(使用一个字符串,空格分格式个参数), 也可 以使用原来的多函数参数格式(推荐,可以更好的自动处理转义), 增加通过nodeJs.workDir设计node.js工作目录的属性。 aardio v15.25 更新(2017/12/26): --------------------------------------------------------------------------- 1、改进 console.log() 输出数据长度超出控制台内存限制时改用 io.print输出。 aardio v15.24 更新(2017/12/26): --------------------------------------------------------------------------- 1、 web.socket.chrome 已改进增强, electron,chrome连接远程调试接口都使用这个对象实现。 chrome远程调试的范例也已经更新,并移动到新位置:aardio范例->Web应用->WebSocket->chrome 2、 electron强劲更新, 现在打开一个网址只要一句代码: app.start("http://bbs.aardio.com") 启用远程调试接口,也只要一句代码:app.remoteDebuggingPort = 0 aardio范例里增加了electron分类,增加了更多electron范例。 现在可以非常方便的支持Chrome的WebSocket远程调试协议。 这比调用chrome还要方便,chrome的调试接口是全系统只能有一个端口开放调试。 但我们使用electron,每个进程都可以有自己私有的远程调试接口,aardio会自动为 每个进程分配不会冲突的空闲端口,并且我们只要调用一句代码就可以连接到electron并且控制他了: var ws = web.socket.chrome(); ws.waitForConnected() 上面的 ws.waitForConnected() 会等待electron打开调试接口, 即使 electron是随机分配的端口,该函数仍然能自动找到端口号,并且 自动检测electron开启的websocket服务地址,然后自动连接到指定id的页面。 这本来是好几十句代码的事,在aardio里只要一句!只要一句了! 3、所有WebSocket客户端增加waitForConnected()函数,可阻塞等待连接成功。 当然也可以在onOpen事件中异步等待连接成功。 4、增加table.keys() 可用于获取对象的自定义键名,支持 _keys,_defined等元方法,web.json使用该函数确定键名列表 5、改进table.eachName() 函数调用 table.keys() 获取字符串键名列表。 web.json使用该函数获取对象成员。 6、改进table.len() 函数,支持自动识别对象的length属性,支持 _length元方法。 web.json使用该函数确定数组长度。 7、增加 table.eachIndex() 迭代器用于遍历数组成员,此函数调用 table.len, 支持相关元方法。并支持在元属性中使用_startIndex自定义下标的对象 8、增加 table.type() 函数,用于获取表对象是aaray还是object。 web.json使用该函数确定对象的类型。 9、增加 web.json.strip() 函数,用于将一个对象转为JSON再转回来,可以用于web.kit里快速的将一个JS对象完全转换为普通的aardio对象。 10、web.kit扩展库改进(跟上面几个有关) web.kit扩展库已改进,web.kit的JS对象可使用 table.eachName 遍历。 而 web.kit的数组可使用 tahble.eachIndex 遍历所有成员,非常方便。 也可以调用 web.json.strip(js对象),将webkit返回的JS对象直接转换为普通的aardio对象。 import win.ui; /*DSG{{*/ var winform = win.form(text="webkit - aardio操作js对象";right=1123;bottom=570) winform.add( edit={cls="edit";left=898;top=26;right=1363;bottom=539;db=1;dr=1;dt=1;edge=1;multiline=1;vscroll=1;z=1} ) /*}}*/ import web.kit.form; var wb = web.kit.form(winform); //使用external接口定义网页脚本可调用的本地函数 wb.external = { aardioCall = function(object){ winform.edit.print("-----------------遍历JS对象的所有成员-----------------------"); for name,value in table.eachName(object){ winform.edit.print("对象",name,value); } winform.edit.print("-----------------遍历JS数组的所有成员-----------------------"); for i,v in table.eachIndex(object.array){ winform.edit.print("数组",i,v); } winform.edit.print("-----------------直接转换为普通的对象-----------------------"); var obj = web.json.strip(object); winform.edit.print(obj); }; } wb.html = /** <a href='javascript: external.aardioCall({ url:"服务端URL", param:{a:1,b:2,c:3}, array:[11,12,13,14,15] }); '>调用aardio函数external.aardioCall()操作JS对象、数组</a> **/ winform.edit.orphanWindow(); winform.show() win.loopMessage(); aardio v15.22 更新(2017/12/25): --------------------------------------------------------------------------- 1、修正WebSocket客户端数据量大时出现接收不完整的问题,感谢5e365反馈 2、修上access,sqlServer返回空记录集报错,感谢 yc51反馈 3、access,sqlServer增加stepQuery函数,用于快速返回结果记录集的第一行数据 aardio v15.21 更新(2017/12/24): --------------------------------------------------------------------------- 1、edit,richedit控件做了一个小改进(但很有用), print函数支持序列化对象,如果当前导入了web.json,则自动使用json字符串化(并添加缩进、美化输出效果) 这个功能可以方便我们使用对话框输出变量值,因为JSON我们使用的频率非常高, 使用了任何基于JSON的模块,例如JSON RPC这些,文本框就自动支持直接以JSON显示对象的值了。 edit控件并不会自动导入web.json, 在写库的时候,我会尽量会减少模块之间不必要的依赖。 这样的好处是可以写出体积更小的程序(虽然aardio的模块已经都很小了,但还可以更小), 其次是避免程序的代码错缩复杂,相互纠缠,大家写代码的时候,尽量也保持这个习惯会更好。 aardio v15.20 更新(2017/12/24): --------------------------------------------------------------------------- 1、改进 electron支持库,修正启动时偶尔出现的崩溃问题。 再次改进 electron启动闪烁的问题,更丝滑,更流畅! 注意:在太低配置机器上,electron启动会稍慢,启动偶尔会出现黑屏,但启动后还是可以的 aardio v15.18 更新(2017/12/24): --------------------------------------------------------------------------- 1、改进 web.json, time,buffer类型字符串化的结果与node.js生成一样的格式。 这些是JSON标准没有规定的对象,而JSON用得最多的就是JS,所以与JS保持一致。 aardio v15.17 更新(2017/12/24): --------------------------------------------------------------------------- 1、 electron 范例再改进, 范例位置:aardio范例->Web应用->electron 增加拖动边框、窗口阻影等演示。 修正拖动标题栏导致electron卡死,关门为了他把winform.hitCaption改成了异步拖动 基本上现在嵌入electron可能遇到的常见需求我都在范例里演示了。 aardio v15.16 更新(2017/12/24): --------------------------------------------------------------------------- 1、 electron 支持库改进: 修正 aardio.js 中一处导致JS调用aardio函数出错的小BUG。 范例增加更多 js/aardio 交互调用函数的演示代码。 范例位置:aardio范例->Web应用->electron aardio v15.15 更新(2017/12/24): --------------------------------------------------------------------------- 1、修正嵌入 electron不能输入文字的问题。 目前如果启用开发者工具只能输入英文,禁用开发者工具就没问题了。 这个没什么影响,只有你自己调试才会开启这个,暂时不深究了。 刚才发现,如果在aardio中导出external对象。 那么在electron的控制台输入 aardio 都有出现成员函数列表, 这相当于eletron自动支持aasdl接口,非常方便。 aardio v15.14 更新(2017/12/23): --------------------------------------------------------------------------- 1、修正 electron启动后窗口仍然会闪一下黑屏的问题。 目前更改为在 electron创建窗口时,强行将其隐藏,然后在 electron主进程的创建窗口代码后添加以下代码: win.once('ready-to-show', () => { win.show(); }) 测试了可以完美的解决问题,启动很流畅再也不会晃动一下了。 这里告诉大家一个技巧,electron的主进程调试麻烦, 默认弹出的JS错误信息,其中关键的js文件又把最关键的文件名显示为了省略号, 结果错误信息成了天书,其实,大家可以在这个错误对话框上按一下Ctrl+C就可以了, 完整的错误信息就会被复制到剪贴板。 aardio v15.13 更新(2017/12/23): --------------------------------------------------------------------------- 1、修正electron启动会显示一下窗口标题栏的问题。 electron创建无边框窗口本来是没有标题栏的,但创建后会突然显示一下标题栏,然后又隐藏掉。 这带来的体验不太好,今天改进了一下,首先将electron窗口隐藏,等他刷完标题栏再显示,效果好多了。 aardio v15.12 更新(2017/12/23): --------------------------------------------------------------------------- 1、标准库添加 string.lcid.用于将三字母区域语言代码缩写转换为LCID 2、time.ole改进,支持以2种语法格式化输出字符串,例: //OLE时间支持系统格式化语法 var str = tostring(tm,"yyyy-MM-dd HH:mm:ss") //也默认支持time对象的格式化语法 var str = tostring(tm,"%Y年%m月%d日 %H时%M分%S秒")) //还可以转换格式化语法 console.log( tm.toSystemFormat("%Y年%m月%d日 %H时%M分%S秒")) 3、access, sqlServer重点改良,并添加到标准库中, 新版用起来更方便了,例如使用sqlServer调用存储过程: import console; import sqlServer; //打开数据库 var db = sqlServer( ["Data Source"]= "IP地址,服务端口"; ["Database"]= "数据库名"; ["User ID"] = "用户名"; ["Password"]= "用户密码"; ) //创建存储过程 if( ! db.existsProcedure("proc_test") ){ db.exec(" CREATE PROC proc_test( @a INT,@b INT1 ) AS begin SELECT @a + @b end "); } //创建命令参数对象,用于执行存储过程 var cmd = db.createCommand( "proc_test" ); //绑定存储过程参数 cmd.bind( a = 2; b = 3; ) //执行并显示结果 console.dump(cmd.getTable()[1]) console.pause(); aardio v15.11 更新(2017/12/22): --------------------------------------------------------------------------- 1、修正electron在一些系统中启动报JSON错误 aardio v15.09 更新(2017/12/22): --------------------------------------------------------------------------- 1、修正electron自动下载时失败 aardio v15.08 更新(2017/12/22): --------------------------------------------------------------------------- 1、重量级更新,aardio支持几句代码就嵌入electron了, 可以方便的与electron交互调用函数,史上最长的更新说明猛戳此链接: http://mp.weixin.qq.com/s/h4KHenCb_tuU-iIOb1oY4Q aardio v15.07 更新(2017/12/21): --------------------------------------------------------------------------- 1、强劲更新WebSocekt/RPC 相关库。 web.socket.jsonServer添加survey函数, 支持以调查模式方便的批量调用客户端函数,并获取返回值。 web.socket.jsonServer添添加publish函数, 支持以发布订阅模式方便的推送消息给所有客户端。 nanomsg的消息模式非常诱人,但是他一是不支持XP,二是客户端发错一个数据包就能让服务端崩溃掉, 目前用起来是有点不省心的,所以我用纯aardio模仿了nanomsg的通信模式,整体上没用几句代码就实现了, 没有使用第三方组件,所以也不会不支持XP什么的,几句代码提上就可以到处跑,兼容性没问题,当然, 这只是WebSocekt通信,在机制上跟nanomsg有些区别,但我们用于桌面软件开发,足够用了。 相关范例已更新。 2、与RPC有关的库实现支持 aasdl, 因为js语言不能像aardio那样,把rest-rpc,json-rpc提供的远程函数方便的自动转换为JS中的函数对象, aardio制定出aasdl使我们可以用最简单的方法快速的使用JS编写RPC客户端,并可以基于aasdl提供的接口描述自动封装JS函数对象, 让我们可以更愉快、更简单的用js与aardio服务端交互。 关于aasdl的详细描述参考网址:http://bbs.aardio.com/doc/aasdl/ aardio v15.06 更新(2017/12/21): --------------------------------------------------------------------------- 1、反复测试WebSocket相关功能,修正发现的几处小问题 aardio v15.05 更新(2017/12/21): --------------------------------------------------------------------------- 改进 web.json 解析器支持更宽松的语法, 目前解析器在安全兼容JSON标准的基础之上,扩展了以下功能: 1、支持单行注释,多行注释 2、元素分隔符可使用分号或逗号,也可以省略 3、键值分隔符可使用冒号,也可以使用等号 4、键名可省略引号 5、值置于圆括号中可使用简单的表达式 6、字符串可以换行 7、数值支持16进制 8、单个字符串、数值都可以解析出来 9、兼容JSONP格式 10、解析成功的JSON后面如果还有多余的文本时忽略 完全兼容JSON/JSONP格式,除个别基本用不到的特性以外兼容JSON5 添加了 web.json.tryParse函数(遇到JSON错误不抛异常而是返回null,错误信息) aardio v15.04 更新(2017/12/20): --------------------------------------------------------------------------- 1、改进asynHttpServer的run函数允许自动调用 start函数, 能少写一句代码就少写一句代码,将偷懒进行到底。 2、增加aardio范例->Web应用->HTTP服务器->异步HTTP服务器, 其实写个HTTP服务器就几句代码了,别看几句代码实现,功能可不少。 import win.ui; /*DSG{{*/ var winform = win.form(text="单线程异步HTTP服务端演示";left=10;top=4;right=774;bottom=467) winform.add( txtMessage={cls="richedit";left=29;top=22;right=741;bottom=432;db=1;dl=1;dr=1;dt=1;edge=1;link=1;multiline=1;vscroll=1;z=1} ) /*}}*/ import wsock.tcp.asynHttpServer; var srvHttp = wsock.tcp.asynHttpServer(); //运行HTTP服务端,如果要指定IP,端口,请先调用 srvHttpr.start(); srvHttp.run( function(response,request){ ; winform.txtMessage.print("HTTP协议访问:",request.url,request.remoteAddr); if( ..io.exist(request.path) && (request.path !="/") ){ response.loadcode( request.path ); } response.contentType = "text/json" response.jsonPrettyPrint = true; response.write(request) } ); winform.txtMessage.print( "http服务端已启动 " + srvHttp.getUrl() ) winform.txtMessage.print( " asynHttpServer可以创建单线程异步模式的服务端, 可以支持保持连接(Keep Alive),分块传输协议,支持断点续传,支持304缓存, 支持文件表单上传.支持使用aardio编写的网站,提供的接口兼容IIS/FastCGI下的aardio/web应用。 可以实现同一个网站在IIS上可以跑,在几句代码就实现的asynHttpServer也可以跑起来。 并且最方便的是,可以与WebSocket服务端共存共享端口。" ) winform.show() win.loopMessage(); aardio v15.03 更新(2017/12/20): --------------------------------------------------------------------------- 1、 process进程启动参数使用environment属性指定环境变量时, 可自动继承父进程的其他环境变量,并添加 inheritEnvironment 属性禁用此特性。 用于解决指定环境变量启动进程时,某些进程因为丢失默认的系统环境变量而启动失败。 2、改进 HTTP,WebSocket 服务端,修正几个小问题 扩展库更新(2017/12/20): --------------------------------------------------------------------------- 1、nodeJs扩展库升级,与aardio新版交互调用更方便了。 增加了更多node.js与aardio交互的例子(支持aardio v15.03以上版本)。 aardio v15.02 更新(2017/12/19): --------------------------------------------------------------------------- 1、 标准库中新增 web.socket.jsonServer 可基于WebSocket服务端方便的创建 JSON-RPC 2.0 服务端。 现在只要几句代码,就可以轻松的写一个:HTTP/WebSocket/JSON-RPC 三合一体服务端。 演示已增加到了范例,位置:aardio范例->web应用->webSocket aardio v15.01 更新(2017/12/18): --------------------------------------------------------------------------- 1、 web.socket.server 增加 onUpgradeToWebsocket 事件, 可用于客户端HTTP协议请求切换到WebSocket协议期间阻止请求, 例如用来实现判断网址中的路径决定是否启动WebSocket,此事件的用法 演示已增加到了范例,位置:aardio范例->web应用->webSocket aardio v15 更新(2017/12/18): --------------------------------------------------------------------------- 1、已知BUG批量修复。 2、增加函数 raw.find, raw.match, raw.indexOf函数, 用于通过指针在内存中直接搜索字符串或使用模式匹配功能,用法与string库下同名函数类似。 3、wsock标准库更新: 基本重写wsock标准库,优化代码,提升效率,增加很多新函数和新库。 因为新增的函数非常多,这里不一一说明,请查看新版库函数文档。 标准库新增: wsock.tcp.asynServer 用于创建单线程异步服务端程序 wsock.tcp.asynHttpServer 用于创建单线程异步的HTTP服务器 单线程异步服务端可以非常方便的在一个线程内连接、收、发数据, 并且不用涉及到多线程编程,使用非常方便。但是单线程异步的编程是非常麻烦的, 但没有关系,aardio已经封装的非常简单,例如单线程异步服务器,你完全感觉不到复杂度, 就跟原来在 wsock.tcp.simpleHttpServer或者IIS里写网站是一模一样,完全兼容。 4、新增WebSocket服务端开发库,改进WebSocket客户端开发库。 原用于开发WebSocket客户端的 web.socket.client 已完全重写并大幅改良代码。 新增 web.socket.server 用于开发 WebSocket服务端。 现在几句代码就可以写一个WebSocket服务端了, 而且 web.socket.server 也是基于 wsock.tcp.asynHttpServer, 同时继承了 wsock.tcp.asynHttpServer的所有优势。 使用 web.socket.server 可以在一个端口 同时运行WebSocket服务端和HTTP服务端了,这个你用IIS都很难搞定的事情, 用aardio只要几句代码就可以轻松搞定。 这里要说明一下,这些库主要用于桌面软件,不是用于百万并发, 不要又把“百万并发”搬出来哦。这就好象我做个自行车,你跟我提达不到“光速穿越”一样无意义。 举个例子,例如chrome,aria2提供的基于WebSocket服务端的RPC接口就非常的方便, 很方便的在进程间交互,不同语言间交互,小而美的服务端也是很常见的需求。 不要做任何事上来就把话说的很大很空。 用法请查看新增的范例,位置: aardio范例程序\Web应用\WebSocket\异步服务端、异步客户端 扩展库 更新(2017/12/18): --------------------------------------------------------------------------- 1、web.kit 新增一系列管理cookie的函数: cookieData 用于获取所有网站cookie。 cookieSet 用于设置所有网站cookie。 cookieClearSession cookieClear 等清除cookie的函数。 cookieLoad,cookieSave 等cookie文件操作函数。 aardio v14.44 更新(2017/12/15): --------------------------------------------------------------------------- 1、标准库增加 JSON-RPC 2.0服务端实现 web.rpc.jsonServer。 这是基于HTTP协议的服务端,适用于HTTP服务器环境,可用于 IIS/FastCGI, wsock.tcp.simpleHttpServer等环境下, 2、重写 web.rpc.jsonClient (基于HTTP协议的JSON-RPC 2.0客户端)。 3、重写 web.socket.jsonClient 实现基于WebSocket协议的JSON-RPC 2.0客户端。 4、重写 web.socket.chrome,改为继承 web.socket.jsonClient对象, chrome远程调试接口实际上就是基于JSON-RPC 2.0,所以直接共享代码了。 5、范例新增【Web应用】目录,本次更新增加的范例请到这个目录下找 现在基于这种协议的软件挺多的,所以本次更新狠狠的改进了这方面的功能。 刚发的一个例子: 使用WebSocket/RPC协议调用aria2,据说比迅雷强10倍的下载工具 http://bbs.aardio.com/forum.php?mod=viewthread&tid=22045 扩展库 更新(2017/12/13): --------------------------------------------------------------------------- 1、web.sciter 更新sciter组件到官网当前最新版本。 等一大堆实用函数,细节请查看库函数文档 2、mpvPlayer扩展库修正部分BUG,感谢cad反馈 3、修正libvlc扩展库笔误一处,感谢cad反馈 aardio v14.44 更新(2017/12/13): --------------------------------------------------------------------------- 1、标准库增加了 fsys.cookies , 这是一个 netscape/curl cookie文件格式解析器 aardio v14.43 更新(2017/12/13): --------------------------------------------------------------------------- 1、修正 win.ui.tracker 笔误 aardio v14.42 更新(2017/12/13): --------------------------------------------------------------------------- 1、修正 web.multipartFormData 报参数为空的bug 扩展库 更新(2017/12/13): --------------------------------------------------------------------------- 1、在网页上要点一下“登录”链接,发现JS中querySelector()函数不支持按文本查找, 于是把 web.form中的aardio函数queryEles()以及waitQueryEles() 移植到了web.kit里。 试了一下非常好用: import win.ui; /*DSG{{*/ var winform = win.form(text="web.kit queryEles演示";right=1308;bottom=754) winform.add() /*}}*/ import web.kit.form; var wb = web.kit.form( winform ); wb.go("http://www.baidu.com") winform.show(); var eles = wb.waitQueryEles("a",{innerText="登录"} ); eles.click(); winform.show() win.loopMessage(); 今天增加的新功能目标为了实现 inet.http / web.kit 共享会话 请升级到新版本后查看演示代码: http://bbs.aardio.com/forum.php?mod=viewthread&tid=22023 扩展库 更新(2017/12/12): --------------------------------------------------------------------------- 1、web.kit 取出的cookie有deleted值,防碍使用 inet.http 共享会话的美好愿望, 取cookie函数加代码 string.replace(ck,"[^;]+\s*\=\s*deleted\s*;","") 予以修正。 aardio v14.41 更新(2017/12/12): --------------------------------------------------------------------------- 1、改进 web.joinHeaders() 避免对UrlEnocde过的值重复做UrlEnocde编码。 2、修正 console.writeText() 对未转换为字符串的值做UTF8编码检测导致报错。 aardio v14.40 更新(2017/12/12): --------------------------------------------------------------------------- 1、 time.gmt() time.iso8601() 如果传入参数是包含本地时间的time对象,返回补偿时差后的标准时间。 2、 fastcgi.client,wsock.tcp.simpleHttpServer 等输出时间统一改为调用 time.gmt() 3、 inet.http, inet.whttp 分别增加 disableCookies() 函数,用于禁止cookie自动管理 4、 inet.setCookie() 改进可以更方便的设置持久化cookie、会话cookie aardio v14.38 更新(2017/12/12): --------------------------------------------------------------------------- 1、 修正 console.log() 输出ANSI字符串乱码问题。 aardio v14.37 更新(2017/12/10): --------------------------------------------------------------------------- 1、 fsys.codepage 改进编码识别功能。 2、 web.mshtml 改进编码识别功能。 aardio v14.36 更新(2017/12/09): --------------------------------------------------------------------------- 1、 web.socket.client 关闭事件增加发送、接收退出代码的功能 aardio v14.35 更新(2017/12/09): --------------------------------------------------------------------------- 1、修正 string.unescape() 的一处可能导致内存错误的BUG,感谢carl反馈该问题。 这个BUG会影响到所有直接或间接调用了这个函数的库,建议尽快更新以修复问题。 aardio v14.34 更新(2017/12/07): --------------------------------------------------------------------------- 1、 wsock.tcp.client 的readTo()函数, 如果服务端输出内容后,未输出结束标记而是立即关闭连接, 这时候返回接收的字符串,以及错误信息。 之前版本是丢弃接收的数据,这个在有些时候是不合适的。 扩展库更新 更新(2017/12/07): --------------------------------------------------------------------------- 今天狠狠的改进了下 nanomsg 扩展库, 详细的写了函数文档( 工具-> 库函数文档 里打开) 此扩展库的名字改为 nnmsg, 因为是改名,所以不影响原来的库继续使用, 之所以改名,是因为每次我按namespace的时候他都跳出来。 增加了nnmsg范例,在扩展库管理器中双击下载, 等一会我会在论坛发一个 nnmsg扩展库 的教程。 aardio v14.33 更新(2017/12/05): --------------------------------------------------------------------------- 1、改动了一下 file.seek() 放宽了指针位数的限制, 已经支持PB级了,所以肯定够用了。 aardio v14.31 更新(2017/12/05): --------------------------------------------------------------------------- 1、修正treeview范例错误,感谢 xauto反馈 aardio v14.30 更新(2017/12/05): --------------------------------------------------------------------------- 1、修正inet.url.split函数解析URL返回结果不正确 aardio v14.29 更新(2017/12/04): --------------------------------------------------------------------------- 1、小改进 web.socket.chrome 范例, 在连接chrome以前,先禁用发送数据的按钮,避免误操作。 增加判断pages是否为空的代码。 aardio v14.28 更新(2017/12/04): --------------------------------------------------------------------------- 1、在 web.socket.client 基础上进一步封装并增加了两个库 web.socket.jsonClient, web.socket.chrome web.socket.chrome 可用于Chrome远程调试接口控制Chrome浏览器, 参考新增范例:aardio范例->模拟自动化->Chrome远程调试接口 关于Chrome远程调试接口: https://chromedevtools.github.io/devtools-protocol/ aardio v14.27 更新(2017/12/03): --------------------------------------------------------------------------- 1、web.socket.client 增加关闭心跳设置、自定义心跳数据帧等功能 aardio v14.26 更新(2017/12/03): --------------------------------------------------------------------------- 今天写了一个WebSocket客户端支持库:web.socket.client 用过其他组件都觉得麻烦,干脆自己写了一个,这个库纯aardio代码实现,小、轻、快! 这个WebSocket客户端基于单线程异步套接字 只要监听事件就可以方便的收发数据,不卡界面,不需要用到多线程!一切都变得非常简单。 对于WebSocket客户端来说,去弄什么多线程只会把简单的事不必要的搞复杂。 支持双向心跳,单向心跳,可以断线重连,下面是一个简单的例子(可以在"aardio范例->网络应用->WebSocket"找到下面的代码): import win.ui; /*DSG{{*/ var winform = win.form(text="WebSocket客户端演示";right=770;bottom=467) winform.add( btnClose={cls="button";text="断开";left=556;top=293;right=710;bottom=331;db=1;dr=1;z=6}; btnOpen={cls="button";text="连接WebSocket服务端";left=381;top=293;right=535;bottom=331;db=1;dr=1;z=2}; btnSend={cls="button";text="发送数据";left=569;top=346;right=711;bottom=426;db=1;dr=1;z=4}; txtMessage={cls="edit";left=29;top=22;right=741;bottom=285;db=1;dl=1;dr=1;dt=1;edge=1;multiline=1;z=1}; txtSend={cls="edit";text="WebSocket测试";left=29;top=348;right=558;bottom=423;db=1;dl=1;dr=1;edge=1;multiline=1;z=3}; txtUrl={cls="edit";text="ws://121.40.165.18:8088";left=29;top=295;right=368;bottom=331;db=1;dl=1;dr=1;edge=1;z=5} ) /*}}*/ import web.socket.client; var ws = web.socket.client(); ws.onOpen = function(){ ws.send("服务端你好吗?!") } ws.onClose = function(){ winform.txtMessage.print("onClose"); } ws.onError = function(err){ winform.txtMessage.print("onError",err); } ws.onMessage = function(msg){ winform.txtMessage.print(msg.data); } winform.btnSend.oncommand = function(id,event){ ws.send(winform.txtSend.text) } winform.btnOpen.oncommand = function(id,event){ ws.connect(winform.txtUrl.text); } winform.btnClose.oncommand = function(id,event){ ws.close(); } winform.txtUrl.text = "ws://121.40.165.18:8088"; ws.originUrl = "http://www.blue-zero.com"; winform.show() win.loopMessage(); aardio v14.25 更新(2017/12/02): --------------------------------------------------------------------------- 1、添加table.shuffle() 函数, 这个函数原来是范例里的洗牌算法(乱序),看了下代码没几句决定加到标准库里。 2、web.mshtml 修正打开网址时未调用 document.close()导致 waitDoc卡住的问题。 3、继续改进文档 aardio v14.24 更新(2017/12/01): --------------------------------------------------------------------------- 1、string.xml 的queryEle(),queryEles()函数, 以及 web.form的queryEles(),waitQueryEles() 作以下改进: 当搜索tagName,id,name等属性时,如果搜索的属性值不含标点符号, 则仅使用忽略大小写的完全匹配方式进行比对, 如果属性值含有标点(使用了模式匹配), 仍然会使用原来的规则进行比对(模式匹配,以及部分匹配) 这个规则主要用于兼容旧的代码,实际上这几个属性用模式匹配只会添乱。 2、string.xml 增加 getEle() getEles() 函数,用法参考函数说明。 aardio v14.23 更新(2017/11/30): --------------------------------------------------------------------------- 1、更新文档 aardio v14.22 更新(2017/11/28): --------------------------------------------------------------------------- 1、winform.treeview 增加 checkAll() 函数,用于全选子节点(并更新父节点), 增加enumParent函数,增加expandAll()函数。演示: import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=349;bottom=249) winform.add( treeview={cls="treeview";left=10;top=11;right=336;bottom=233;asel=false;bgcolor=16777215;chkBox=1;edge=1;z=1} ) /*}}*/ var hitem = winform.treeview.insertItem( text="程序目录" ); var hSubItem = winform.treeview.insertItem( { text="子目录" },hitem/*父节点*/); var hitem = winform.treeview.insertItem( { text = "下面用一个数组指定子节点"; { { text = "子节点1" }; { text = "子节点2" }; { text = "下面用一个数组指定子节点"; { "a";"b";"c";{ text = "d" } } }; } } ) //对目录树的选择操作 winform.treeview.onnotify = function(id,code,ptr){ //用户勾选、取消勾选复选框 if(code = 0xFFFFFFE8/*_NM_TVSTATEIMAGECHANGING*/){ var hItem = winform.treeview.hitTest(); //这里一定要取反,因为是选中状态更新以前触发这个事件 var checked = !winform.treeview.getChecked(hItem); winform.treeview.checkAll(hItem,checked); winform.treeview.expandAll(hItem); } } winform.show() win.loopMessage(); aardio v14.21 更新(2017/11/28): --------------------------------------------------------------------------- 1、......本版修改已被废弃 aardio v14.20 更新(2017/11/27): --------------------------------------------------------------------------- 1、com.flash改进,调用flash函数可以简化写法, 例如 flash.xcall("callMe",1,2) 可以直接写为 flash.callMe(1,2); aardio v14.19 更新(2017/11/26): --------------------------------------------------------------------------- 1、添加 wsock.tcp.asynClient 可以使用更少的代码创建TCP异步客户端,例如: import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=660;bottom=381) winform.add( edit={cls="edit";left=19;top=14;right=641;bottom=363;edge=1;multiline=1;z=1} ) /*}}*/ import wsock.tcp.asynClient; var tcpClient = wsock.tcp.asynClient(); var file = io.open("/test.zip","w+b");//注意io.open默认是文本方式写入的,b指定二进制模式 tcpClient.onReceive = function(err){ var recvbuf = tcpClient.recv(0x100000); //如果recv每次读取长度设的太小,会导致关闭事件可能在读取数据完成以前触发 if( #recvbuf ) { file.write( recvbuf ); winform.edit.log("已下载",math.size64( file.seek() ).format(),'\r\n') } } tcpClient.onClose = function(err){ winform.edit.log("服务端已断开",err); } tcpClient.connect("127.0.0.1",7510) //因为是异步套接字,这里不需要检查返回值 winform.show(); win.loopMessage(); aardio v14.18 更新(2017/11/26): --------------------------------------------------------------------------- 1、web.rest.client 修正无提交参数时,extraParameters设置无效的问题 2、fsys.localfile 移除对fsys相关函数的依赖,使用io库函数替代。 aardio v14.17 更新(2017/11/25): --------------------------------------------------------------------------- 1、web.rest.client 增加 addHeaders,referer等属性。 web.rest名字空间下其他基于web.rest.client的对象也都增加了这两个属性。 这几个属性原来也可以通过_http对象设置,改进后可以少打几个字。 2、inet.http,inet.whttp的post函数的post数据可以指定为一个表, 如果post数据是表会自动调用 inet.url.stringifyParameters 转化为字符串, 可使用 codepage属性指定转换时UrlEncode编码使用的输出代码页,默认使用UTF8编码。 aardio v14.16 更新(2017/11/23): --------------------------------------------------------------------------- 1、小改进[字符集/代码页 查询工具],可显示更多代码页。 aardio v14.15 更新(2017/11/23): --------------------------------------------------------------------------- 1、增加[字符集/代码页 查询工具] 位置:aardio工具->文本文件->字符集/代码页 2、标准库增加 com.interface.IMultiLanguage2 接口 [字符集/代码页 查询工具] 即使用此接口的示例,使用此接口可自动检测数据的编码。 例如: import com.interface.IMultiLanguage2; var multiLanguage = com.interface.IMultiLanguage2.Create(); var codepage = multiLanguage.detectInputCodepageEx("测试字符串"); aardio v14.14 更新(2017/11/22): --------------------------------------------------------------------------- 1、string.unescape()函数改进,允许传入的转义字符串包含单引号。 2、转义字符串的Unicode转义增加两种表示方法: 2.1 大写的\U后可选使用4个或6个16进制字符表示Unicode编码,使用6个16进制字符可直接支持UCS-4的4字节Unicode编码,例如'\U02b81c'。 2.2 小写的\u因为考虑到兼容JSON必须使用4个16进制字符,但可以与JS一样使用2个字符编码表示一个4字节Unicode字符,例如:'\uDC1C\u4F60ff' 3、raw.str支持传入结构体参数,可用于方便的将WORD数组转换为Unicode字符串。 4、table.append() 改进:允许忽略null参数 5、增加 ustring.pack, ustring.unpack, ustring.charCodeAt 等函数 aardio v14.13 更新(2017/11/19): --------------------------------------------------------------------------- 增加 inet.stat 用于列出网络连接, 例如列出所有80端口的TCP连接,并按连接数排序: import console; import inet.stat; console.dump(inet.stat(80).tcp) console.pause(true); 今天晚上被某个无聊的家伙CC攻击,于是写了这个库, 昨天灌了上万个垃圾帖子,今天又CC攻击,每天吃饱了干这事你的时间是多不值钱哦?! 附:调用IIS接口自动拉黑IP的代码: import dotNet; var appDomain = dotNet.clr().createAppDomain(); var serverManager = appDomain.load("Microsoft.Web.Administration").createInstance("ServerManager"); var config = serverManager.GetApplicationHostConfiguration(); var ipSecuritySection = config.GetSection("system.webServer/security/ipSecurity","bbs.aardio.com"); var ipSecurityCollection = ipSecuritySection.GetCollection(); var addElement = ipSecurityCollection.CreateElement("add"); addElement.Item["ipAddress"] = "197.197.197.197"; addElement.Item["subnetMask"] = "255.255.255.255"; addElement.Item["allowed"] = false; ipSecurityCollection.Add(addElement); serverManager.CommitChanges(); aardio v14.12 更新(2017/11/15): --------------------------------------------------------------------------- 1、标准库新增 crypt.aes,用于实现AES加密算法,示例代码: import console; import crypt.bin; import crypt.aes; var aes = crypt.aes(); aes.setPassword("12345678"); var str = aes.encrypt("Test String"); console.log( crypt.bin.encodeBase64( str ) ); console.pause(true); 2、增加以下函数 crypt.hmac.sha256(); crypt.hmac.sha384(); crypt.hmac.sha512(); crypt.sha256(); crypt.sha384(); crypt.sha512(); 3、web.joinHeaders() 改进如果参数是键值对列表,自动对值中包含的宽字符(汉字)进行UrlEncode编码 4、修正 win.taskScheduler 任务延时间隔很小时导致任务不触发的BUG aardio v14.11 更新(2017/11/14): --------------------------------------------------------------------------- 1、com.flash改进,创建控件时自动启用控件窗口的内部裁剪样式。 2、web.ui改进,避免拖动标题栏时双击事件失效。 扩展库更新(2017/11/14): --------------------------------------------------------------------------- 添加 libpq 扩展库,用于调用PostgreSQL数据库,示例: import console; import libpq; //PostgreSQL 服务端: https://get.enterprisedb.com/postgresql/postgresql-10.0-1-windows-binaries.zip var db =libpq( dbname = "postgres"; port = 5432 ; user = "postgres"; password = "密码"; ) var rs = db.exec(`SELECT 123,'{"a": "abc","b":false}'::json`); for(a,b in rs.each() ){ console.log(a,b); } var t = rs.getTable(); console.dumpJson(t); console.pause(); aardio v14.10 更新(2017/11/12): --------------------------------------------------------------------------- 1、gdip.bitmap,gdip.image 增加 saveToBuffer()函数,用于直接保存图像到内存缓冲区。 2、增加数组去重函数 table.unique,返回新数组不修改原数组。 3、table.append改进拼接数组效率,连接有序数组(忽略其他键值对成员),返回参数1 4、动态指针支持使用raw.concat函数直接追加结构体,示例: var p = raw.realloc(12); p = raw.concat(p,{BYTE x[] = "abcd"}) p = raw.realloc(0,p); 使用动态指针实现的string.builder 则通过重载操作符可如下与结构体连接: var p = string.builder() p += {BYTE x[] = "abcd"} 5、raw.buffer的参数2允许使用指针类型,方便快速复制内存到缓冲区。 6、增加 raw.copy(目标指针,源数据,复制长度) 这个函数基本类似 ::CopyMemory,::Kernel32.RtlMoveMemory 区别是可以自动检测长度(除指针以外) 参数@1允许指针,buffer类型参数, 参数@2允许使用buffer,字符串,或结构体参数, 此函数不允许其他可自动转换为指针的非指针类型参数。 如果复制源或目标是buffer,字符串,或结构体等可获取内存长度的类型, 复制长度可以省略,如果未指定复制长度,并且源数据是buffer,或字符串时, 复制全部数据并且复制尾部隐藏的'\u0000'到目标内存。 如果aardio能获取复制源或目标的内存长度, 那么复制长度不会超过实际检测到的内存长度, 但如果参数是指针将无法自动检测到内存长度。 7、fsys.stream 添加 lockPointer,unlockPointer函数 8、修正plus控件实现滑块控件时拖动到左侧留有边距问题。 9、修正plus控件在显示后调用skin函数未及时刷新的问题。 aardio v14.09 更新(2017/11/10): --------------------------------------------------------------------------- 1、API尾标语法改进,对于已存在W尾标的API函数, 可在调用API时使用其他尾标,并且仍然可以正确检测并切换到API函数的Unicode版本 2、time对象改进,文本解析为时间支持省略分隔符, 省略分隔符时aardio将自动检测数值的长度,并努力解析出正确的结果, 例如以下时间可正确识别: time("20170822 123623") 年月日8位,时分秒6位 time("170822 123623") 年月日6位,时分秒6位 文本转换为时间,对于格式标记的%y,%Y改进为在解析年份时兼容2位,4位年份。 文本转换为时间,改进为忽略星期字段的错误(并不影响正确的输出) 在解析文本为时间时,对于最后一个匹配格式串成功之后的剩余字符串, aardio在跳过空白字符以后,将连续非空字符录入 endstr 属性(用于更准确的检测iso8601等格式的时区) 根据以上特性改进time.gmt,time.iso8601,更强大的解析能力演示: //HTTP时间RFC 1123格式,格式写错的这么离谱仍然可以自动修正 console.log(time.gmt("Sun,07Feb2016 081122 +7")) //兼容HTTP时间RFC 850格式,星期写错了自动修正 console.log(time.gmt("Sunddddday, 07-Feb-16 08:11:22 +0700")) //支持iso8601省略分隔符的格式 console.log(time.iso8601("20170822 123623 +0700")) //支持iso8601省略分隔符的格式 console.log(time.iso8601("20170822 123623 +7")) //兼容iso8601省略分隔符的写法 console.log(time("20170822 123623")) 3、math.size64添加swap函数用于转换大小端字节序 aardio v14.08 更新(2017/11/9): --------------------------------------------------------------------------- 1、inet.url.ecnode 等一系列UrlEncode编解码函数支持指定代码页(codepage), 旧版本仅简单的指定是否UTF8编码,目前可指定具体的codepage,但仍然兼容旧版的写法。 2、web.rest.clinet 以及基于该类的客户端组件支持更准确的识别charset并自动进行编码转换, 如果自行重写了stringifyRequestParameters等接口要注意原来指定utf8编码的参数已改为指定具体codepage, 因为对请求参数进行实际编解码的inet.url.stringifyParameters等函数已自动支持新的写法,所以可以自动兼容旧的写法。 对于web.rest.jsonClient因为使用JSON编码时已经转换为Unicode格式,所以提交请求数据时并不需要考虑编码相关的参数。 3、string.encoding代码优化,对于注册表获取的结果会进行缓存,避免重复查询编码。 4、其他BUG修正,参考BUG提交页 aardio v14.07 更新(2017/11/6): --------------------------------------------------------------------------- 1、改进 process.getPath() 支持获取64位进程路径 aardio v14.06 更新(2017/11/4): --------------------------------------------------------------------------- 1、库函数文档取消显示在IDE前面的设置,方便切换窗口。 2、fsys.mmap 改进以"r+b"模式打开已存在的文件,并支持传入fsys.file对象作为参数, 需要注意 fsys.mmap 主要用于进程间通信共享内存(例如 process.command ),不适合一般的文件读写, 文件读写应使用文件流对象。 扩展库 更新(2017/11/3): --------------------------------------------------------------------------- 1、更新 soImage库,修正getBytes函数报错等,感谢匿名反馈。 改进 capture() 函数可能导致的窗口卡住问题。 aardio v14.05 更新(2017/11/3): --------------------------------------------------------------------------- 1、改进了调试进程管理器,加上了多线程(以前这个工具是单线程的,有时候会有些卡) 调试的时候,也可以打开系统任务管理器看aardio.exe进程,一般占内存最大的那个是IDE aardio v14.04 更新(2017/11/2): --------------------------------------------------------------------------- 标准库增加 win.ui.layered,可用于方便的创建分层透明窗口, 我们知道可以透明显示的分层窗口,是无法显示窗口上的控件子窗口的, 但是使用标准库提供的win.ui.layered,我们可以让分层窗口透明显示,并且还可以正常的显示窗口上的plus控件。 以下是一个简单的演示: import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add( plus={cls="plus";left=264;top=208;right=528;bottom=296;notify=1;repeat="center";z=1} ) /*}}*/ import win.ui.layered; win.ui.layered(winform); import inet.http; winform.plus.skin( background = { default = inet.http().get("http://bbs.aardio.com/static/image/common/aardio.png"); hover = 0xFF00FF33; } ) winform.plus.oncommand = function(id,event){ winform.close(); } winform.show() win.loopMessage(); 扩展库更新(2017/11/2): --------------------------------------------------------------------------- 1、web.kit.form 的打印函数 print() 支持指定缩放比例,正数缩放文档,负数缩放页面,缩放会保持比例,并保持不超出页面 2、soImage更新支持自动修正常见图像格式错误的后缀名, 添加 soImage.gifFile 用于生成GIF格式图像(可用于录屏等操作),演示: import console; import soImage; console.open() var gifFile = soImage.gifFile("/test.gif"); var img = soImage(); for(i=1;20;1){ img.capture(); //截屏 gifFile.write(img ); //写入GIF文件 console.log("已录制",gifFile.count() ) sleep(10) } gifFile.close(); console.pause(); 扩展库更新(2017/11/1): --------------------------------------------------------------------------- 1、web.kit.form 增加一个用于 GDI 打印的 print 函数 2、修正调用 web.kit.view() 调用组件自带默认控件窗口时,输入框不能输入任何字符的问题 aardio v14.03 更新(2017/10/31): --------------------------------------------------------------------------- 1、string.list支持在第三个参数设置引号(值包含行分隔符时使用引号生成字符串),这个比原来配置引号等设置的代码更简单一些。 2、math.size64 对象,支持与字符串做连接操作,不需要事先tostring()。 3、wsock.tcp.simpleHttpServer 狠狠的改进了一下, 支持使用threadGlobal属性添加服务线程可用的全局变量,这样就可以在网页服务端代码里调用窗体控件什么的了,很好玩的! 支持自定义onThreadCreated事件,可以用于只需要HTTP服务线程执行只需要执行一次的初始化代码。 支持自定义documentRoot属性设置网站所在目录,例如: import console; import wsock.tcp.simpleHttpServer; var srvHttp = wsock.tcp.simpleHttpServer() srvHttp.threadGlobal = { test = "value"; //可以指定HTTP监听线程可以使用的全局变量 } srvHttp.onThreadCreated = function(documentRoot,urlRoot){ } srvHttp.documentRoot = "d:\website\" console.log(srvHttp.getUrl()) srvHttp.run( function(response,request){ } ); 这里有一个用上面的功能实现的HTTP文件浏览器例子 扩展库更新(2017/10/31): --------------------------------------------------------------------------- 1、web.sciter 组件升级到最新版,修正 documentElement.outerHTML 赋值导致崩溃,并支持生成独立EXE文件。 2、修正py,py2扩展库eval函数报错。 aardio v14.02 更新 --------------------------------------------------------------------------- 1、增加库 fsys.fileInfo 用于获取文件唯一ID,更可靠的校验文件路径是否指向同一文件。 2、改进 gdip.bitmap 支持传入 buffer类型参数直接创建图像(可以减少一次不必要的tostring转换)。 3、修正 process.temp 一处严重 BUG, 建议使用了这个库的程序尽快升级,感谢siam193反馈。 4、其他 BUG 修正,参考BUG反馈页面。 aardio v14.01 更新 --------------------------------------------------------------------------- 1、增加 string.html.ncr(), string.xml.ncr() 函数,用于转换HTML NCR/HTML Entities编码 2、修正 xauto反馈的几处笔误,感谢 xauto 3、修正 一个控件被设置为另一个控件的子窗口(用于重叠)时,控件的自动锁定右边距失效的问题,感谢 popdes 反馈 4、修正plus控件在不同状态下分别指定背景色,图像(不是都用图像)时会出现切换图像不变的问题,感谢“匿名”反馈 5、修正v14 库目录下包含失效的软链接出错,感谢 lacker 反馈 6、窗口控件设计属性增加width,heigth选项(控件属性->大小->width,height) v14 更新 --------------------------------------------------------------------------- 不声明直接调用API函数时新增一系列API尾标语法, 即API函数名最后一个字符不是大写字符,就可以使用在后面添加一个大写的特定字符声明一个调用设置。 目前支持的语法如下: dll.ApiNameW() 强制切换到Unicode版本(负责UTF8-UTF16自动转换) dll.ApiNameA() 强制切换到ANSI版本(不负责ANSI编码自动转换) dll.ApiNameL() 使返回值为64位LONG类型 dll.ApiNameP() 使返回值为指针类型 dll.ApiNameD() 使返回值为64位double类型浮点数 dll.ApiNameF() 使返回值为32位float类型浮点数 dll.ApiNameB() 使返回值为8位字节型,兼容C++中的bool类型 注意,不使用后缀声明语法时,默认返回值为int 32位整数。 在API函数名后添加声明后缀,不会影响到自DLL查找API函数的结果,无论真实的API带不带该声明后缀 - aardio都能找到。 详细的说明请查看帮助文档:http://bbs.aardio.com/doc/reference/libraries/kernel/raw/callapi.html dll.api() 新增一种用法,在仅指定一个参数时,直接返回导出符号指针而非返回函数。 允许DLL对象在API参数中直接转换为句柄,而不需要调取函数获取句柄,以前限制了这个操作是为了避免误把DLL传到错误的API里去使用,不过现在看来这个限制没什么必要,还会导致多写一些不必要的代码。 禁止aardio检测结构体声明时触发元方法 @._get("_struct"),这个操作非常频繁而且毫无必要并且一不小心就会踩到坑里,而且一般人很难想到错误的原因,新版已经把这个坑人的功能去掉了。 窗体设计器中拖放控件不再默认设为上一个控件的大小,本来这是为了方便连续创建相同大小的控件,但实际上这个功能多此一举,而且致使拖放控件时不好控制,新版已去掉这个坑人功能。 本版完全重写了py2(python2.x),py(python3.x)的扩展库,增强了与python互动的能力, 并在aardio v14中增加了很多与python交互的范例,以及添加了大量python,aardio语法对比的文档和例子。 下面附上一个在aardio中实现python模块,并且可以在python中import导入该模块并调用成员函数的示例(使用python3)

import console;
import py;
/*
导出一个名字为"aardio"的模块,
在python中可以使用 import aardio导入。

可以使用此方法导出任何其他的aardio表,Python中可以访问导出表中的成员函数,
除函数以外的成员不导出,但是可以在被调用函数中用owner对象访问自身的其他成员变量。
*/

py.export.aardio ={
    
    c = 456;
    test = 
function(a,b){
        ..console.log(
"aardio函数被python调用了");
        
return a + b + owner.c;
    } 

}

var pyCode = /**
import aardio
def testPy():
    return aardio.test(12,2)
**/


py.exec( pyCode )
console.log( py.main.testPy() );

console.pause()

旧版更新日志