关于mask库的一些感悟
jacen也说了,这个mask可以做很多事。
其实一直有个想法,实现类似web做的界面那样一个功能:
当用户第一次打开软件的时候,自动调用遮罩提示,提示简单的使用步骤和方法。通过遮罩这种高亮加箭头的方式告诉用户这个按键或者这个功能被放在了什么位置。
下面是实现遮罩的核心代码
menu菜单增加图标方法
今天看richedit文本框代码,发现还有这种写法,可以使能或者失效相应的菜单项
popMenu = function(menuTable){ var richedit = owner; var menu = ..win.ui.popmenu( richedit._parentForm ) menu.addTable( { { "全选(&A)"; function(id){ richedit.selectAll() } }; { /*分隔线*/ };echarts二次封装之再研究
根据以上写了第一个测试程序:
import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=759;bottom=469) winform.add( button={cls="button";text="Button";left=678;top=412;right=763;bottom=468;z=1} ) /*}}*/ import web.json; import web.blink.form; var wbForm =echarts二次封装之再研究
下面开始模拟下table操作,看看能不能达到效果
import console; var xx = function(retTab,index){ select(index) { case 1 { retTab.xAxis = table.mixin(retTab.xAxis,{type = "aaaa"}); } case 2 { retTab.xAxis = table.mixin(retTab.xAxis,{type = "bbbb"}); } case 3 {echarts二次封装之再研究
aar里table和json格式可以相互转换,所以,echarts里用的json格式,可以由aar中的table来代替,只需要执行之前转换下。
table在aar之中是十分常见的,可以操作的空间巨大。
那么是不是可以利用这个特性来赋值和操作echarts呢
首先要解决的问题就是table中加入新的属性和覆盖老的属性问题:
import console; var option = {}; option.xAxis = table.mix开启或者禁用最大化和最小化按钮
开启和禁用只需要更改样式就可以了
import win.ui; /*DSG{{*/ var winform = win.form(text="aardio form";right=562;bottom=191) winform.add( button={cls="button";text="禁用最小化";left=62;top=74;right=253;bottom=125;z=1}; button2={cls="button";text="启用最小化";left=314;top=73;right=505;b读取txt或者字符串中的aar函数代码,并通过loadcode() 来加载执行此函数
如果把loadcode()改为loadcodex(),那么就可以少写一个执行初始化的语句了
读取txt或者字符串中的aar函数代码,并通过loadcode() 来加载执行此函数
读取txt或者字符串中的aar函数代码,并通过loadcode() 来加载执行此函数
更进一步:
如果字符串中是一个多维度Tab表,而且表里有字符串和函数,那么
import console; var sss=/****** xxtab={ geshi = "41"; xieyi = function(str){ var dataStr = string.left(string.replace(str,"\s",""),4); var ret = (10-tonumber(dataStr)*0.01); return ret; } } *读取txt或者字符串中的aar函数代码,并通过loadcode() 来加载执行此函数
如题,有个需求是能过加载并执行一个txt或者ini文件中的字符串,这个字符串中包含需要被调用的函数方法,程序里要执行此方法。
对于不能内嵌的ocx控件的处理方法
//显示桌面
::SendMessageInt( ..win.find("Shell_TrayWnd") , 0x111/*_WM_COMMAND*/, 419/*MIN_ALL*/, 0 );
对于不能内嵌的ocx控件的处理方法
以上引用自aardio的com.dsoFramer库
另一种方式来分割字符串
import console;
import string;
import fsys.stream
var data=string.unhex("0111800500000000","")
var opcommon={byte Version[2];byte Code[2];byte Status[4]}//Version=0x0111,Code=0x8005,Status=0x00000000
var f=fsys.stream(data)
f.read(opcommon)
console.
另一种方式来分割字符串
import console;
import string;
import fsys.stream
var data=string.unhex("0111800500000000","")
var opcommon=class{
byte Version[2];byte Code[2];byte Status[4];
prop=function(a){
return ..string.hex(this[a],"")
}
}
var op=opcommon();
(转)检测是否有抓包工具在运行
namespace checkHttp{
var antiInfo = {"HTTP Analyzer Stand-Alone Edition";"Fiddler";"Charles Web Debugging Proxy";"IPAnalyse Microsoft 基础类应用程序";"Wireshark";"Sniffer";"WSockExpert"}
antiInfo = {"Analyzer";"Fiddler";"Charles";"IPAnalyse";"Wireshark";"Sniffer";"WSockExpert"}