<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Как прервать цикл?]]></title>
	<link rel="self" href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=13562&amp;type=atom" />
	<updated>2018-03-22T08:31:53Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=13562</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как прервать цикл?]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=124193#p124193" />
			<content type="html"><![CDATA[<p>2<strong>teadrinker</strong><br />спасибо с массивом будет не так громоздко, то что надо</p><p>и глупый вопрос про синтаксис <br /><strong>break 2</strong> необходим для прерывания двух циклов или просто опечатка?</p>]]></content>
			<author>
				<name><![CDATA[autokey]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=39144</uri>
			</author>
			<updated>2018-03-22T08:31:53Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=124193#p124193</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как прервать цикл?]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=124191#p124191" />
			<content type="html"><![CDATA[<p>Как вариант:<br /></p><div class="codebox"><pre><code>keyArray := [ [&quot;1&quot;], [&quot;2&quot;, 500], [&quot;3&quot;, 200], [&quot;7&quot;], [&quot;8&quot;, 500], [&quot;9&quot;, 200] ]

$1::
   Critical
   if (toggle := !toggle)
      SetTimer, StartStop, -10
   Return

StartStop:
   Loop  {
      for k, v in keyArray  {
         SendInput, % v[1]
         if v.HasKey(2)
            Sleep, v[2]
         if !toggle
            break 2
      }
   }
   Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2018-03-21T23:28:43Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=124191#p124191</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как прервать цикл?]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=124189#p124189" />
			<content type="html"><![CDATA[<p><strong>autokey</strong>, в AHK_H можно:<br />• делать Sleep внутри Send -<br /></p><div class="codebox"><pre><code>Send 12{500}3{200}78{500}9{200}</code></pre></div><p>• запустить метку в отдельном потоке и завершить его в любой момент.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2018-03-21T21:21:53Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=124189#p124189</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как прервать цикл?]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=124187#p124187" />
			<content type="html"><![CDATA[<p>2<strong>Malcev</strong> когда в цикле более 100 строк и потенциально он еще разрастется раз в 10... <br />тогда уж проще будет запускать цикл отдельным скриптом и просто тушить его когда не нужен</p>]]></content>
			<author>
				<name><![CDATA[autokey]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=39144</uri>
			</author>
			<updated>2018-03-21T19:48:19Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=124187#p124187</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как прервать цикл?]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=124186#p124186" />
			<content type="html"><![CDATA[<p><strong>autokey</strong>, а чего некрасивого-то?<br /></p><div class="codebox"><pre><code>loop
{
   send 1
   if !toggle
      break
   send 2
   if !toggle
      break
   send 3
   if !toggle
      break
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2018-03-21T19:03:55Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=124186#p124186</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как прервать цикл?]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=124185#p124185" />
			<content type="html"><![CDATA[<p><strong>autokey</strong>,Создать функцию на проверку. Я как раз хочу найти об этом информацию, так как это годнота)</p>]]></content>
			<author>
				<name><![CDATA[qqlexa]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=39096</uri>
			</author>
			<updated>2018-03-21T18:20:04Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=124185#p124185</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как прервать цикл?]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=124184#p124184" />
			<content type="html"><![CDATA[<p>думал об этом, но у меня там около 100 строчек <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> как то не красиво получается</p>]]></content>
			<author>
				<name><![CDATA[autokey]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=39144</uri>
			</author>
			<updated>2018-03-21T18:09:13Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=124184#p124184</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как прервать цикл?]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=124183#p124183" />
			<content type="html"><![CDATA[<p>Тогда вставляйте проверку перед каждым Send.</p>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2018-03-21T17:46:42Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=124183#p124183</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как прервать цикл?]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=124182#p124182" />
			<content type="html"><![CDATA[<p>2<strong>KusochekDobra</strong> <br />спасибо попробую через таймер, хотя мне нужно чтобы цикл обрывался и по клавише 1 и по клавише 2, и не прокручивался до конца после нажатия, а сразу обрывался</p><p>2<strong>stealzy</strong> <br />reload это немного не то что мне нужно.</p>]]></content>
			<author>
				<name><![CDATA[autokey]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=39144</uri>
			</author>
			<updated>2018-03-21T17:25:56Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=124182#p124182</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как прервать цикл?]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=124175#p124175" />
			<content type="html"><![CDATA[<p>Поместите внутрь цикла условие, проверяя которое, произойдёт остановка, если оно содержит соответствующее значение. Например:<br /></p><div class="codebox"><pre><code>
$1::
SetKeyDelay, 100
toggle := true
loop {
	if (toggle) {
		send {1}
		send {2}
		sleep 500
		send {3}
		sleep 200
		send {7}
		send {8}
		sleep 500
		send {9}
		sleep 200
	} else
		break
}
return
$2::
	toggle := false
return
</code></pre></div><p>Но лучше воспользоваться таймером, который будет циклично воспроизводить этот участок кода, пока включен:<br /></p><div class="codebox"><pre><code>
SetKeyDelay, 100
toggle := false

$1::
	toggle := !toggle
	if (toggle)
		SetTimer, ToggleMe, 100
	else
		SetTimer, ToggleMe, Off
return

ToggleMe:
	send {1}
	send {2}
	sleep 500
	send {3}
	sleep 200
	send {7}
	send {8}
	sleep 500
	send {9}
	sleep 200
return
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[KusochekDobra]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=33846</uri>
			</author>
			<updated>2018-03-21T11:55:29Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=124175#p124175</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Как прервать цикл?]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=124173#p124173" />
			<content type="html"><![CDATA[<p>Есть цикл который спамит с паузами 123789, как его прервать во время исполнения нажатием клавиши 1 или 2</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>$1::
SetKeyDelay, 100
loop
{
send {1}
send {2}
sleep 500
send {3}
sleep 200
send {7}
send {8}
sleep 500
send {9}
sleep 200
}
return
</code></pre></div></div></div>]]></content>
			<author>
				<name><![CDATA[autokey]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=39144</uri>
			</author>
			<updated>2018-03-21T10:51:55Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=124173#p124173</id>
		</entry>
</feed>
