<?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=12029&amp;type=atom" />
	<updated>2016-09-20T15:27:07Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=12029</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Несколько строк кода, как параметр функции.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107885#p107885" />
			<content type="html"><![CDATA[<p>А зачем тут функции?<br />Пользуйтесь #IfWinActive.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2016-09-20T15:27:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107885#p107885</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Несколько строк кода, как параметр функции.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107884#p107884" />
			<content type="html"><![CDATA[<p>Если это ваш полный скрипт, то вы передаете в функцию не инициализированную значением переменную Curves, т.е. пустую.<br />Проверка IfWinExist бессмысленна, если вы проверяете IfWinActive; также как и равенство в условии if. С таким же успехом можно написать:<br /></p><div class="codebox"><pre><code>if ((interacts(Curves) = true) = true)</code></pre></div>]]></content>
			<author>
				<name><![CDATA[stealzy]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=31937</uri>
			</author>
			<updated>2016-09-20T14:24:13Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107884#p107884</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Несколько строк кода, как параметр функции.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107880#p107880" />
			<content type="html"><![CDATA[<p>ОК. Спасибо. Тогда такой вопрос....&nbsp; Думал, что с этим то проблем не возникнет, но что то тоже не получается:<br /></p><div class="codebox"><pre><code>
interacts(mywintitle)
{
   IfWinExist, mywintitle
   {
       IfWinActive, mywintitle
       {
          return true
       }
   }
}

~1::
if (interacts(Curves) = true)
{
        ControlFocus, PSViewC1, Curves
        ControlSend, PSViewC1, {LAlt Down}, Curves
        ControlSend, PSViewC1, {3}, Curves
        ControlSend, PSViewC1, {LAlt Up}, Curves
}
</code></pre></div><p>Так тоже не работает(((<br />Не подскажите, что сделал не правильно?</p>]]></content>
			<author>
				<name><![CDATA[taravasya]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33758</uri>
			</author>
			<updated>2016-09-20T13:18:32Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107880#p107880</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Несколько строк кода, как параметр функции.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107878#p107878" />
			<content type="html"><![CDATA[<p>Передавать код бессмысленно, т.к. вы не сможете его выполнить. Динамическое выполнение кода в АНК невозможно. Оно реализовано в AutoHotkey_H.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2016-09-20T11:42:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107878#p107878</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Несколько строк кода, как параметр функции.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=107870#p107870" />
			<content type="html"><![CDATA[<p>Здравствуйте! Создал скрипт, который работает на ура, но в нём есть небольшой недостаток. В нём много повторяющихся/похожих строк. Хочется скомпоновать всё это в функцию.<br />Вот пример имеющегося у меня кода:<br /></p><div class="codebox"><pre><code>
~1::
IfWinExist, Curves
{
    IfWinActive, Curves
    {
        ControlFocus, PSViewC1, Curves
        ControlSend, PSViewC1, {LAlt Down}, Curves
        ControlSend, PSViewC1, {3}, Curves
        ControlSend, PSViewC1, {LAlt Up}, Curves
    }
}
Return

~LCtrl &amp; SPACE::
IfWinExist, Total Commander
{
    IfWinActive, Total Commander
    {
		Send, {SPACE}
		WinWaitActive, Комментарий,
		Send, ^{A}
		Send, {BACKSPACE}
		SendInput {Raw}ОТПЧ
		Send, {F2}
    }
}
Return
</code></pre></div><p>Как видите в обоих примерах используется одинаковая, если можно так сказать, конструкция.<br /></p><ul><li><p>Проверяем есть ли такое окно.<br />Проверяем активно ли оно.<br />Выполняем некоторые действия.</p></li></ul><p>Кроме того, имеются вложенные проверки:<br /></p><div class="codebox"><pre><code>
~NumpadENTER::
IfWinExist, Curves
{
    IfWinActive, Curves
    {
		Send, {Enter}
		WinWaitActive, Adobe Photoshop, Save changes, 1
		IfWinExist, Adobe Photoshop, Save changes
		{
			IfWinActive, Adobe Photoshop, Save changes
			{
				Send, {Enter}
				WinWaitActive, JPEG Options, , 1
				IfWinExist, JPEG Options
				{
					IfWinActive, JPEG Options
					{
						Send, {Enter}
					}
				}
			}
		}		
    }
}
</code></pre></div><p>Теперь, имеющийся код хочу укоротить, за счёт создания функции проверки окна, с названием и текстом отправляемым как параметр и выполнения ряда команд, тоже отправляемых как параметр. Знаю что, это не правильно, но что-бы было нагляднее, что мне нужно:<br /></p><div class="codebox"><pre><code>
interacts(mywintitle, myactions)
{
   IfWinExist, mywintitle
   {
       IfWinActive, mywintitle
       {
          myactions
       }
   }
}

~1::
myCurActions = ;НЕ ЗНАЮ КАК ЗДЕСЬ СОХРАНИТЬ НЕСКОЛЬКО СТРОК В ОДНУ ПЕРЕМЕННУЮ. ВОЗМОЖНО ЛИ ЭТО?
        ControlFocus, PSViewC1, Curves
        ControlSend, PSViewC1, {LAlt Down}, Curves
        ControlSend, PSViewC1, {3}, Curves
        ControlSend, PSViewC1, {LAlt Up}, Curves
interacts(Curves, myCurActions)
Return
</code></pre></div><p>Каким будет правильный синтаксис подобного кода?<br />Спасибо!</p>]]></content>
			<author>
				<name><![CDATA[taravasya]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33758</uri>
			</author>
			<updated>2016-09-20T10:43:00Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=107870#p107870</id>
		</entry>
</feed>
