快手软件

快手 AAuto v1.0 更新

v1.0 版本更新说明


生成exe文件支持在工程属性中自定义版本、版权信息.

 

支持自定义生成时的exe文件输出目录

 

工程同步本地目录功能,可自动忽略.svn等隐藏目录

 

保存按钮将根据当前打开代码是否修改自动改变为启用或禁用状态

 

可直接拖放工程文件到快手中打开工程

 

修复代码编辑器光标bug

 

图片框控件支持更多可设置属性:控件自适应,图片绝对居中等
增加autosize属性,可设置是否根据图像大小调整控件大小,
增加center属性,可设置图像居中显示并禁用自适应功能,

 

静态文本框控件可设置垂直居中,自动换行等属性

 

tostring(number,radix) 
支持在第二个参数中指定进制

 

增加 
string.search() 
string.lastSearch() 
string.gSearch()
等用于纯文本查找的函数,可更好支持宽字符。

 

增加 string.len() 
函数,可用于计算宽字符数

 

string.sub() 
string.left() 
string.right()
等函数,支持在最后增加一个true参数以指定按中英文字符个数截取字符串。
而默认按字节拆分(即一个中文计为两个字节)

 

string.mbcs 
宽字符支持库增强。

 

增加原型类相关函数,请参考文档:
http://www.aau.cn/doc/reference/libraries/kernel/table/declare.html

 

增加raw.mixin函数,可以方便的在指定内存混入结构体对象

 

支持在javascript中枚举AAuto对象,

下面是一个范例,在javascript中编写一个$enum函数, 用于枚举AAuto数组、对象, Javascript数组,对象

 

  
import web.form;
/*DSG{{*/
var winform = win.form(parent=...; bottom=451;scroll=1;right=681;text="AAuto Form" )
winform.add(  )
/*}}*/

//创建web窗体
var wb = web.form( winform )

import console;
wb.external={
    log = 
function(...){
        console.log(...) 
    }
    tab = {abc=1;b=2};
    array = {1;2;3} 


var html = /**
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    
    <script type="text/javascript">
    console = {};
    console.log = function () {
        for (var i = 0; i < arguments.length; i++) {  
            if( typeof(arguments[i])!="undefined" && typeof(arguments[i])!="null"    )
                arguments[i] =  arguments[i].toString() 
            else 
                arguments[i] =  typeof (arguments[i]);
        }
        Array.prototype.splice.call(arguments, 0, 0, external, 'Javascript console:');
        Function.call.apply(external.log, arguments);
    };  
    $enum = function(obj,callback){
        if(typeof(obj)=="unknown"){
            var array = new VBArray(obj).toArray()
            for (var i = 0; i < array.length; i++) {
                callback(i, array[i] );
            }
        }
        else { 
            if( obj instanceof Array ){
                for(var i=0;i<obj.length;i++){
                    callback(i,obj[i]);  
                }
            }
            else if( obj instanceof Object ){
                for( k in obj){
                    callback(k,obj[k]); 
                }
            }
            else{
                var e = new Enumerator(obj);  
                var k; 
                for   (;!e.atEnd();e.moveNext()){ 
                    k = e.item(); 
                    callback(k,obj[k]); 
                }
            }
        } 
    } 
    </script>
    
    <script type="text/javascript">
    //其他Js代码
    
    </script>
    
    <style type="text/css">
    body { 
        font: 10.5pt/1.3;
    }
    </style> 
</head>
<body>
    <div id="myId">  
        click me!
    </div>
</body>
</html>
**/
 
wb.write( html ) 
  
var js = /**
    console.log( "Hello,AAuto!" )
    console.log( "Welcome to AAuto!",event.srcElement.id );
    //枚举js数组
    $enum(
        [1,2,3],
        function(k,v){
            console.log(k,v)
        }
    )
    //枚举js对象
    $enum(
        {a:123,b:456},
        function(k,v){
            console.log(k,v)
        }
    )
    //枚举AAuto数组
    $enum(
        external.array,
        function(k,v){
            console.log(k,v)
        }
    )
    //枚举AAuto对象
    $enum(
        external.tab,
        function(k,v){
            console.log(k,v)
        }
    )
**/

wb.eventScript(js,
"myId","onclick")

winform.show(); 

//进入消息循环
win.loopMessage(); 

posted on 2011-10-09 11:50  快手软件  阅读(425)  评论(0编辑  收藏  举报

导航