还是分析Gcode代码用的,先前是直接循环获取一行的数据然后解析显示到listbox中,现在需要点击任意一行然后进行解析测试,如果没有选中任意一行那么就继续循环解析:

listbox中有这么个函数:win.ui.ctrl.listbox() = 列表框\n!listbox.

!listbox.cls = 设计时类名

!listbox.className = 运行时类名

!listbox.clear() = 清除列表框所有内容

!listbox.delete() = 删除当前选中项

!listbox.delete(__) = 删除指定项

!listbox.getItemText(__/*项索引*/) = 获取指定项文本

!listbox.getItemRect(__/*项索引*/) = 获取指定项区块位置\n返回::RECT() 结构体

!listbox.getAt(x,y) = 返回指定客户区坐标所在的项索引.

!listbox.add(__/*请输入文本*/) = 添加列表项到尾部

!listbox.add(__/*请输入文本*/,-1) = 添加列表项到尾部

!listbox.add(__/*请输入文本*/,1) = 添加列表项到头部

!listbox.selIndex = 获取或设置列表框当前选中项\n仅在单选模式下有效,多选模式下请使用 getSelected() setSelected() 函数

!listbox.selText = 获取当前选项的文本\n或根据指定的文本查找并改变选项

对于这些理解的不是很深,所以需要一步步实践下:

姑且会用到

mainForm.listbox.selIndex, mainForm.listbox.selText

于是在界面中增加一个按钮,用来显示哪个被点选了...

console.log(mainForm.listbox.selIndex,mainForm.listbox.selText);

blob.png

实现上面的完整代码如下:

import win.ui;

/*DSG{{*/

mainForm = win.form(text="aardio form";right=561;bottom=654)

mainForm.add(

Motion_file={cls="listbox";left=373;top=10;right=552;bottom=530;edge=1;items={};z=2};

button={cls="button";text="加载";left=16;top=542;right=173;bottom=591;z=3};

button2={cls="button";text="转换";left=197;top=541;right=551;bottom=590;z=4};

button3={cls="button";text="获取谁被点选了";left=20;top=598;right=177;bottom=647;z=5};

listbox={cls="listbox";left=11;top=9;right=361;bottom=529;edge=1;items={};vscroll=1;z=1}

)

/*}}*/

import console;

console.open()

mainForm.button3.oncommand = function(id,event){

//mainForm.msgbox( mainForm.button3.text );

console.log(mainForm.listbox.selIndex,mainForm.listbox.selText);

}

mainForm.button.oncommand = function(id,event){

//mainForm.msgbox( mainForm.button.text );

var filecontent = string.load("\res\5047.nc");

var linestr = string.split(filecontent,'')

for(i=1;#linestr;1){

//增加编码转换,这样就不会显示乱码了

mainForm.listbox.add(string.fromto(linestr[i],0,65001));

}

}

G_conv = function(str){

var delspace = string.replace(str," ","");

var letter = string.split(delspace);

var num = "";

for(i=1;#letter;1){

//如果字符为空字符则不作处理继续循环

if(letter[i] == " "){

continue ;

}

//强制转换为数字格式,不是数字则返回null,是则返回数字

var k,v = tonumber(letter[i]);

//判断是数字,或者是负号,或者是小数点?

if( (k != null) || (letter[i] == "-")|| (letter[i] == ".")){

//连接这些数字

num = num ++ letter[i];

//如果字符串末尾是数字,则直接输出数字

if(i == #letter){

//console.log(num)

mainForm.Motion_file.add(num);

num ="";

}

}else {    //不是数字,直接输出

if(num != ""){

mainForm.Motion_file.add(num);

num = "";

}

//console.log(num)

mainForm.Motion_file.add(letter[i]);

//console.log(letter[i])

}

}

}

var iItem =1;

mainForm.button2.oncommand = function(id,event){

var lineCurnum ;

mainForm.Motion_file.clear();

G_conv(mainForm.listbox.getItemText(iItem));

iItem++;

if(iItem>mainForm.listbox.count){

iItem = 1;

}

}

mainForm.listbox.wndproc = function(hwnd,message,wParam,lParam){

select(message) {

case 0x233/*_WM_DROPFILES*/ {

mainForm.listbox.clear();

var path = win.getDropFile(wParam)[1];

var filecontent = string.load(path);

var linestr = string.split(filecontent,'')

for(i=1;#linestr;1){

//增加编码转换,这样就不会显示乱码了

mainForm.listbox.add(string.fromto(linestr[i],0,65001));

}

}

else {

}

}

}

mainForm.enableDpiScaling();

mainForm.show();

return win.loopMessage();

