<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: ImageSearch и массив]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=6354</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6354&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: ImageSearch и массив».]]></description>
		<lastBuildDate>Thu, 27 Oct 2011 03:29:26 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch и массив]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52939#p52939</link>
			<description><![CDATA[<p>Сделал, может кого-то и заинтересует. Да, не оставлять же не раскрытую тему.</p><div class="codebox"><pre><code>#3::

; 1w:   ; Описание отсутствует из-за не надобности.
; 2w:   ; Описание отсутствует из-за не надобности.

;~ Loop, 2 
;~ { 
   Loop, 7 
    {
        CoordMode Pixel
        ImageSearch, X, Y, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, test%A_Index%.bmp  ; Новер картинки будет совпадать с номером Loop
        MissPic += 1 ; Считать текущий номер картинки
        if ErrorLevel = 1 
        { 
        ;~     MsgBox Не найдена картинка test%A_Index%.bmp
        ;~     sleep 1000
        ;~     send %MissPic% ; Сообщает какой номер картинки не найден
            arraycount+= 1 ; Создать номер для массива
            array%arraycount% = %MissPic%  ; Дабавить в каждый массив текущий номер картинки
        }
;~         if ErrorLevel = 0
;~         MsgBox Найдено test%A_Index%.bmp
;~         sleep 1000
    } 
    gosub 1w  ; Переключиться в другую программу, как требовалось
    Loop, %arraycount% ` ; Перебрать каждый номер массива
    {
        element := Array%A_Index%  ; Создать кол-во массивов равное кол-ву Loop, %arraycount%
        SetKeyDelay 2000, 30
        send, % Array%A_Index% ; Выыодится результат сразу всех отсутствующих картинок
            SetKeyDelay 0, 0
    }
        gosub 1w ; Возвращяется в исходную программу
    ; очистка
array%arraycount% =
MissPic = 
;~ }   
Return</code></pre></div><p>Если можно, ваши замечания по данному скрипту. </p><p>Тестовые картинки (поместить в одну папку со скриптом АНК). <br /><a href="http://download.files.namba.kz/files/3691942">TestPic.rar</a></p><p>Спасибо за подсказку&nbsp; <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Стас)]]></author>
			<pubDate>Thu, 27 Oct 2011 03:29:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52939#p52939</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch и массив]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52894#p52894</link>
			<description><![CDATA[<p>Немного поменял работу скрипта. В данном случае MissPic имеет значение, равное отсутствующей картинки.</p><div class="codebox"><pre><code>Loop 
{ 
   Loop 7 
    {
        CoordMode Pixel
        ImageSearch, X, Y, 0, 0, %A_ScreenWidth%, %A_ScreenHeight%, test%A_Index%.bmp   ; Перебираю картинки 
        MissPic += 1 ; Присваиваю каждую картинку к переменной
        if ErrorLevel = 1 
                            { 
            MsgBox Не найдена картинка test%A_Index%.bmp
            sleep 1000
            send %MissPic%
        }
        if ErrorLevel = 0
        MsgBox Найдено test%A_Index%.bmp
        sleep 1000
}
MissPic = 
}   
Return</code></pre></div><p>Как мне теперь составить список из MissPic и вывести его с помощью send ?</p>]]></description>
			<author><![CDATA[null@example.com (Стас)]]></author>
			<pubDate>Tue, 25 Oct 2011 11:09:14 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52894#p52894</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch и массив]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52874#p52874</link>
			<description><![CDATA[<p>По стараюсь еще объяснить, если получится.</p><div class="codebox"><pre><code>MissPic1:
send 1

MissPic2:  ; Так до 20.
send 2


ImageSearch  FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 D:\dir\Screen\1.bmp
if ErrorLevel = 1
{
    gosub 2w     ; переключаюсь на 2 окно
    sleep 1000    
    send 1          ; выполняю команду
    gosub 1w      ; переключаюсь на 1 окно
}</code></pre></div><p>Вместо выполнения условия <strong>if ErrorLevel = 1</strong> хочу что бы создавалась переменная или метка (не знаю как правильно сказать), к примеру&nbsp; MissPic1, которая добавляется в ArrayPic</p><div class="codebox"><pre><code>ArrayPic = []
ImageSearch  FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 D:\dir\Screen\1.bmp
if ErrorLevel = 1
{
    ArrayPic += MissPic1
}</code></pre></div><p>После поиска всех требуемых картинок&nbsp; получаю ArrayPic = MissPic1+MissPic2+...+MissPic20. Если условие по ImageSearch&nbsp; не соответствуе ErrorLevel = 1, то <br />MissPic не добавляется в ArrayPic. Когда ArrayPic получен - выполняться примерно следующее:<br /></p><div class="codebox"><pre><code>ImageSearch  FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 D:\dir\Screen\1.bmp
if ErrorLevel = 1
{
    gosub 2w      ; переключаюсь на 2 окно
    sleep 1000    
    ArrayPic        ; Который содержит команды send 1, send 2, send 3...т.е. клавиши или команды, которые соответствуют MissPic
    gosub 1w      ; переключаюсь на 1 окно
}</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Стас)]]></author>
			<pubDate>Tue, 25 Oct 2011 05:54:37 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52874#p52874</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: ImageSearch и массив]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52860#p52860</link>
			<description><![CDATA[<p>Вопрос в том, как составить список?</p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Mon, 24 Oct 2011 14:48:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52860#p52860</guid>
		</item>
		<item>
			<title><![CDATA[AHK: ImageSearch и массив]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=52857#p52857</link>
			<description><![CDATA[<p>Здравствуйте. <br />С помощью ImageSearch делаю поиск картинок. Если я не нахожу картинку, то переключаюсь в другое окно и выполняю команды. Картинок штук 20, а команды по сути однотипные. В итоге постоянно прыгаю по окнам.</p><div class="codebox"><pre><code>1w:
MouseMove 145, 889
Send {Click}
return

2w:
MouseMove  275, 889
Send {Click}
return

ImageSearch  FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 D:\dir\Screen\1.bmp
if ErrorLevel = 1
{
    gosub 2w     ; переключаюсь на 2 окно
    sleep 1000    
    send 1          ; выполняю команду
    gosub 1w      ; переключаюсь на 1 окно
}
ImageSearch  FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *50 D:\dir\Screen\2.bmp
if ErrorLevel = 1
{
    gosub 2w
    sleep 1000
    send 2
    gosub 1w
}
return</code></pre></div><p>И так штук 20, не нашел картинку - переключился и назад, искать дальше.</p><p>Прошу помочь примером в данном случае. Хочу чтобы производился поиск всех картинок и создавался как бы массив отсутствующих картинок. После поиска переключиться на второе окно и выполнить те команды, которые соответствуют отсутствующим картинкам.</p>]]></description>
			<author><![CDATA[null@example.com (Стас)]]></author>
			<pubDate>Mon, 24 Oct 2011 10:38:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=52857#p52857</guid>
		</item>
	</channel>
</rss>
