jacen

用户名:jacen

注册于:2019-10-26

主题数: 0     回贴数: 21

网站:

介绍:

最后活动于2020-05-21
回复了主题  › aardio自定义控件一例

回复#7 @nuck :

《库函数文档》点「内核库 / math 」
《aardio用户手册》点「基础语法/数据类型」

type( v ) == type.string 就是字符串

type( v ) == type.number 就是数值

math.isFinite( v ) 是有效数值

math.isInteger( v ) 就是整数,反之就是浮点数



«  2020-05-21
回复了主题  › cchart波形图表在aardio中的简单调用示例

回复#15 @周山下樵夫 :

你说的论坛的回复不成体系其实有所误解,你要知道我们毕竟不是 python 论坛,也要理解python是一个庞大复杂的开发环境,使用python的每个模块遇到的问题可能都不一样,例如有的模块引用失败是少复制了文件,引用了错误的位置,或者把64位当32位使用了,作为aardio的论坛,很难把使用python可能遇到的所有问题都包含进去,而且目前来说我遇到的询问 python 这类问题的,基本上分析了以后,大多数都发现问题出在 python 本身的使用上面,而不是 aardio 调用 py

«  2020-04-28
回复了主题  › plus模拟美化和替换listview的滚动条

很聪明,简单的代码实现了炫酷的效果。

listview.wndproc 其实可以写到扩展库里会更方便, wndproc可以重复赋值,所以不影响控件继续增加 wndproc。

另外这个关于最后一行的判断实际上可以简化,可以这样写:

if( plus.stepProgress(-1,true) ){

      :SendMessageInt(winform.listview.hwnd, 0x115/*_WM_VSCROLL*/, 1, 0);

}  

