<?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=15645&amp;type=atom" />
	<updated>2020-09-04T16:41:58Z</updated>
	<generator>PunBB</generator>
	<id>http://forum.script-coding.com/viewtopic.php?id=15645</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как выйти из цикла и продолжить выполнение скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=141991#p141991" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong> Скорее всего я понял мою ошибку и уже догадываюсь как исправить скрипт. Спасибо.</p>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-09-04T16:41:58Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=141991#p141991</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как выйти из цикла и продолжить выполнение скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=141990#p141990" />
			<content type="html"><![CDATA[<p>Значит нужно разобраться с понятиями. В 9 сообщении Вы приводите код, в котором нету секции автовыполнения. Горячая клавиша может быть прописана хоть в начале, хоть в середине, хоть в конце скрипта, и при этом она будет рабочей. Принято горячие клавиши помещать в конец скрипта, после секции автовыполнения.<br />И ещё такой нюанс: если скрипт начинается с горячей клавиши, то AutoHotkey подразумевает, что перед ней стоит Return.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2020-09-04T16:23:17Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=141990#p141990</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как выйти из цикла и продолжить выполнение скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=141987#p141987" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong> ок перефразирую. Как продолжать выполнять секцию авто-выполнения, между двумя горячими клавишами?</p><div class="codebox"><pre><code>
F1::
.....
return

code..... (сейчас вот эта часть не выполняется вообще. Если убрать верхний return, то скрипт не остановиться перед следующей горячей клавишей

F2::
...
return

</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-09-04T15:25:56Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=141987#p141987</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как выйти из цикла и продолжить выполнение скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=141986#p141986" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Botsy пишет:</cite><blockquote><p>я поместил горячую кнопку в цикл, думая что это решит следующую проблему: в скрипте написано использование более одной горячей клавиши и получается так, что когда мы нажимаем на 1-ую горячую клавишу, она выполняет скрипт и игнорирует все остальные</p><p>Как тогда в этом случае поступить ?</p></blockquote></div><p>Скрипт длинный, вникать в него нет возможности. Могу сказать, что после нажатия одной горячей клавиши скрипт не должен игнорировать остальные горячие клавиши. Если возникают такого рода проблемы, нужно отрабатывать все фрагменты скрипта по отдельности. Так сказать, сначала составьте &quot;скелет&quot; скрипта, а потом наращивайте &quot;мясо&quot;. И тогда выяснится, на котором этапе он начинает себя вести неправильно.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2020-09-04T14:36:33Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=141986#p141986</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как выйти из цикла и продолжить выполнение скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=141983#p141983" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong> я поместил горячую кнопку в цикл, думая что это решит следующую проблему: в скрипте написано использование более одной горячей клавиши и получается так, что когда мы нажимаем на 1-ую горячую клавишу, она выполняет скрипт и игнорирует все остальные:</p><div class="codebox"><pre><code>
nextStep:
MsgBox, Нажмите F11 

F11::

Loop, 1
{
....
}

MsgBox, 4357, Зону можно перевыбрать
IfMsgBox Cancel
	goto [b]nextStep1[/b] ; продолжаем выполнение скрипта
else
	goto [b]nextStep[/b] ; идем в самый вверх и как бы заново запускаем скрипт 

nextStep1:
Gui, +LastFound +ToolWindow +AlwaysOnTop 
Gui, Add, DropDownList, x50 y50 w40 h100 vChoice gLabel, 1|2|3|4
Gui, ....
return

Label:
Gui, Submit, NoHide
If Choice = 1
enc1 := 1
...
return
InpX = Your

OK:
Gui, Hide

MsgBox, нажми F9

F9::

MouseGetPos, posX, posY
posXrand := posX + 25
posYrand := posY + 25

MsgBox, нажми F10

F10::

MouseGetPos, posX1, posY1
posX1rand := posX1 + 25
posY1rand := posY1 + 25

</code></pre></div><p>Как тогда в этом случае поступить ?</p>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-09-04T09:52:36Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=141983#p141983</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как выйти из цикла и продолжить выполнение скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=141980#p141980" />
			<content type="html"><![CDATA[<p>Я ответил на вопрос &quot;как можно выйти из цикла и продолжить выполнение скрипта&quot;. А как у Вас в теле цикла очутилась горячая клавиша - ума не приложу. Сами придумали? Непонятно, зачем это сделано.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2020-09-04T03:41:16Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=141980#p141980</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как выйти из цикла и продолжить выполнение скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=141979#p141979" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong> Так в первом варианте было условие в цикле и мы выходили из цикла командой &quot;break&quot;, вот только скрипт дальше переставал выполняться...</p>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-09-03T22:51:02Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=141979#p141979</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как выйти из цикла и продолжить выполнение скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=141975#p141975" />
			<content type="html"><![CDATA[<p>Суть в том, чтобы внутрь цикла поместить условие и при каждой итерации проверять его истинность.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2020-09-03T16:42:50Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=141975#p141975</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как выйти из цикла и продолжить выполнение скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=141974#p141974" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong> Посмотрел, переписал цикл, добавил метку. Как return так и exit - программа просто останавливается и не продолжает выполнение<br /></p><div class="codebox"><pre><code>
OnceAg:
MsgBox, 4096,Нажмите F11

F11::

Loop, 1
{
	...
}

MsgBox, 4357, Зону можно перевыбрать
IfMsgBox Cancel
	return
else
	goto OnceAg

Gui, +LastFound +ToolWindow +AlwaysOnTop 
Gui, Add, DropDownList, x50 y50 w40 h100 vChoice gLabel, 1|2|3|4
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-09-03T16:21:12Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=141974#p141974</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как выйти из цикла и продолжить выполнение скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=141970#p141970" />
			<content type="html"><![CDATA[<p><a href="http://forum.script-coding.com/viewtopic.php?pid=106608#p106608">Тут</a> гляньте.</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2020-09-03T14:56:09Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=141970#p141970</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Как выйти из цикла и продолжить выполнение скрипта]]></title>
			<link rel="alternate" href="http://forum.script-coding.com/viewtopic.php?pid=141969#p141969" />
			<content type="html"><![CDATA[<p>Добрый день. Подскажите как можно выйти из цикла и продолжить выполнение скрипта, если в теле цикла есть горячая клавиша ?</p><p>В приведенном ниже коде : мы нажимаем на Ф11, дальше выполняем действие и получаем сообщение с двумя выборами &quot;да/нет&quot;. Если нажимаем &quot;нет&quot; - то мы должны выйти из скрипта, там откроется уже окно (gui), вообщем продолжить выполнение скрипта. Если нажимаем &quot;да&quot;, то заново выполняем цикл. </p><p>Сейчас если мы нажмем на &quot;да&quot; - то цикл начнется заного, то есть все ок. А если нажмем &quot;нет&quot;, то на этом все заканчивается и дальше уже скрипт не выполняется. <br />Что я делаю не так ? Подскажите пж</p><div class="codebox"><pre><code>
Loop
{
MsgBox, 4096, Нажмите F11

F11::

TH := 2 ; Толщина рамки

CoordMode, mouse
MouseGetPos, x, y ; Получаем Координаты курсора 

x:=Round(x) ; область для скана
y:=Round(y)
w := 90 ; ширина области и высота
h := 60
   
Gui, +LastFound +ToolWindow -Caption +AlwaysOnTop 
Gui, Color, Red ; рамка
Gui, Show, x%X% y%Y% w%W% h%H% Hide
Options := &quot;0-0 &quot; W &quot;-0 &quot; W &quot;-&quot; H &quot; 0-&quot; H &quot; 0-0 &quot; TH &quot;-&quot; TH
    . &quot; &quot; W-TH &quot;-&quot; TH &quot; &quot; W-TH &quot;-&quot; H-TH &quot; &quot; TH &quot;-&quot; H-TH &quot; &quot; TH &quot;-&quot; TH
WinSet, Region, % Options
Gui, Show, NA
KeyWait, F11
Gui, Destroy	

Mcoord := [x,y,w,h] 
text := OCR(Mcoord) 

MsgBox, 4357, Зону можно перевыбрать
IfMsgBox Cancel
	break
else
	continue
}

Gui, +LastFound +ToolWindow +AlwaysOnTop 
Gui, Add, DropDownList, x50 y50 w40 h100 vChoice gLabel, 1|2|3|4
......

</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>http://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-09-03T14:02:30Z</updated>
			<id>http://forum.script-coding.com/viewtopic.php?pid=141969#p141969</id>
		</entry>
</feed>
