实现功能:
扩展内核库功能
- toHex(__,,) = 取十六进制文本。\n参数1:支持数值number、文本string、缓冲区buffer、指针pointer。\n如果是string、buffer、pointer,可以带以下两个参数:\n 参数2:开始位置(默认为1)\n 参数3:要转换的数据长度(默认为1)。
- toText(__) = 取遇0终止文本。\n参数支持:string、buffer、pointer、number(数值则转换为指针)
- hexToNumber(__) = 十六进制文本转数值
- hexToString(__) = 十六进制文本转文本
- hexToBuffer(__) = 十六进制文本转缓冲区
- win.ui.menu.setPopmenuHeight(__/*弹出菜单句柄*/,/*总高度*/) = 设置弹出菜单总高度。一但菜单超过这个高度时将自动出现滚动箭头。
- godking.setTreeviewItems(__,,,) = 设置树型框项目。\n参数:1、树型框组件 2、项目文本 3、项目图片索引表 4、项目选中状态表\n项目文本格式:缩进层级从0开始+","+项目文本+换行\n如:\n"0,父级1\n1,一级子级\n2,二级子级\n2,二级子级\n0,父级2\n1,一级子级\n2,二级子级\n3,三级子级"
- godking.ppt2img(__/*ppt文件*/,/*保存目录*/,/*保存格式*/) = ppt保存为图片。\n保存格式默认为png:0x12/*_ppSaveAsPNG*/
- godking.xls2pdf(__/*xls文件*/,/*pdf文件*/) = xls文件保存为pdf
- showCursor() = 显示鼠标光标
- hideCursor() = 隐藏鼠标光标
- setVarValue(__,) = 通过变量名,获取变量值。\n参数:\n1:变量名\n2:变量值\n3:是否包含全局变量(默认true)\n否则仅限var声明的局部变量\n4:自调用该函数的函数开始(第1层)向上,不查找这些层级函数内的变量。\n默认为0,即不排除任何层(包含当前函数内的变量,全部查找。)\n\n变量值查找顺序(找到即返回):\n1:先取层次最近的局部变量\n2:再取全局变量\n3:再执行eval计算变量名的值
- getVarValue(__) = 通过变量名,获取变量值\n参数:\n1:变量名\n2:是否包含全局变量(默认true)。否则仅限var声明的局部变量\n3:自调用该函数的函数开始(第1层)向上,不查找这些层级函数内的变量。\n默认为0,即不排除任何层(包含当前函数内的变量,全部查找。)\n\n变量值查找顺序(找到即返回):\n1:先取层次最近的局部变量\n2:再取全局变量\n3:再执行eval计算变量名的值
- f(__) = 用对应的变量值,替换字符串中的“{变量名}”\n参数:\n1:变量名\n2:是否包含全局变量(默认true)。否则仅限var声明的局部变量\n3:自调用该函数的函数开始(第1层)向上,不查找这些层级函数内的变量。\n默认为0,即不排除任何层(包含当前函数内的变量,全部查找。)\n\n类似于python中的f"abc{var}def"表达式。\n如:\nvar num = 123;\nvar s = f("abcd{num}efgh")\n则 s 的值为:abcd123efgh
- string.utf8ToAnsi(__) = utf8转ansi。编码为_CHARSET_开头的常量。
- string.utf8ToGbk(__) = utf8转GBK。编码为_CHARSET_开头的常量。
- string.utf8ToUnicode(__) = utf8转unicode(UTF16)。编码为_CHARSET_开头的常量。
- string.ansiToUtf8(__) = ansi转utf8。编码为_CHARSET_开头的常量。
- string.ansiToUnicode(__) = ansi转unicode(UTF16)。编码为_CHARSET_开头的常量。
- string.ansiToGbk(__) = ansi转gbk。编码为_CHARSET_开头的常量。
- string.unicodeToUtf8(__) = unicode(UTF16)转utf8。编码为_CHARSET_开头的常量。
- string.unicodeToAnsi(__) = unicode(UTF16)转ansi。编码为_CHARSET_开头的常量。
- string.unicodeToGbk(__) = unicode(UTF16)转gbk。编码为_CHARSET_开头的常量。
- table.sortEx(__,1,false,0,true) = 表排序。\n不修改原表,返回排序后的表。失败返回null。\n参数1:要排序的表。如果每一项都是表(子表),则需要通过参数2指定排序的参考字段;\n参数2:要排序的子表的参考字段(数组索引或字典键名);\n 如果子项为数组,则参考字段默认为1\n参数3:是否逆序。\n参数4:将数据进行转换后再排序,1转换为时间,2转换为数值,3转换为文本,其它不转换。\n参数5:使用微软dll进行字符串排序。速度稍慢。
- raw.fromByte(__) = 创建字节型数据(1字节)
- raw.fromWord(__) = 创建双字节(短整数)数据(2字节)
- raw.fromInt(__) = 创建整数型数据(4字节)
- raw.fromFloat(__) = 创建单精度小数数据(4字节)
- raw.fromDouble(__) = 创建双精度小数数据(8字节)
- raw.fromLong(__) = 创建长整数数据(8字节)
- raw.readByte(__,1) = 读取字节值(1字节)。\n参数:1、指针(数值会转换为指针)、buffer、string 2、读取开始位置(默认为1)
- raw.readWord(__,1) = 读取短整数(2字节)。\n参数:1、指针(数值会转换为指针)、buffer、string 2、读取开始位置(默认为1)
- raw.readInt(__,1) = 读取整数型(4字节)。\n参数:1、指针(数值会转换为指针)、buffer、string 2、读取开始位置(默认为1)
- raw.readFloat(__,1) = 读取单精度小数(4字节)。\n参数:1、指针(数值会转换为指针)、buffer、string 2、读取开始位置(默认为1)
- raw.readDouble(__,1) = 读取双精度小数(8字节)。\n参数:1、指针(数值会转换为指针)、buffer、string 2、读取开始位置(默认为1)
- raw.readLong(__,1) = 读取长整数(8字节)。\n参数:1、指针(数值会转换为指针)、buffer、string 2、读取开始位置(默认为1)
- raw.readBuffer(__,1,/*长度*/) = 读取内容,返回Buffer类型数据。\n参数:\n1、指针(数值会转换为指针)、buffer、string \n2、读取开始位置(默认为1)\n3、读取长度(buffer或string时默认到尾部,指针时默认为1)
- raw.readString(__,1,/*长度*/) = 读取内容,返回String类型数据。\n参数:\n1、指针(数值会转换为指针)、buffer、string \n2、读取开始位置(默认为1)\n3、读取长度(buffer或string时默认到尾部,指针时默认为1)
- raw.writeByte(__,1,) = 写入字节值(1字节)。\n参数:1、指针(数值会转换为指针)、buffer、string 2、写入开始位置(默认为1) 3、写入值
- raw.writeWord(__,1,) =写入短整数(2字节)。\n参数:1、指针(数值会转换为指针)、buffer、string 2、写入开始位置(默认为1)3、写入值
- raw.writeInt(__,1,) = 写入整数型(4字节)。\n参数:1、指针(数值会转换为指针)、buffer、string 2、写入开始位置(默认为1)3、写入值
- raw.writeFloat(__,1,) = 写入单精度小数(4字节)。\n参数:1、指针(数值会转换为指针)、buffer、string 2、写入开始位置(默认为1)3、写入值
- raw.writeDouble(__,1,) = 写入双精度小数(8字节)。\n参数:1、指针(数值会转换为指针)、buffer、string 2、写入开始位置(默认为1)3、写入值
- raw.writeLong(__,1,) = 写入长整数(8字节)。\n参数:1、指针(数值会转换为指针)、buffer、string 2、写入开始位置(默认为1)3、写入值
- raw.writeData(__,1,/*数据*/,/*长度*/) = 写入数据。\n参数:\n1、指针(数值会转换为指针)、buffer、string \n2、写入开始位置(默认为1)\n3、写入数据(buffer、string、结构体)\n4、数据长度\n如果不指定长度,则超出目标内存区域时自动截断,并返回执行结果\n如果指定长度,则超出目标内存区域时视为失败,不写入并返回null
- raw.getPointer(__,i) = 获取指针,返回pointer。\n参数:1、指针、数值、buffer、string 2、偏移量(默认为0)
- raw.slice(__,i,j) = 从buffer类型数据中截取位置i到j的数据。\n同string.slice()。返回string类型数据。\n如果i、j为负数则从右侧倒数计数\n省略参数j则到尾部
- _CHARSET_UTF8 = @65001/*_CHARSET_UTF8*/
- _CHARSET_UTF16 = @1200/*_CHARSET_UTF16*/
- _CHARSET_UNICODE = @1200/*_CHARSET_UNICODE*/
- _CHARSET_BIG5 = @950/*_CHARSET_BIG5*/
- _CHARSET_GBK = @936/*_CHARSET_GBK*/
- _CHARSET_ANSI = @0x0/*_CHARSET_ANSI*/
- _CHARSET_GB18030 = @54936/*_CHARSET_GB18030*/
- _CHARSET_GB2312 = @936/*_CHARSET_GB2312*/
- 删除 plus 按钮配色函数,请使用 win.ui.css 样式表库( 风行者制作 )
库文件位置:
下载地址:http://chengxu.online →aardio资源下载→_.rar
解压缩将文件放于:\lib\godking\_.aardio
调用示例:
import console;
import godking;
var num = 12345678
var txt="12345678"
var buffer = raw.buffer(txt);
var pointer = raw.toPointer(buffer)
console.log(toHex(num))
console.log(toHex(txt))
console.log(toHex(buffer))
console.log(toHex(pointer,-8,20))
var utf8 = "这里是utf8字符串"
var ansi = string.utf8ToAnsi(utf8)
var unicode = string.ansiToUnicode(ansi)
console.log("utf8->",toHex(utf8))
console.log("ansi->",toHex(ansi))
console.log("unicode->",toHex(unicode))
console.pause(true);