plus.stepProgress(-1

«  2020-04-09
回复了主题  › 阿里云语音合成

这个合成语音,网络原因或者文本较长可能会有一会延时,所以这里改成了多线程,不然可能误解为没有反应 - 然后连续重复提交。

winform.play.oncommand = function(id,event){     if(winform.txt.text==""){         win.msgbox("文本不能为空")         return ;      }     if(appkey == "" or accessKeyId == ""){         win.msgbox("
«  2020-04-06
回复了主题  › 阿里云语音合成

另外智能提示配置中的 !client 更改为了 !aliyunTtsClient , 这种应当使用更准确的名字以避免出现名字冲突( 因为都是全局有效 )

«  2020-04-06
回复了主题  › 阿里云语音合成

aliyun.tts 已经发布到 aardo 扩展库里了,这是改进后的示例(时间关系比较抢,所以范例未仔细检查,大概地改了一下):

/* http://www.htmlayout.cn/t/374 */ import fonts.fontAwesome; import win.ui; /*DSG{{*/ var winform = win.form(text="阿里云TTS";right=353;bottom=507) winform.add( bk={cls="bk";text="语调";left=19;t
«  2020-04-06
回复了主题  › 阿里云语音合成

感谢分享,非常棒。


有几个小的建议,

库的命名上我们还是要斟酌一下,aardio 的库得益于简洁统一的命名 - 其实让我们轻松了许多。

例如上次的Zint调整到libzint,就是去掉首字母大写(名字空间统一这样命名),使用更精确的名称代替短名称。


类似上面这个扩展库,使用了三个名字空间 aliyun,aliyun.tss,aliyun.util,

据我的了解,aliyun的接口很多(例如我就写过一个aliyun.oss),这样可能会覆盖其他人的代码,而实际上这个扩展库里aliyu

«  2020-04-06
回复了主题  › 条码库Zint.dll的调用学习

用法示例(需要更新aardio到最新版,因为用到了新版的raw.struct):

import win.ui; /*DSG{{*/ mainForm = win.form(text="Zint条码使用 - 作者:popdes(htmlayout.cn)";right=1145;bottom=788;bgcolor=12639424) mainForm.add( plus={cls="plus";left=31;top=25;right=1082;bottom=755;repeat="scale";z=1} )
«  2020-04-04
回复了主题  › 条码库Zint.dll的调用学习

又做了一些小的修改,最终扩展库如下:

import raw.struct; import gdip.bitmap; class libzint{ ctor(){{        var pSymbol = _dll.ZBarcode_CreateP();          this = ..raw.struct(zintSymbol,pSymbol);         this[["#pSymbol"]] = pSymbol;                    ..table.gc(this,"del
«  2020-04-04
回复了主题  › 条码库Zint.dll的调用学习

因为在 gdip.bitmap 的构造参数中宽、高参数写反了,所以你后面行、列要反过来写,因为行,列反过来写,所以图像必须旋转90度,因为二维码宽高一样,所以只有条码是错的,这种笔误真挺耗时间,看了zint 的源码才注意到这里。

aardio 扩展库最好不要首写大字母,库名同时是名字空间 - 一般小写首字母,保持一致的命名风格更好,所以我改了一下名字改为 libzint。

另外大家注意一下zint虽然是GPL许可证,但libzint这个核心组件却是宽松的BSD许可证,扩展库一般注明这些比较好。

我们可以在库里右键新建一个目录,命名为

«  2020-04-04
回复了主题  › 串口库sio的一些研究和扩展

回复#7 @sankychen :

标准库是自带的,不需要下载,
扩展库你可以在扩展库管理器里钩选你要下载的库,可以一次下载到本地。扩展库也不需要放到项目里,那么多的库,你每个项目都不必要的复制一份副本,那你项目得有多大?!

我们使用的阿里云的服务器,阿里云还是信得过的。aardio  的服务器提供了十多年的稳定服务,我很少听到不能下载的反馈,所以一般没有必要下载所有的扩展库。

不过无论是你的网络还是我的网络、都不可能保证百分百的稳定不出现短暂的中断,没有一个服务器

«  2020-03-28
回复了主题  › aardio调用com组件操作photoshop

app.Preferences.RulerUnits = 1 会先询问PS他要什么类型,而PS这样会报错,
app.Preferences.RulerUnits = com.Variant(1) 这样写aardio会先确定类型,PS这样反而不报错。

在COM接口里,1和com.Variant(1) 的作用是一样的,区别就是确定类型前要不要问过对方(COM的数值有细分为很多类型)

新版针对PS这个做了改进,以后直接写app.Preferences.RulerUnits = 1  就可以了。

«  2020-03-25
回复了主题  › 调用ActiveBarcode组件实现多种条形码类型和二维码生成

回复#6 @wyybeyond :


关于你所说的“完全不知道如何下手,看了下手册,好多东西都是迷迷糊糊的,比如,用单引号和双引号表示字符串,好像都行。语句后面加不加分号,好

«  2020-03-01
回复了主题  › 原生气泡提示框

 该功能已经添加到标准库了,用法更简单了:

//文本框汽泡提示 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=
«  2020-01-12
回复了主题  › 三维图表控件ecGraph3D的使用

aardio中调用VB编写的控件非常方便,

以上面的3D控件为例,只要一句代码就可以嵌入:

var ec3dG = com.lite("\res\ecGraph3D.ocx").createEmbed(main

«  2019-12-24
回复了主题  › plus控件改变文本的颜色

系统的edit控件不支持垂直对齐,

winform.plus.editBox.setPadding()的效用一拖动就会消失,

aardio实际上是反复调用这个函数来做修补。

plus控件有更简单的设置方法:

你可以直接在plus控件属性里指定

«  2019-12-11
回复了主题  › 抖音排行榜播放软件源码分享


var res = http.get(url)||{};

if(res.status_code=="0")


类似这种res可能返回为非对象的,可以改用直接下标
if(res[["status_code"]]=="0") 无论res是什么东西,这句代码都可以正常执行,可以省很多代码了。

这个类似javascript,typescript最近炒的很热火的可选链,aardio十几年前就有了。



«  2019-12-10
回复了主题  › 抖音排行榜播放软件源码分享

很不错,
getHotList 函数的title字段可以改为text,这样返回值可以直接作为 tabs.add() 的参数。
创建strip可以直接传入url这些附加字段,一般不需要额外用个表来存。
useragent可以直接作为inet.http或web.rest的构造参数。
web.rest.client本身就是一个http对象,一般可以共用。


缩进乱了,可能是制表符的问题,工具里有个制表符转表格的,一般存源码建议转制表符(减小体积),发表到网页或QQ这些建议转为统一空格。

win.ui.ta

«  2019-12-10
回复了主题  › 异形按钮的实现方法(例如:斜角按钮,星形按钮)

这个是设计时属性,仅限于在窗体设计器中使用。

plus控件的入门教程里详细解释了这个属性的用法,
里面还有截图,再截一次图:




另外在【库函数文档  / 窗口控件 】 有所有这些属性的完整列表和文档,你到入门教程里当然是找不到的,入门教程只是挑重点和基础的讲 - 不是属性手册。

«  2019-11-29
回复了主题  › 异形按钮的实现方法(例如:斜角按钮,星形按钮)

回复#5 @dsp2138 :

border跟其他所有样式都支持check,
不过plus控件其实已经支持你这种需求,前景图像可以设置内边距( 不是margin,是 paddingTop .... 这几个属性 )

所以上面的代码可以简化:

import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;b
«  2019-11-29
回复了主题  › 异形按钮的实现方法(例如:斜角按钮,星形按钮)

很好的思路,最新版aardio针对这个改进了一下,可以用png直接指定 win.ui.tabs的绘图区域,以上面的工程为例, main.aardio修改如下:

import win.ui; /*DSG{{*/ mainForm = win.form(text="斜角按钮示例";right=1220;bottom=579;bgcolor=0) mainForm.add( plus={cls="plus";text="斜角按钮效果";left=51;top=49;right=352;bottom=186;back
«  2019-10-26
登 录
信息栏
本站永久域名:HtmLayout.Cn
纯私人站,当笔记本用的,学到哪写到哪,目前正在学aardio+halcon机器视觉.
Sciter中文在线文档Sciter在线学习文档
本 站 主 站:Stm32cube中文网
Aardio 官方站:Aardio官方
Aardio最新功能:Aardio官方更新日志
aardio在线手册Aardio在线手册
C大Aardio论坛:Aar爱好者论坛
简码教程网:简码编程
AARDIO语言QQ群:70517368
赞助商:才仁机械
下载站:非凡软件站