aardio部署_aardio

aardio部署_aardio还是分析 Gcode 代码用的 先前是直接循环获取一行的数据然后解析显示到 listbox 中 现在需要点击任意一行然后进行解析测试 如果没有选中任意一行那么就继续循环解析 listbox 中有这么个函数 win ui ctrl listbox 列表框 n listbox listbox cls 设计时类名 listbox className 运行时类名 listbox clear

还是分析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();

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/200168.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月20日 上午11:24
下一篇 2026年3月20日 上午11:24


相关推荐

  • Web开发:关于Tomcat出现The origin server did not find a current representation for the target resourc…的问题

    Web开发:关于Tomcat出现The origin server did not find a current representation for the target resourc…的问题Theoriginser 在 web 开发的过程中 看到这一段错误提示 不管是在入门阶段还是已经是 web 老手都会感到很头痛 我也是在使用 JSTL 库的过程中 出现了这

    2026年3月19日
    2
  • Git常用指令[通俗易懂]

    Git常用指令[通俗易懂]####gitclone远端地址 克隆到本地####gitpulloriginmaster 更新到本地####gitadd.####gitcommit-m"xxx"####gitpushoriginmaster 提交代码####gitbranch分支名称 创建分支####gitcheckout分支名 切换分支####gitbranch-D分支名; 彻底删除分…

    2022年5月29日
    37
  • sublime 插件安装 最全版本

    sublime 插件安装 最全版本SublimeText3修改插件安装位置在安装目录下新建个“Data”目录(如安装目录“D:\ProgramFiles\SublimeText3\”下),重启Sublime,BrowserPackages就直接打开这里了。这时候,需要重亲安装“PackageControl”,装完后,貌似插件会自动装好的。第一篇:  首先声明一下,小编是做后台开发出身,但是总是想捣鼓一些小的网站出来,…

    2022年6月24日
    35
  • oracle隐式转换和显式转换_oracle显示游标和隐式

    oracle隐式转换和显式转换_oracle显示游标和隐式和其他的关系型数据库一样,oracle中也能进行一些隐式的数据转换,这对我们写SQL语句有非常用,我们可以不必麻烦地手动转化很多类型的字符。虽然前面我们介绍了一些使用例如to_char,to_date的函数进行强制转换的方法,但是隐式转换也还是不错的。Orac和其他的关系型数据库一样,oracle中也能进行一些隐式的数据转换,这对我们写SQL语句有非常用,我们可以不必麻烦地手动转化很…

    2022年10月11日
    7
  • 圆柱体体积的计算公式圆柱体积的计算公式_圆的面积计算公式

    圆柱体体积的计算公式圆柱体积的计算公式_圆的面积计算公式圆柱体体积计算公式?长方形的周长=(长+宽)×2正方形的周长=边长×4长方形的面积=长×宽正方形的面积=边长×边长三角形的面积=底×高÷2平行四边形的面积=底×高梯形的面积=(上底+下底)×高÷2直径=半径×2半径=直径÷2圆的周长=圆周率×直径=圆周率×半径×2圆的面积=圆周率×半径×半径长方体的表面积=(长×宽+长×高+宽×高)×2长方体的体积=长×宽×高正方体的表面积=棱长×棱长×6正…

    2026年2月3日
    6
  • Slog53_Unity3D之功能脚本_FindOtherGameObjects_找到场景内除自己外的其他GameObject

    Slog53_Unity3D之功能脚本_FindOtherGameObjects_找到场景内除自己外的其他GameObject

    2021年6月12日
    108

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号