aardio部署_aardio相关推荐

  1. aardio部署_aardio有什么用

    aardio编程都需要用到什么语言android编程都需要用到的是android开发语言,是一门独立的开发语言. 用什么命令在aardio中隐藏外部程序的窗口 [{icon:'extjs/exampl ...

  2. aardio - vlist虚表控件的使用

    虚表,是一个特殊的 listview. 使用aardio自带 vlist 库的注意事项: 1.虚表控件要在 mainform 窗体中添加,添加一个custom后,将其类名(cls)改为 vlist 即 ...

  3. Kubernetes 中 设置pod不部署在同一台节点上

    在k8s中,节点的调度主要由亲和性和污点来进行控制的.   而在亲和性部分由分为了节点亲和性和节点反亲和性.   节点亲和性是指在pod部署时,尽量(软策略)或者必须满足(硬策略)部署在某些节点上. ...

  4. 将jar包部署在docker上,将jar包打成镜像,使用docker部署jar包

    假设你已经准备好以下东西,即可进行服务部署 一台安装好docker的linux服务器(安装docker见安装docker) 准备好的jar包 接下来开始吧! 将jar包上传至服务器(建好文件夹存放以方 ...

  5. jar包升级部署到服务器详细流程,将服务部署在linux中

    假设你已经准备好以下东西,即可进行服务部署 一台服务器(云服务器或虚拟机皆可) 已安装好的jdk 1.8 + 的环境(可自行百度) 打好的jar包(maven打jar包) 1. 在服务器中新建好你的项 ...

  6. jar包部署shell脚本编写,在服务器上部署jar包,在Linux服务器上部署服务,设置编码格式,设置内存管理

    准备步骤: 1.安装java环境,知道java安装目录 2.将jar包拖放或发送至服务器中(目录自定义) 一.编写shell脚本,将以下代码放在shell脚本中,将shell脚本放在jar包同级目录下 ...

  7. 在docker上安装部署tomcat项目 超简单,拿来主义

    在docker中部署tomcat,非常简单,而且省去了手动安装jdk等步骤,只需要将war包复制在容器tomcat实例中的webapps下面即可.以下将详细讲解流程: 在windows中打好包以后用w ...

  8. 【CentOS】利用Kubeadm部署Kubernetes (K8s)

    [CentOS]利用Kubeadm部署Kubernetes (K8s)[阅读时间:约10分钟] 一.概述 二.系统环境&项目介绍 1.系统环境 2.项目的任务要求 三.具体实验流程 1 系统准 ...

  9. CentOS Docker安装配置部署Golang web helloworld

    目录[阅读时间:约5分钟] 一.Docker简介 二.Docker的安装与配置[CentOS环境] 三.Docker部署Golang web helloworld 四.Docker与虚拟机的区别 五. ...

最新文章

  1. 【 FPGA 】UltraFast设计方法学:在Vivado中使用设计规则检查
  2. webservice 之 Java CXF实战效果 RS WS(二)
  3. Palindrome(插入字符变成回文字符串)
  4. windows socket----select模型
  5. 移动端apm关键指标_3个经常被忽视的APM关键功能
  6. 1106 Lowest Price in Supply Chain(甲级)
  7. Collections类
  8. 【Vegas原创】xp_sendmail提示“邮件已发送”但收不到邮件的解决方法
  9. 图解SpringMVC工作流程
  10. 中国八横八纵大容量光纤通信网——世界级光纤通信网
  11. python之代码可读性浅谈
  12. 鸿蒙系统,鸿蒙app简易登录界面,界面开发教程
  13. 实战PyQt5: 141-QChart图表之箱形图
  14. 国外开源IoT平台Thingsboard社区版本(V3.3.2)在Win10环境下进行源码编译及运行指南
  15. pagehelper里的PageInfo自定义分页
  16. 【CSS3动画】利用CSS3制作“百度浏览器”官网奔跑的北极熊效果(不含背景移动)
  17. java英文介绍范文_java的英文自我介绍范文
  18. DVWA--XSS(Reflected)(全难度)
  19. mysql 查询 锁表_怎么查找mysql中的锁表语句?
  20. App详细测试流程及测试点

热门文章

  1. oracle校验社会统一信用代码(菜J笔记)
  2. 汇编语言error A2044: invalid character in file
  3. graphics.h头文件(easyx)下载并简单快速使用(C语言c++)
  4. Python同Java同Js语言语法区别之四判断字符串列表字典是否相等
  5. Teamcenter XML菜单配置
  6. 初窥构建之法——记2020BUAA软工个人博客作业
  7. [招聘信息]Automation Engineer@EMC
  8. mui扩展图标-购物车图标无法正常显示问题
  9. E1696 命令行错误: 无法打开 元数据 文件 “platform.winmd” 使用Windows运行时扩展 出现这个问题解决思路
  10. win7 flash无法全屏,win7全屏问题