按键精灵IF命令问题

//下面这段代码为什么无论位差和段差是什么正数,都只能执行1条件和3条件?
//段差 = 10
//位差=1
For i=0 to 10
位差 = InputBox("1或-1,默认","请输入现在是否有买涨建仓","1")
段差=InputBox("10或-1,默认","请输入现在是否有买涨建仓","1")
//
//为叙
//
//段差=段差+1
段差1 = 段差 * 0.7
段差2 = 段差 * 0.3
段差3 = 段差 * 0.9
段差4 = 段差 * 0.1

If 位差 > 段差1 Then //1条件
// MessageBox 1
MessageBox 段差1
End If
If 位差 < 段差2 Then //2条件
// MessageBox 2
MessageBox 段差2
End If

If 位差 > 段差3 Then //3条件
// MessageBox 3
MessageBox 段差3
End If
If 位差 < 段差4 Then //4条件
// MessageBox 4
MessageBox 段差4
End If

Next

当然不是任何正数都是执行条件1和条件3,只是你选的正数满足条件3,从而执行条件1和条件3,你这样写本身有漏洞,而且条件有交错,自相矛盾,条件判断的各个条件内容,一般要互不影响,要相互独立,例如你上面四个条件,如果段差和位差都是正数,当条件3成立,条件1一定成立,因为你这里有一个隐藏条件,段差3>段差1,同样,有段差2>段差4,所以条件4成立,条件2也成立,还有,你这里的条件1和条件3,与条件2和条件4是相互矛盾的,你这样作判断是不合理的,由于我不清楚你具体实现什么样的逻辑,所以不能提供具体代码给你。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-11-09
//你的位差是从输入框赋值 因此赋的是字符串而不是数字 要加一个类型转换
//下面这段代码为什么无论位差和段差是什么正数,都只能执行1条件和3条件?
//段差 = 10
//位差=1
For i=0 to 10
位差 = InputBox("1或-1,默认","请输入现在是否有买涨建仓","1")
位差=CInt(位差)
段差=InputBox("10或-1,默认","请输入现在是否有买涨建仓","1")
//
//为叙
//
//段差=段差+1
段差1 = 段差 * 0.7
段差2 = 段差 * 0.3
段差3 = 段差 * 0.9
段差4 = 段差 * 0.1

If 位差 > 段差1 Then //1条件
// MessageBox 1
MessageBox 段差1
End If
If 位差 < 段差2 Then //2条件
// MessageBox 2
MessageBox 段差2
End If

If 位差 > 段差3 Then //3条件
// MessageBox 3
MessageBox 段差3
End If
If 位差 < 段差4 Then //4条件
// MessageBox 4
MessageBox 段差4
End If本回答被提问者采纳

按键精灵if问题
你这个脚本会在aaa那段循环,因为时间你只判断了一次。还有h=Hour(time):m=Minute(time):s=Second(time)我没这么写过,我一般这么写:h=Hour(now)m=Minute(now)s=Second(now)

按键精灵IF命令问题
你这样写本身有漏洞,而且条件有交错,自相矛盾,条件判断的各个条件内容,一般要互不影响,要相互独立,例如你上面四个条件,如果段差和位差都是正数,当条件3成立,条件1一定成立,因为你这里有一个隐藏条件,

问一个按键精灵的IF条件语句问题。
这个写脚本和编程是一样的,不是这样直接拉过来就可以用了。例如这样写 这样就可以检测到你按了F1然后进行作用,如果是按住,要检测按键现在的状态,要自己加载系统api,所以太麻烦,用按键精灵实现的话,不如用编程软件实现。功能更开放。

关于按键精灵IF语句的疑点
Var1不是数值类型的变量,不能直接与i进行比较 你可以改为 UserVar Var1=100 "自定义变量"i = 50 If i < CInt(Var1) Then Msgbox "小于"Else Msgbox "不小于"End if

按键精灵if后面很多or
按键精灵if后面很多or表示满足多个条件中的任意一个就可以执行后续的操作。if语句通常表示的是一个条件判断,or表示逻辑中的或,即满足条件1或条件2或条件3等中的任意一个条件即可执行if后面的代码。在按键精灵是一款模拟鼠标键盘动作的软件。通过制作脚本,可以让按键精灵代替双手,自动执行一系列鼠标键盘...

按键精灵简化IF的问题
你的脚本只要一直按U按8次 就会运行QQ.exe 因为你没内嵌IF语句 除了最后的IF有用其它的形同虚设。我想你的达不倒你说的效果,试试下面的 Dim K(8)K(1)=87:K(2)=79:K(3)=83:K(4)=72:K(5)=73:K(6)=90:K(7)=72:K(8)=85:i=1 Rem start For 8 WaitKey KE If KE=K(i)...

按键精灵IF函数怎么用
方法步骤首先我们打开按键精灵软件。然后新建一个脚本方法是:单击新建按钮,选择空白脚本,最后单击确定。接着我们判断一下a是否等于0,我们在源文件里面输入命令:Ifa=0ThenTracePrint相等EndIf这时候我们用鼠标单击调试按钮。然后,用鼠标单击启动程序按钮。这时候,我们在下面的调试信息框中可以看到程度输出了...

按键精灵if的问题
类型不同.同类型才可以比较.字符串和整型计算就自动转化为整型了,

按键精灵if后面跟组合键该怎么写 或者if后面两个键有一个先后
\/\/下面的代码是当条件成立时按下ctrl+AIf a = b Then KeyDown 17, 1KeyPress 65, 1KeyUp 17, 1End If\/\/下面这个代码是当条件成立时按A然后按BIf a = b Then KeyPress "A", 1KeyPress "B", 1End If

按键精灵,多次使用嵌套if语句判断,为什么多用了几次就不行了,是什么...
首先IF判断在没达成的情况下是自动运行到下面代码的,完全用不到跳出 还有你第一个IF就算找到了,他也会自动运行到后面的MessageBox "没找到"因为你的MessageBox "没找到"是放在第一个IF的必经之路中,所以必定会运行到这行的 除非,你把MessageBox "没找到"放到第一个Else的下一行,也就是IF判定的...

相似回答