<?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=8035&amp;type=atom" />
	<updated>2013-02-06T22:38:06Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=8035</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69191#p69191" />
			<content type="html"><![CDATA[<p>Понял, спасибо за консультацию. Очень жалею что ранее( посещаю Ваш форум уже давно) не обращался к Вам за помощью.</p>]]></content>
			<author>
				<name><![CDATA[elektrovenik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29521</uri>
			</author>
			<updated>2013-02-06T22:38:06Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69191#p69191</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69190#p69190" />
			<content type="html"><![CDATA[<p>Запись последовательности нажатий клавиш в одну строку не самоцель. Если между нажатиями необходимо задать различные периоды ожидания (для чего команда SetKeyDelay не предназначена) то уместным&nbsp; будет использование Sleep <em>число</em> и разбиение строки.</p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2013-02-06T22:35:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69190#p69190</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69189#p69189" />
			<content type="html"><![CDATA[<p>Уже отредактировал пост, оценив удобство строки. Возникает вопрос, как реализовать различную задержку между отправкой нажатий в сточном коде?</p><div class="codebox"><pre><code>Send,{vk51}sleep n{vk59}sleep n1{vk55}
</code></pre></div><p>?</p>]]></content>
			<author>
				<name><![CDATA[elektrovenik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29521</uri>
			</author>
			<updated>2013-02-06T22:32:44Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69189#p69189</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69187#p69187" />
			<content type="html"><![CDATA[<div class="quotebox"><blockquote><p>писать макросы в форме столбика.</p></blockquote></div><p>И в начале каждой строки копировать-вставлять команду Send<br /></p><div class="quotebox"><blockquote><p>Такова правильная грамотность скрипта?</p></blockquote></div><p>Так — количество ненужных действий уменьшается.<br /></p><div class="quotebox"><blockquote><p>Можно ли верхний пример &quot;столбца&quot; преобразовать в линейный?</p></blockquote></div><p>Верхний пример содержит команду KeyWait, большинство команд в Autohokey «в одну строку» не могут быть записаны.</p><div class="codebox"><pre><code>$vk57::
Loop 1
{
if not GetKeyState(&quot;vk57&quot;, &quot;P&quot;)</code></pre></div><p>Сразу же после нажатия клавиши vk57 вы проверяете её состояние, вы считаете, что можете удерживать нажатую клавишу менее доли миллисекунды?</p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2013-02-06T22:18:41Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69187#p69187</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69186#p69186" />
			<content type="html"><![CDATA[<p>Спасибо за отзывы и помощь. Вопрос к разработчикам - почему у вас большинство скриптов, представляющих собой макрос, пишутся в линейной форме? Такова правильная грамотность скрипта? Я находил готовые макросы для своей программы, только в виде столбцов.<br />Хотя в такой форме все выглядит весьма приятно.</p><div class="codebox"><pre><code>SetKeyDelay,, 50

$vkC0::Suspend

$vk57::
Send,{vk41}{vk44}{vk57}
return

$vk51::
Send,{vk51}{vk59}{vk55}
return

$vk41::
Send,{vk41}{vk59}{vk55}
return

$vk44::
Send {vk44}{vk48}{vk4A}{vk4B}
return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[elektrovenik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29521</uri>
			</author>
			<updated>2013-02-06T21:56:55Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69186#p69186</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69149#p69149" />
			<content type="html"><![CDATA[<p>Или <em> SetKeyDelay, 50, 50</em><br />Тогда Sleep 50 между вызовами Send будут не нужны.<br /></p><div class="codebox"><pre><code>Send {vk41}{vk44}{vk57}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2013-02-06T04:03:07Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69149#p69149</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69146#p69146" />
			<content type="html"><![CDATA[<p>Вот так попробуйте:<br /></p><div class="codebox"><pre><code>
SetKeyDelay,, 50
</code></pre></div><p>В начало скрипта эту команду поставьте.</p>]]></content>
			<author>
				<name><![CDATA[YMP]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=81</uri>
			</author>
			<updated>2013-02-06T03:45:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69146#p69146</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69145#p69145" />
			<content type="html"><![CDATA[<p>Цикл, подразумевающий выполнение тела цикла один раз, не имеет смысла.<br /><strong>break </strong> в теле цикла, выполняющегося однократно, не имеет смысла.</p><div class="quotebox"><blockquote><p>Но тем не менее регулярно случаются &quot;непрожатия&quot; тех или иных клавиш</p></blockquote></div><p>Прочитайте в справке про SetKeyDelay, попробуйте увеличить паузы между «нажатием и отпусканием» клавиши c помощью этой команды.<br />Ознакомьтесь с «часто задаваемыми вопросами» <a href="http://l.autohotkey.net/docs/FAQ.htm">FAQ</a></p>]]></content>
			<author>
				<name><![CDATA[creature.ws]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26105</uri>
			</author>
			<updated>2013-02-06T03:42:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69145#p69145</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69060#p69060" />
			<content type="html"><![CDATA[<p><span style="color: #008800"><strong>elektrovenik</strong>, ознакомься с <a href="http://forum.script-coding.com/viewtopic.php?id=6148">этой</a> темой, отредактируй заголовок.</span></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2013-02-03T11:58:48Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69060#p69060</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Проблемы с циклами]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=69059#p69059" />
			<content type="html"><![CDATA[<p>И так имеется макрос, нажатие клавиши N - вызывает отправку нажатий еще нескольких клавиш. Один из наболее важных моментов - желательно максимально быстрое исполнение макроса. Выполняется макрос в онлайн-приложении, пинговал сервер несколько раз, в разное время суток, в течении 2х-3х часов - пинг стабильный, 6мс. Но тем не менее регулярно случаются &quot;непрожатия&quot; тех или иных клавиш, причем что удивительно, может выпасть как клавиша из середины скрипта, т.е последующие за ней все же нажмутся, так и последняя, что наиболее логично.<br />Хотелось бы как то решить проблему, читал что операцию GetKeyState в цикле, лучше заменять на KeyWait, но реализовать не смог. Вообщем хочется найти и решить проблему.<br /></p><div class="codebox"><pre><code>
$vkC0::Suspend

$vk57::
Loop 1
{
if not GetKeyState(&quot;vk57&quot;, &quot;P&quot;)
break
Send {vk41}
sleep 50
Send {vk44}
sleep 50
Send {vk57}
}

$vk51::
Loop 1
{
if not GetKeyState(&quot;vk51&quot;, &quot;P&quot;)
break
Send {vk51}
sleep 50
Send {vk59}
sleep 50
Send {vk55}
}

$vk41::
Loop 1
{
if not GetKeyState(&quot;vk41&quot;, &quot;P&quot;)
break
Send {vk41}
sleep 50
Send {vk59}
sleep 50
Send {vk55}
}

$vk44::
Loop 1
{
if not GetKeyState(&quot;vk44&quot;, &quot;P&quot;)
break
Send {vk44}
sleep 50
Send {vk48}
sleep 50
Send {vk4A}
sleep 50
Send {vk4B}
}
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[elektrovenik]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=29521</uri>
			</author>
			<updated>2013-02-03T11:37:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=69059#p69059</id>
		</entry>
</feed>
