Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Loops AHK中的基本应用程序-主回路和流量控制_Loops_Syntax_Autohotkey_Main - Fatal编程技术网

Loops AHK中的基本应用程序-主回路和流量控制

Loops AHK中的基本应用程序-主回路和流量控制,loops,syntax,autohotkey,main,Loops,Syntax,Autohotkey,Main,我想用AHK写一个小应用程序,但我面临 理解基础知识的困难 流控件和语法。 所以基本上这个问题可以理解为-我该如何写一个 AHK中的简单程序 这里是一个非常简单的程序,必须切换 用鼠标右键单击“pan_on”标志。 然后根据这个值做一些事情 pan_on := false Esc:: ExitApp Rbutton:: tooltip, "button pressed" pan_on := true return Rbutton up:: tooltip,

我想用AHK写一个小应用程序,但我面临 理解基础知识的困难 流控件和语法。 所以基本上这个问题可以理解为-我该如何写一个 AHK中的简单程序

这里是一个非常简单的程序,必须切换 用鼠标右键单击“pan_on”标志。 然后根据这个值做一些事情

pan_on := false

Esc:: ExitApp

Rbutton:: 
    tooltip,  "button pressed"
    pan_on := true
return

Rbutton up:: 
    tooltip,  "released"
    pan_on := false
return

 if (pan_on = true)
{
    tooltip,  "XXXXXXXXEngage"
}
以“Rbutton”行开头的块正在工作 正确地但问题是最后一个街区 条件语句永远不会执行。 在最后一个块或所有脚本周围添加无休止的循环 他也帮不上忙

我对这种编程风格非常熟悉(这里使用Python语法):

所以我想不出有什么不同的地方 写一个程序,但似乎自动热键是什么 “特别”在这个意义上,一个人必须使用另一种方法? 在第一个AHK示例中,似乎“Rbutton::”始终处于就绪状态,我将其视为无限循环中的条件“if key_down”, 但我必须为此感到愤怒吗

那么,我该如何制作这个简单的应用程序呢 代码样式? AHK的主回路在哪里?控制流是如何工作的 管理运行的部分代码的入口点? 如果我只是在“Rbutton::”之后写下所有内容,它会起作用,但是 这不是一个人写程序的方式,而且很难理解
进一步发展逻辑。

就控制流而言,您的
if
语句从未达到。据我所知,解释器首先读取脚本顶部的AutoExec部分,该部分处理设置,然后根据热键和指令执行操作,然后执行逐行代码,直到返回。您还需要循环代码以不断检查值是否为真,或者只需检查一次就可以继续了

pan_on := false

loop {
 if (pan_on = true)
    tooltip,  "XXXXXXXXEngage"
}

Esc:: ExitApp

Rbutton:: 
    tooltip,  "button pressed"
    pan_on := true
return

Rbutton up:: 
    tooltip,  "released"
    pan_on := false
return
这可能是一个很好的阅读:,解释了自动执行部分(您缺少的主循环)。对于其中的多个循环,可以使用计时器。
pan_on := false

loop {
 if (pan_on = true)
    tooltip,  "XXXXXXXXEngage"
}

Esc:: ExitApp

Rbutton:: 
    tooltip,  "button pressed"
    pan_on := true
return

Rbutton up:: 
    tooltip,  "released"
    pan_on := false
return