《按键精灵》读取的坐标数字串转为数字
《按键精灵》下面是我做的游戏坐标读取,读取后是一串数字,不能直接进行+-*/运算。请教怎么才能将读取的这些数字串转为一个百位数的数字VBSDimno0,no1,no2,n...
《按键精灵》下面是我做的游戏坐标读取,读取后是一串数字,不能直接进行+-*/运算。请教怎么才能将读取的这些数字串转为一个百位数的数字
VBS Dim no0,no1,no2,no3,no4,no5,no6,no7,no8,no9,nob,ux,uy,x,y,n,cno,color,okno,i,co
//《10个数字的上半个字特征码》
no0="01110010010100101001010010100101001010010101000100"
no1="00100111000010000100001000010000100001000010000000"
no2="01110100101001000010000100010000100010001001101100"
no3="00110000010001000010001100000100001000010101001100"
no4="00010000100111001010100101001011111000100001000000"
no5="00111010000100001100000100001000010000101001001100"
no6="00010011000100001000111101000110001100010101000100"
no7="01111100100001000010000100010000100001000010000000"
no8="01110100101000101010011000101010011100011001001100"
no9="01110100101000110001100010111100010000100010011000"
IfColor 1157,74,896c6,2
VBS ux=1162 : uy=74
Else
VBS ux=1159 : uy=74
EndIf
//《两个数字之间距离》
VBS n=7
VBS okno=""
//《识别5个数字的循环次数 (为5)》
For 3
VBS co=""
//《起点颜色y坐标变量赋值》
VBS y=uy
//16行(只循环8次)特征点
For 10
//《起点颜色x坐标变量赋值》
VBS x=ux
//每行12个特征点(循环12次)
For 5
VBSCall color=GetPixelColor(x,y)
If color="0896C6"
VBS i="1"
Else
VBS i="0"
EndIf
VBS co=co & i
VBS x=x+1
EndFor
VBS y=y+1
EndFor
//《判断每次得到的特征码跟10个数字的特征码对比》
If co=no0
VBS cno="0"
ElseIf co=no1
VBS cno="1"
ElseIf co=no2
VBS cno="2"
ElseIf co=no3
VBS cno="3"
ElseIf co=no4
VBS cno="4"
ElseIf co=no5
VBS cno="5"
ElseIf co=no6
VBS cno="6"
ElseIf co=no7
VBS cno="7"
ElseIf co=no8
VBS cno="8"
ElseIf co=no9
VBS cno="9"
Else
VBS cno="?"
EndIf
//《接着识别下一个数字》
VBS ux=ux+n
//《得到验证码3个数字》
VBS okno=okno & cno
EndFor
//《显示验证码3个数字》
KeyPress 13,1
SayExpression okno
VBSCall MessageBox(okno)
我是想得到最后的结果okno是一个数值,不是一串数字。比如说我把okno的结果是345那么我把okno-1的那么那么okno的结果就成了234。它会把三个数字都减去1.我要的效果是okno-1=344这样 展开
VBS Dim no0,no1,no2,no3,no4,no5,no6,no7,no8,no9,nob,ux,uy,x,y,n,cno,color,okno,i,co
//《10个数字的上半个字特征码》
no0="01110010010100101001010010100101001010010101000100"
no1="00100111000010000100001000010000100001000010000000"
no2="01110100101001000010000100010000100010001001101100"
no3="00110000010001000010001100000100001000010101001100"
no4="00010000100111001010100101001011111000100001000000"
no5="00111010000100001100000100001000010000101001001100"
no6="00010011000100001000111101000110001100010101000100"
no7="01111100100001000010000100010000100001000010000000"
no8="01110100101000101010011000101010011100011001001100"
no9="01110100101000110001100010111100010000100010011000"
IfColor 1157,74,896c6,2
VBS ux=1162 : uy=74
Else
VBS ux=1159 : uy=74
EndIf
//《两个数字之间距离》
VBS n=7
VBS okno=""
//《识别5个数字的循环次数 (为5)》
For 3
VBS co=""
//《起点颜色y坐标变量赋值》
VBS y=uy
//16行(只循环8次)特征点
For 10
//《起点颜色x坐标变量赋值》
VBS x=ux
//每行12个特征点(循环12次)
For 5
VBSCall color=GetPixelColor(x,y)
If color="0896C6"
VBS i="1"
Else
VBS i="0"
EndIf
VBS co=co & i
VBS x=x+1
EndFor
VBS y=y+1
EndFor
//《判断每次得到的特征码跟10个数字的特征码对比》
If co=no0
VBS cno="0"
ElseIf co=no1
VBS cno="1"
ElseIf co=no2
VBS cno="2"
ElseIf co=no3
VBS cno="3"
ElseIf co=no4
VBS cno="4"
ElseIf co=no5
VBS cno="5"
ElseIf co=no6
VBS cno="6"
ElseIf co=no7
VBS cno="7"
ElseIf co=no8
VBS cno="8"
ElseIf co=no9
VBS cno="9"
Else
VBS cno="?"
EndIf
//《接着识别下一个数字》
VBS ux=ux+n
//《得到验证码3个数字》
VBS okno=okno & cno
EndFor
//《显示验证码3个数字》
KeyPress 13,1
SayExpression okno
VBSCall MessageBox(okno)
我是想得到最后的结果okno是一个数值,不是一串数字。比如说我把okno的结果是345那么我把okno-1的那么那么okno的结果就成了234。它会把三个数字都减去1.我要的效果是okno-1=344这样 展开
3个回答
展开全部
按键精灵有许多数转换的命令,例如,转单精数CSNG() 或者转双精数CDBL(),转文字字串CSTR()等等,都可以轻松的转换,你若不确定哪个能成功执行,可以同时把这些令命都打进脚本,用IF 你的变数=CSNG(你的变数)>0 或者CSTR(你的变数)<>""<---表示不能空值,,,,,这样同时执行,并在if的回圈里traceprint "CSNG(你的变数)执行结果为"&你的变数.这样就OK了,你可能多去查阅一下,官网论譠都有教程,不过他们的这个软体有个BUG,会莫名的在编辑命令时多出许多空格,导致你正确的命令源码却出现错误,此时你要把出现错误的这一段源码复制下来,新开一个档案,贴上去,再执行(当然把所有相关参数及变数设定都一并复制过去,这样有时能正常执行,然後再转贴回你原本正在编辑的脚本,就OK了,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询