<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: ImageSearch и массив]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=6354&amp;type=atom" />
	<updated>2011-10-27T03:29:26Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=6354</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: ImageSearch и массив]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=52939#p52939" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Стас]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24443</uri>
			</author>
			<updated>2011-10-27T03:29:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=52939#p52939</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: ImageSearch и массив]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=52894#p52894" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Стас]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24443</uri>
			</author>
			<updated>2011-10-25T11:09:14Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=52894#p52894</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: ImageSearch и массив]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=52874#p52874" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Стас]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24443</uri>
			</author>
			<updated>2011-10-25T05:54:37Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=52874#p52874</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: ImageSearch и массив]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=52860#p52860" />
			<content type="html"><![CDATA[<p>Вопрос в том, как составить список?</p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2011-10-24T14:48:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=52860#p52860</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: ImageSearch и массив]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=52857#p52857" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[Стас]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24443</uri>
			</author>
			<updated>2011-10-24T10:38:46Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=52857#p52857</id>
		</entry>
</feed>
