我正在尝试运行不同的功能x的次数和特定顺序。
Global $Runner
HotKeySet("{F8}", "start")
HotKeySet("{F9}", "stop")
While 1
Sleep(100)
WEnd
Func start()
Local $1 = 0
Local $2 = 1
Local $3 = 44
$Runner = Not $Runner
While $Runner
If $1 <= $2 Then
<rune some code>
<$1 = $1 + 1>
ElseIf $1 >= $2 Then
<run some other code>
<$1 = 0> ; To star the loop again
Until $1 has run 44 times Then
<last piece of code>
EndIf
WEnd
EndFunc ;==>start
Func stop()
Exit
EndFunc ;==>stop
我声明了三个变量:
$1 = 0
$2 = 1
$3 = 44
我试图以某种方式运行它:
If $1 <= $3 Then
<rune some code>
Else $1 >= $3 Then
<run some other code>
;then repeat from start
Until $1 has run 44 times Then
<last piece of code>
我不知道如何在第一个循环完成44个循环后运行第三个代码。关于如何尽可能轻松地做到这一点的任何提示?订单应为:
- [第一个代码]应始终运行两次。
- [第二个代码]应始终在[第一个代码]循环两次之后运行,然后在每个循环之间
- [第三代码]应始终在第一个代码循环44次之后运行。
$flag = 1
For $i = 1 To 44
If $i = 44 Then ;every 44th time
MsgBox(0, $i , 'run $3') ;do thing 3
$i = 0 ;reset the loop we are counting to 44 with
ContinueLoop
EndIf
If $flag = 3 Then ;every third time
MsgBox(0, $i , 'run $2') ;do thing 2
$flag = 1 ;reset the flag we are counting to 3 with
ContinueLoop
EndIf
If $flag < 3 Then ;every first and second time
MsgBox(0, $i , 'run $1') ;do thing 1
$flag += 1 ;iterate the flag we are counting to 3 with
ContinueLoop
EndIf
Next
&hellip;我如何尽可能轻松地做到这一点?
根据文档 - 语言参考 - 循环语句:
循环是您参考多次重复脚本的一部分的方式。您可能想循环给定的次数,或者只要某个条件为真或错误,就可以重复一部分脚本。
示例:
While True
For $i1 = 1 To 44
For $i2 = 1 To 2
ConsoleWrite($i1 & ' function1' & @CRLF)
Next
ConsoleWrite($i1 & ' function2' & @CRLF)
Next
ConsoleWrite($i1 & ' function3' & @CRLF)
WEnd
无限重复:
1 function1
1 function1
1 function2
...
44 function1
44 function1
44 function2
45 function3
预期顺序的解释留出了解释的空间;无论是什么意图,都可以轻松实现移动循环或函数呼叫级别的级别。