【按键精灵】如何在子程序中引人变量
dimXsubA()...........省略..........(键鼠动作)SayStringX...........省略..........(键鼠动作)EndSub我...
dimX
sub A()
...........省略..........(键鼠动作)
SayString X
...........省略..........(键鼠动作)
End Sub
我想实现以下效果:
X=情况1
call A()//执行结果:输出对情况A的描述
X=情况2
call A()//执行结果:输出对情况B的描述 展开
sub A()
...........省略..........(键鼠动作)
SayString X
...........省略..........(键鼠动作)
End Sub
我想实现以下效果:
X=情况1
call A()//执行结果:输出对情况A的描述
X=情况2
call A()//执行结果:输出对情况B的描述 展开
4个回答
展开全部
您好,如果是多线程,可以定义一个全局环境变量,不是多线程也可以定义环境变量,从您这个脚本上看,定义一个环境变量最合适!这个就是定义全局环境变量:DimEnv X X 旁边有个空格,在子程序里判断
if X = 情况1 then
call A()//执行结果:输出对情况A的描述
elseif X = 情况2 then
call A()//执行结果:输出对情况B的描述
END IF
至于如何判断什么时候是情况1或者情况2,我就举个例子,你要懂得举一反三!比如我想做一个检测键盘按键的脚本:
DimEnv 检测按键 //定义一个环境变量
IF WaitKey = 65 then //如果我按下了A键
检测按键 = 1
elseif WaitKey = 68 then //否则如果我按下了D键
检测按键 = 2
END IF
//执行到这里的时候脚本已经把值保存到变量“检测按键”中了,想用的时候就可以随时引用,这里我引用到你的例子中,希望你能看明白
IF 检测按键 = 1 then //当 变量“检测按键”=1时,也就是说前面我已经按下了A键
call A()//执行结果:输出对情况A的描述
elseif 检测按键 = 2 then //当 变量“检测按键”=2时,也就是说前面我已经按下了B键
call A()//执行结果:输出对情况B的描述
END IF
//看到这里,您明白变量怎么用了么?这些也是都可以应用到自定义控件当中,如按钮,多选按钮,下拉框等等,选一个就各给一个变量值!希望您学会了,很高兴为您解答!
if X = 情况1 then
call A()//执行结果:输出对情况A的描述
elseif X = 情况2 then
call A()//执行结果:输出对情况B的描述
END IF
至于如何判断什么时候是情况1或者情况2,我就举个例子,你要懂得举一反三!比如我想做一个检测键盘按键的脚本:
DimEnv 检测按键 //定义一个环境变量
IF WaitKey = 65 then //如果我按下了A键
检测按键 = 1
elseif WaitKey = 68 then //否则如果我按下了D键
检测按键 = 2
END IF
//执行到这里的时候脚本已经把值保存到变量“检测按键”中了,想用的时候就可以随时引用,这里我引用到你的例子中,希望你能看明白
IF 检测按键 = 1 then //当 变量“检测按键”=1时,也就是说前面我已经按下了A键
call A()//执行结果:输出对情况A的描述
elseif 检测按键 = 2 then //当 变量“检测按键”=2时,也就是说前面我已经按下了B键
call A()//执行结果:输出对情况B的描述
END IF
//看到这里,您明白变量怎么用了么?这些也是都可以应用到自定义控件当中,如按钮,多选按钮,下拉框等等,选一个就各给一个变量值!希望您学会了,很高兴为您解答!
追问
那我想对X变量赋值,反复使用该子程序要怎么办,比如该子程序运行第一遍、第二遍、第三遍.........
追答
//这个也好办,比如定义一个环境变量
DimEnv X //变量名随便改
X = 0
call 按键()
sub 按键()
do
Delay 100
keypress "A",1
X=X+1
Call Plugin.Msg.Tips("脚本运行了"&X&"次")
loop
end sub
//这是一种给变量赋值,很简单的例子,你可以用记事本调试一下!一直随着脚本循环传输递增下去!一次加几可以自己定,不知道我的回答是不是你想问的,如果不是,请再说清楚些,我可以帮您解答!
中智咨询
2024-08-28 广告
2024-08-28 广告
在当今竞争激烈的商业环境中,企业需要不断提高自身的竞争力,以保持市场份额和增加利润。通过人效提升,企业可以更有效地利用有限的资源,提高生产力和效益,从而实现盈利目标。中智咨询提供全方位的组织人效评价与诊断、人效提升方案等数据和管理咨询服务。...
点击进入详情页
本回答由中智咨询提供
展开全部
x=1 //假设x=1
call A(x) //把x的值传入子程序
sub A(参数) //定义一个有1个参数的子程序
if 参数=1 the
msgbox "执行情况1"
else
msgbox "执行情况2"
end if
end sub //定义子程序结束
call A(x) //把x的值传入子程序
sub A(参数) //定义一个有1个参数的子程序
if 参数=1 the
msgbox "执行情况1"
else
msgbox "执行情况2"
end if
end sub //定义子程序结束
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
dim xx
xx=array("春","夏","秋","冬")
for i=0 to3
msgbox xx(i)
call 过程(变量1,变量2,变量3)
next
sub 过程(a,b,c)
msgbox a
msgbox b
msgbox c
endsub
把变量123传递给子程序的变量abc.一般会用到循环,数组变量
xx=array("春","夏","秋","冬")
for i=0 to3
msgbox xx(i)
call 过程(变量1,变量2,变量3)
next
sub 过程(a,b,c)
msgbox a
msgbox b
msgbox c
endsub
把变量123传递给子程序的变量abc.一般会用到循环,数组变量
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Dim x
x = "你好,百度知道!" //这里可以随便该。
Call 子程序(x)
Sub 子程序(参数)
MessageBox 参数
End Sub
试试我的吧。
x = "你好,百度知道!" //这里可以随便该。
Call 子程序(x)
Sub 子程序(参数)
MessageBox 参数
End Sub
试试我的吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询