<?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="https://forum.script-coding.com/extern.php?action=feed&amp;tid=17078&amp;type=atom" />
	<updated>2022-08-07T09:53:07Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=17078</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=154247#p154247" />
			<content type="html"><![CDATA[<p><strong>pixel75</strong>, оформите, пожалуйста, код, как положено.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-08-07T09:53:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=154247#p154247</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=154245#p154245" />
			<content type="html"><![CDATA[<p>Понимаю, что реализация выглядит крайне дремуче и вызывает, как минимум, снисходительную улыбку с морщинками вдоль прищуренных глаз профессионалов, потому прошу не судить строго, ибо забыл я об AHK на годы, но с дня сегодняшнего пытаюсь вспоминать хоть что то. Надеюсь, хотелку я интерпретировал верно в той части, что скрипт после 7 удачных попыток нахождения цвета, должен становиться просто на паузу. Наверное в разы аскетичнее и изящнее сей плод спутанного сознания выглядел бы с использованием массива с перечислением цветов внутри, избавления от кенгуриных прыжков с помощью сатанинского Goto, но напомню, это мой первый Буратино после разлуки с AHK и вспоминать о правилах Break, азы выхода из цикла по условию, пока тяжеловато мимоходом из сиюминутного желания помочь. Всё, бездарь оправдался! ).</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>!9::
c := 0
count := 0

Loop
{
	ST:
	while count &lt;= 7
	{
		c = 0
		PixelGetColor, check, 365, 254
		if(check = 0x000000)
		{ 
			PixelGetColor, k_one, 245, 345  
			PixelGetColor, k_two, 659, 517
			if (k_one = 0xFFFFFF &amp;&amp; k_two = 0xFFFFFF) 
			{
				loop, 2
				{
					MsgBox привет
				}
				Sleep 200
				MsgBox снова привет
				Sleep 350
				c++
				Goto, EXT
			}
			
			PixelGetColor, j_one, 359, 852
			PixelGetColor, j_two, 654, 357
			if (j_one = 0xFFFFFF &amp;&amp; j_two = 0xFFFFFF) 
			{
				loop, 2
				{
					MsgBox здравствуйте
				}
				Sleep 200
				MsgBox снова здравствуйте
				Sleep 350
				c++
				Goto, EXT				
			}

		}
		Sleep, 10
	}

	if count &gt; 7
	{
		Tooltip, цикл поиска окончен
		Sleep 1000
		Tooltip
		count = 0
		pause
	}
	
	EXT:
	if c &gt; 0
	{
		count++
		Goto, ST
	}
} 
Return</code></pre></div></div></div>]]></content>
			<author>
				<name><![CDATA[pixel75]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=41268</uri>
			</author>
			<updated>2022-08-07T08:55:33Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=154245#p154245</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152986#p152986" />
			<content type="html"><![CDATA[<p>Видимо дело не во флаге &quot;found&quot; без него тоже самое.&nbsp; Решил поколдовать над тем, что мне предложили. И вот что получилось.<br /></p><div class="codebox"><pre><code>
!9::
count := 0
Loop
{
   found := true
   PixelGetColor, check, 365, 254
   if(check = 0x000000)
   { 
        PixelGetColor, k_one, 245, 345  
        PixelGetColor, k_two, 659, 517
        if (k_one = 0xFFFFFF &amp;&amp; k_two = 0xFFFFFF) 
        {
            loop, 2
            {
            MsgBox привет
            }
            sleep 200
            MsgBox снова привет
            sleep 350
        }
        else {
            found := false
        }
        PixelGetColor, j_one, 359, 852
        PixelGetColor, j_two, 654, 357
        if (j_one = 0xFFFFFF &amp;&amp; j_two = 0xFFFFFF) 
        {
            loop, 2
            {
            MsgBox здравствуйте
            }
            sleep 200
            MsgBox снова здравствуйте
            sleep 350
        }
        
   }
   else {
      found := false
   }
   if found
      count++
} until count = 7
Return
</code></pre></div><p>Я убрал из кода&nbsp; &quot;else {<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;found := false<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}&quot;<br />В таком виде скрипт останавливается когда нужно, если находит пиксели K. Но вот пиксели j находит без остановки.<br />Чувствую истина где-то рядом.</p>]]></content>
			<author>
				<name><![CDATA[alalivanovivanov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42489</uri>
			</author>
			<updated>2022-04-29T22:25:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152986#p152986</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152963#p152963" />
			<content type="html"><![CDATA[<p>Может все дело во флаге &quot;found&quot; попробуй без него.<br /></p><div class="codebox"><pre><code>!9::
count := 0
Loop
{
  PixelGetColor, check, 365, 254
  if(check = 0x000000)
  { 
    PixelGetColor, k_one, 245, 345  
    PixelGetColor, k_two, 659, 517
    if (k_one = 0xFFFFFF &amp;&amp; k_two = 0xFFFFFF) 
    {
        loop, 2
        {
        MsgBox привет
        }
        sleep 200
        MsgBox снова привет
        sleep 350
        count++
    }
    PixelGetColor, j_one, 359, 852
    PixelGetColor, j_two, 654, 357
    if (j_one = 0xFFFFFF &amp;&amp; j_two = 0xFFFFFF) 
    {
        loop, 2
        {
        MsgBox здравствуйте
        }
        sleep 200
        MsgBox снова здравствуйте
        sleep 350
        count++
    }
  }
} until count = 7
Return
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Alectric]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26027</uri>
			</author>
			<updated>2022-04-29T12:42:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152963#p152963</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152962#p152962" />
			<content type="html"><![CDATA[<p>Просто я никогда не использовал &quot;=&quot; в условиях, ибо привычка с JS, что это присваивание. Буду знать.</p>]]></content>
			<author>
				<name><![CDATA[Phoenixxx_Czar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34426</uri>
			</author>
			<updated>2022-04-29T12:41:38Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152962#p152962</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152960#p152960" />
			<content type="html"><![CDATA[<p>Нет, при сравнении чисел эти операторы равнозначны. Оператор == используется при сравнении строк, чтобы оно было регистрозависимым.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-04-29T10:25:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152960#p152960</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152959#p152959" />
			<content type="html"><![CDATA[<p>Может здесь:<br /></p><div class="codebox"><pre><code>until count = 7</code></pre></div><p>.. лучше использовать &quot;==&quot;?</p>]]></content>
			<author>
				<name><![CDATA[Phoenixxx_Czar]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=34426</uri>
			</author>
			<updated>2022-04-29T04:10:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152959#p152959</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152949#p152949" />
			<content type="html"><![CDATA[<p>Не могу сказать в чём проблема, технически ошибок вроде нет.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-04-29T00:50:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152949#p152949</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152947#p152947" />
			<content type="html"><![CDATA[<p>Задачу вы поняли правильно. Код красивый, но работает также как и мой. Ищет пиксели без остановки.</p>]]></content>
			<author>
				<name><![CDATA[alalivanovivanov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42489</uri>
			</author>
			<updated>2022-04-29T00:29:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152947#p152947</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152942#p152942" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alalivanovivanov пишет:</cite><blockquote><p>С оформлением постов разобрался</p></blockquote></div><p>Поздравляю, но не нужно было удалять другие посты, на которые было отвечено.<br /></p><div class="quotebox"><cite>alalivanovivanov пишет:</cite><blockquote><p>Голова уже кипит и нервы на пределе, но хочу разобраться</p></blockquote></div><p>Честно говоря, вы не были близки к решению. Во-первых, такие выражения<br /></p><div class="codebox"><pre><code>if (k_one = 0xFFFFFF, k_two = 0xFFFFFF)</code></pre></div><p>в AHK не поддерживаются, нужно<br /></p><div class="codebox"><pre><code>if (k_one = 0xFFFFFF and k_two = 0xFFFFFF)</code></pre></div><p>или<br /></p><div class="codebox"><pre><code>if (k_one = 0xFFFFFF &amp;&amp; k_two = 0xFFFFFF)</code></pre></div><p>Кроме того вообще не факт, что ищутся нужные пиксели, смотрите команду CoordMode.<br />Если я правильно понял задачу, нужно что-то вроде этого:<br /></p><div class="codebox"><pre><code>!9::
count := 0
Loop
{
   found := true
   PixelGetColor, check, 365, 254
   if(check = 0x000000)
   { 
        PixelGetColor, k_one, 245, 345  
        PixelGetColor, k_two, 659, 517
        if (k_one = 0xFFFFFF &amp;&amp; k_two = 0xFFFFFF) 
        {
            loop, 2
            {
            MsgBox привет
            }
            sleep 200
            MsgBox снова привет
            sleep 350
        }
        else {
            found := false
        }
        PixelGetColor, j_one, 359, 852
        PixelGetColor, j_two, 654, 357
        if (j_one = 0xFFFFFF &amp;&amp; j_two = 0xFFFFFF) 
        {
            loop, 2
            {
            MsgBox здравствуйте
            }
            sleep 200
            MsgBox снова здравствуйте
            sleep 350
        }
        else {
            found := false
        }
   }
   else {
      found := false
   }
   if found
      count++
} until count = 7
Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-04-28T21:40:20Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152942#p152942</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152941#p152941" />
			<content type="html"><![CDATA[<p>С оформлением постов разобрался). Можете помочь по моей теме?</p>]]></content>
			<author>
				<name><![CDATA[alalivanovivanov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42489</uri>
			</author>
			<updated>2022-04-28T21:16:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152941#p152941</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152906#p152906" />
			<content type="html"><![CDATA[<p>Если не можете разобраться в оформлении постов, этот форум, скорее всего, не для вас, сожалею.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-04-28T05:31:58Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152906#p152906</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152899#p152899" />
			<content type="html"><![CDATA[<p>.</p>]]></content>
			<author>
				<name><![CDATA[alalivanovivanov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42489</uri>
			</author>
			<updated>2022-04-27T21:39:25Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152899#p152899</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152898#p152898" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>alalivanovivanov пишет:</cite><blockquote><p>На оформление кода обратил внимание, но ничего не заметил</p></blockquote></div><p>Читайте внимательнее, там есть ссылка на теги.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2022-04-27T21:35:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152898#p152898</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Как остановить цикл в нужный момент]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=152896#p152896" />
			<content type="html"><![CDATA[<p>.</p>]]></content>
			<author>
				<name><![CDATA[alalivanovivanov]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=42489</uri>
			</author>
			<updated>2022-04-27T20:46:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=152896#p152896</id>
		</entry>
</feed>
