<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: Проблемы с циклами]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=8035</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=8035&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Проблемы с циклами».]]></description>
		<lastBuildDate>Wed, 06 Feb 2013 22:38:06 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69191#p69191</link>
			<description><![CDATA[<p>Понял, спасибо за консультацию. Очень жалею что ранее( посещаю Ваш форум уже давно) не обращался к Вам за помощью.</p>]]></description>
			<author><![CDATA[null@example.com (elektrovenik)]]></author>
			<pubDate>Wed, 06 Feb 2013 22:38:06 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69191#p69191</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69190#p69190</link>
			<description><![CDATA[<p>Запись последовательности нажатий клавиш в одну строку не самоцель. Если между нажатиями необходимо задать различные периоды ожидания (для чего команда SetKeyDelay не предназначена) то уместным&nbsp; будет использование Sleep <em>число</em> и разбиение строки.</p>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Wed, 06 Feb 2013 22:35:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69190#p69190</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69189#p69189</link>
			<description><![CDATA[<p>Уже отредактировал пост, оценив удобство строки. Возникает вопрос, как реализовать различную задержку между отправкой нажатий в сточном коде?</p><div class="codebox"><pre><code>Send,{vk51}sleep n{vk59}sleep n1{vk55}
</code></pre></div><p>?</p>]]></description>
			<author><![CDATA[null@example.com (elektrovenik)]]></author>
			<pubDate>Wed, 06 Feb 2013 22:32:44 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69189#p69189</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69187#p69187</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Wed, 06 Feb 2013 22:18:41 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69187#p69187</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69186#p69186</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (elektrovenik)]]></author>
			<pubDate>Wed, 06 Feb 2013 21:56:55 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69186#p69186</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69149#p69149</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Wed, 06 Feb 2013 04:03:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69149#p69149</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69146#p69146</link>
			<description><![CDATA[<p>Вот так попробуйте:<br /></p><div class="codebox"><pre><code>
SetKeyDelay,, 50
</code></pre></div><p>В начало скрипта эту команду поставьте.</p>]]></description>
			<author><![CDATA[null@example.com (YMP)]]></author>
			<pubDate>Wed, 06 Feb 2013 03:45:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69146#p69146</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69145#p69145</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (creature.ws)]]></author>
			<pubDate>Wed, 06 Feb 2013 03:42:01 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69145#p69145</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Проблемы с циклами]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69060#p69060</link>
			<description><![CDATA[<p><span style="color: #008800"><strong>elektrovenik</strong>, ознакомься с <a href="http://forum.script-coding.com/viewtopic.php?id=6148">этой</a> темой, отредактируй заголовок.</span></p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sun, 03 Feb 2013 11:58:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69060#p69060</guid>
		</item>
		<item>
			<title><![CDATA[AHK: Проблемы с циклами]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=69059#p69059</link>
			<description><![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>]]></description>
			<author><![CDATA[null@example.com (elektrovenik)]]></author>
			<pubDate>Sun, 03 Feb 2013 11:37:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=69059#p69059</guid>
		</item>
	</channel>
</rss>
