i3i5i7 发表于 2012-11-30 09:13:52

mach3 vb脚本程序code"g0 xa yb"不执行

本帖最后由 i3i5i7 于 2012-11-30 10:16 编辑

在下面程序中code "g0 xa yb"    不执行。怎么才能执行这样的代码?请各位大哥帮忙看看。
我将a,b换成具体的数值他就能执行了,可是已改为变量就不执行。

Dim a AsInteger
Dim b AsInteger
Dim c AsInteger
Dim d AsInteger
Open"E:\Code_CNC\123.txt"For Input As #1
Do While Not EOF(1)
   Line Input #1,a
Line Input #1,b
Line Input #1,c
   Line Input #1,d
Loop
Close #1
code "g0 xa yb"    '此代码软件不执行
Code "(矩阵钻孔)" '在信息栏提示工作内容
Code "g0 x10 y10"
Code "g0 z3"
Code "g0 x0 y0"
code"g0 z0"

zouxd2012 发表于 2012-12-3 02:03:54

code "g0 xa yb"在这里变量a,b实际变成字符了a,b了,相当于坐标x=“a“,y=”b“,实际变成非数字坐标所以不执行。具体怎么将a,b变量内容带入,由于VB不是非常熟悉,给不出代码,如果用C语言的话可以:sprintf(str,"code \"g0 x%f y%f\"", a, b);仅作为参考看看对你是否有用,找找VB中的类似代码。

i3i5i7 发表于 2012-12-3 10:39:49

zouxd2012 发表于 2012-12-3 02:03 static/image/common/back.gif
code "g0 xa yb"在这里变量a,b实际变成字符了a,b了,相当于坐标x=“a“,y=”b“,实际变成非数字坐标所以 ...

谢谢您的回答,我试试看!{:smile:}

zouxd2012 发表于 2012-12-4 11:21:47

请教楼主VB在mach3中能够怎么帮助你?

i3i5i7 发表于 2012-12-4 12:05:31

zouxd2012 发表于 2012-12-4 11:21 static/image/common/back.gif
请教楼主VB在mach3中能够怎么帮助你?

您好,很高兴您怎么热情地帮助我,请问下面这几句代码对吗?
Dim wshShell
Set wshShell = CreateObject("Wscript.Shell")                               
wshshell. SendKeys"{Enter}"       

现在想让计算机模拟人工输入,如何确认是否输入了,或者输入是否正确?谢谢了!      

zouxd2012 发表于 2012-12-4 14:26:32

如果是模拟输入,你的代码首先要控制输入的焦点,就是你这个键入指向那个应用软件,甚至是那个输入框,你的代码里没有看到,VB不是非常熟,用到的时候现查函数说明那种。VB应该是调用Windows API中的函数完成这些工作。焦点API应该是SetFocus之类的。

i3i5i7 发表于 2012-12-4 18:16:26

本帖最后由 i3i5i7 于 2012-12-4 18:23 编辑

zouxd2012 发表于 2012-12-4 14:26 static/image/common/back.gif
如果是模拟输入,你的代码首先要控制输入的焦点,就是你这个键入指向那个应用软件,甚至是那个输入框,你的 ...

大哥说的是啊,我是个初学者,vb没有系统的学过。

i3i5i7 发表于 2012-12-4 18:30:19

i3i5i7 发表于 2012-12-4 18:16 static/image/common/back.gif
大哥说的是啊,我是个初学者,vb没有系统的学过。

Dim a AsInteger
Dim b AsInteger
Dim c AsInteger
Dim d AsInteger
Open"E:\Code_CNC\123.txt"For Input As #1
Do While Not EOF(1)
   Line Input #1,a
Line Input #1,b
Line Input #1,c
   Line Input #1,d
Loop
Close #1
print "a,b,c,d"      '这一句将a,b,c,d输出后,校验输出是否正确,然后下面模拟

回车

````````````      '模拟回车

code "g0 xa yb"    '此代码软件不执行
Code "(矩阵钻孔)" '在信息栏提示工作内容
Code "g0 x10 y10"
Code "g0 z3"
Code "g0 x0 y0"
code"g0 z0"

在这段代码中,我想模拟回车,不过我写的代码运行起来很不好,请大哥指教,帮忙写一个模拟回车的脚本,就是省略号部分,非常感谢!

zouxd2012 发表于 2012-12-4 20:26:58

没有用VB写过,只是知道模拟键盘鼠标的流程。首先通过API找到被控制程序窗口的句柄(你这里应该是mach3主窗口),然后发出Activate指令或者SetFocus这类的获得焦点,然后才用SendKey之类的发出模拟键盘鼠标指令。有些程序为了防止外挂还有意避免这些指令起作用,像QQ和一些游戏类程序。所以模拟过程要考虑的还挺多,一般不用VB做,不方便,有专门的一些语言。功夫到位的话就用VC,VB调用Windows API一样实现,不过动作较大了点,有些不值。

i3i5i7 发表于 2012-12-4 20:40:31

感谢大哥指教,您说的这些对我很有帮助!谢谢!

i3i5i7 发表于 2012-12-5 12:09:13

zouxd2012 发表于 2012-12-4 20:26 static/image/common/back.gif
没有用VB写过,只是知道模拟键盘鼠标的流程。首先通过API找到被控制程序窗口的句柄(你这里应该是mach3主窗 ...

谢谢大哥指教。
页: [1]
查看完整版本: mach3 vb脚本程序code"g0 xa yb"不执行