<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: действия при последовательном изменении A_Index]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=15699&amp;type=atom" />
	<updated>2020-10-07T20:07:00Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=15699</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142531#p142531" />
			<content type="html"><![CDATA[<p><strong>Botsy</strong></p><p>Если я правильно понимаю:</p><div class="codebox"><pre><code>While (1, (i = &quot;&quot; &amp;&amp; i := 0)) &amp;&amp; (i &lt; 2 || (i := 0))...</code></pre></div><p>Цикл &#039;While&#039; должен выполнятся пока переменная/выражение является истинной 0+ (более нуля).<br />1 параметр в скобках выполняет эту роль (1, ...). Далее идут условия изменения переменной &#039;i&#039;.<br />2 параметр меняет значение &#039;i&#039; на пустую строку (i = &quot;&quot; &amp;&amp; i := 0).<br />3 параметр назначает &#039;i&#039; равной 0 если &#039;i&#039; больше чем 2.</p><br /><p>Вот пример для проверки:</p><div class="codebox"><pre><code>F2::
T := (i &lt; 4 || (i := 0))
ToolTip, T=%T%`ni=%i%
i++
Return</code></pre></div><p>Для наглядности сделал предел в 4.</p>]]></content>
			<author>
				<name><![CDATA[__Михаил__]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40928</uri>
			</author>
			<updated>2020-10-07T20:07:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142531#p142531</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142401#p142401" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong> Попробовал ваш способ, отлично работает, написал так:<br /></p><div class="codebox"><pre><code>
Loop 
{
msgbox, Start

PixelSearch, Px, Py, 0, 0, 0, 0, 0x000000, 0, Fast RGB
if (ErrorLevel = 1 &amp;&amp; prevErrorLevel = 1)
{
	msgbox, Мы не нашли пиксель два раза подряд, конец цикла
	break
}
if ErrorLevel = 1
{
	msgbox, Не нашли пиксель, продолжаем цикл
}
else
{
msgbox, Нашли пиксель %prevErrorLevel%
}
prevErrorLevel := ErrorLevel
}
</code></pre></div><p><strong>serzh82saratov</strong> </p><div class="codebox"><pre><code>(1, (i = &quot;&quot; &amp;&amp; i := 0)) &amp;&amp; (i &lt; 2 || (i := 0))</code></pre></div><p> хочу понимать такие записи, как вы привели. Уверен они очень сокращают код, но сейчас я смотрю на них и ничего не понимаю. <br />Надо почитать про операторы и всякие символы. </p><p>Спасибо всем за потраченное время, ваши примеры очень помогли. Дают понять, что мне надо начать мыслить по другому в составлении алгоритмов.</p>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-10-01T13:44:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142401#p142401</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142397#p142397" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>
While i &lt; 2, (1, (i = &quot;&quot; &amp;&amp; i := 0))
{
      PixelSearch, Px, Py, 0, 0, 0, 0, 0x000000, 0, Fast RGB 
      i := !ErrorLevel ? i + 1 : 0 
}
</code></pre></div><p>Со сбросом i при выходе.<br /></p><div class="codebox"><pre><code>
While (1, (i = &quot;&quot; &amp;&amp; i := 0)) &amp;&amp; (i &lt; 2 || (i := 0)) {
	PixelSearch, Px, Py, 0, 0, 0, 0, 0x000000, 0, Fast RGB 
	i := !ErrorLevel ? i + 1 : 0  
} 
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[serzh82saratov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27879</uri>
			</author>
			<updated>2020-10-01T12:08:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142397#p142397</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142395#p142395" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>teadrinker пишет:</cite><blockquote><p>По-моему, самый лобовой способ, он же самый простой:</p></blockquote></div><p> Похоже.</p>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-10-01T11:49:19Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142395#p142395</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142393#p142393" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Botsy пишет:</cite><blockquote><p>Т.е. в цикле мы можем сколько угодно раз находить пиксель, главное, чтобы это было не подряд (2 и более)</p></blockquote></div><p>По-моему, самый лобовой способ, он же самый простой:<br /></p><div class="codebox"><pre><code>Loop {
   PixelSearch, Px, Py, 0, 0, 0, 0, 0x000000, 0, Fast RGB
   if (ErrorLevel = 0 &amp;&amp; prevErrorLevel = 0)
      break
   prevErrorLevel := ErrorLevel
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2020-10-01T10:49:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142393#p142393</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142391#p142391" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Да. Учитесь составлять алгоритмы.</p></blockquote></div><p> Вы меня одновременно обрадовали и огорчили. Я столько времени потратил на составление алгоритма и он работал. А оказалось, что все может решиться пятью строчками, без всяких заморочек... Попробую ваш метод.</p>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-10-01T02:19:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142391#p142391</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142390#p142390" />
			<content type="html"><![CDATA[<p>Да. Учитесь составлять алгоритмы.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2020-10-01T02:13:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142390#p142390</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142389#p142389" />
			<content type="html"><![CDATA[<p><strong>Malcev</strong> просто для уточнения. Я правильно понимаю, что приведенный ниже пример, можно исправить согласно вашим правкам и он будет работать так ?:<br />- бесконечный цикл, с поиском пикселей. Если он нашел второй пиксель, выведет на экран сообщение Second, и будет дальше работать. Но если он найдет второй пиксель дважды подряд, то после второго сообщения Second он завершит работу. </p><div class="codebox"><pre><code>
Loop 
{
PixelSearch, Px, Py, 0, 0, 0, 0, 0x000000, 0, Fast RGB 
if ErrorLevel = 0
{
msgbox, First
}

PixelSearch, Px, Py, 0, 0, 0, 0, 0x000000, 0, Fast RGB
if ErrorLevel
{
msgbox, Second
}
else 
{
msgbox, Else
}
}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-10-01T02:08:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142389#p142389</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142388#p142388" />
			<content type="html"><![CDATA[<div class="codebox"><pre><code>loop
{
   loop 2
   {
      PixelSearch, Px, Py, 0, 0, 0, 0, 0x000000, 0, Fast RGB
      if ErrorLevel
         Continue 2
   }
   break
}</code></pre></div><p>или так:<br /></p><div class="codebox"><pre><code>loop
{
   loop
   {
      PixelSearch, Px, Py, 0, 0, 0, 0, 0x000000, 0, Fast RGB
      if ErrorLevel
         Continue 2
      if (A_Index = 2)
         break 2
   }
}</code></pre></div><p>или так:<br /></p><div class="codebox"><pre><code>loop
{
   PixelSearch, Px, Py, 0, 0, 0, 0, 0x000000, 0, Fast RGB
   if ErrorLevel
   {
      n := 0
      Continue
   }
   n++
   if (n = 2)
      break
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2020-10-01T01:48:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142388#p142388</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142387#p142387" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Не понимаю в чем проблема.</p></blockquote></div><p> Как в вашем случаем выйти из цикла, если нашли картинку 2 раза подряд ?</p>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-10-01T01:45:10Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142387#p142387</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142386#p142386" />
			<content type="html"><![CDATA[<p>Ну так поменяйте &quot;loop 2&quot; на нужное вам количество.<br />Не понимаю в чем проблема.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2020-10-01T01:23:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142386#p142386</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142385#p142385" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>По-разному можно.<br />Например так:</p></blockquote></div><p>Ваш пример ограничен фиксированным числом повторений цикла. В примере приведенном мной, мы имеем бесконечный цикл и отлавливаем событие именно подряд, согласно переменной A_index. Число подряд&nbsp; &quot;Counter_Steps_On&quot; можем менять, на любую последовательность. Например, если 10 раз подряд, то выйдем из цикла и т.д.</p>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-10-01T01:21:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142385#p142385</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142384#p142384" />
			<content type="html"><![CDATA[<p>По-разному можно.<br />Например так:<br /></p><div class="codebox"><pre><code>loop
{
   loop 2
   {
      PixelSearch, Px, Py, 0, 0, 0, 0, 0x000000, 0, Fast RGB
      if ErrorLevel
         Continue 2
   }
   msgbox 2 подряд
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2020-10-01T01:15:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142384#p142384</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142382#p142382" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>Если нужна скорость используйте LockBits.</p></blockquote></div><p> Да, читал про альтернативный метод поиска, но не в этом суть. Меня интересует как можно обработать случай, когда внутри цикла выполнено условие подряд, более 2-ух раз. Не просто более 2-ух раз, а именно подряд.</p>]]></content>
			<author>
				<name><![CDATA[Botsy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41069</uri>
			</author>
			<updated>2020-10-01T01:09:43Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142382#p142382</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: действия при последовательном изменении A_Index]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=142380#p142380" />
			<content type="html"><![CDATA[<p>Если нужна скорость используйте LockBits.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2020-10-01T00:44:04Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=142380#p142380</id>
		</entry>
</feed>
