<?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=10691</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=10691&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: Нажатие кнопки в течении времени, количество нажатий».]]></description>
		<lastBuildDate>Mon, 15 Jun 2015 04:29:36 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94498#p94498</link>
			<description><![CDATA[<p>yalanne вы гений! )) Я счастлив! ))</p><p>Все работает как часы! За исключением одного - кнопка Е не работает в нормальном режиме... только как переключатель, даже в тексте не печатается... а она нужна...</p><p>PS Посмотрите почту.</p>]]></description>
			<author><![CDATA[null@example.com (skeleton)]]></author>
			<pubDate>Mon, 15 Jun 2015 04:29:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94498#p94498</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94493#p94493</link>
			<description><![CDATA[<div class="codebox"><pre><code>#If D11
*LButton::
   While GetKeyState(&quot;LButton&quot;, &quot;P&quot;)
    Sendinput {sc21 down}
     {
      Click
      Sleep, 680
     } 
   Return

#If
F11:: D11 := !D11

#If D12
*LButton::
   While GetKeyState(&quot;LButton&quot;, &quot;P&quot;)
     {
      Click
      Sleep, 2800
     } 
   Return

#If
F12:: D12 := !D12

SC014:: ; жмем кнопку е/t
press++ ; в этой переменной будет считаться нажатие этих клавиш
if press = 1 ; если нажатие первое то запускаем таймер
    settimer qq,-2000
keywait SC014 
return

qq: 
if ((press = 1) and GetKeyState(&quot;SC014&quot;,&quot;p&quot;)) or (press &gt;= 4) 
%     (D11 and !D12) ? ( (D12:=1) and (D11:=0) ) ; Если D11=1&gt;, а D12=0 
    : (D12 and !D11) ? ( (D11:=1) and (D12:=0) ) ; Или если D12=1&gt;, а D11=0      то меняем их ние статусы.
    : &quot;&quot;
press := 0 ; сброс нажатий
return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Sun, 14 Jun 2015 18:07:36 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94493#p94493</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94489#p94489</link>
			<description><![CDATA[<p><span style="color: green"><strong>skeleton</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, 14 Jun 2015 05:32:11 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94489#p94489</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94488#p94488</link>
			<description><![CDATA[<p>Если я правильно понял изначально тот или иной блок уже должен быть активен. Мне нужно что бы при запуске макроса оба блока F11 и F12 были неактивны и какой запустить первым решал я сам нажав либо F11 либо F12, а затем макрос по описанному ниже нажатию &quot;Е&quot; определял какой блок работает и переключался на другой.</p><p>Уточню.</p><div class="codebox"><pre><code>#If D11
*LButton::
   While GetKeyState(&quot;LButton&quot;, &quot;P&quot;)
    Sendinput {sc21 down}
     {
      Click
      Sleep, 680
     } 
   Return

#If
F11:: D11 := !D11

#If D12
*LButton::
   While GetKeyState(&quot;LButton&quot;, &quot;P&quot;)
     {
      Click
      Sleep, 2800
     } 
   Return

#If
F12:: D12 := !D12

SC014:: ; жмем кнопку е/t
press++ ; в этой переменной будет считаться нажатие этих клавиш
if press = 1 ; если нажатие первое то запускаем таймер
    settimer qq,-2000
keywait SC014 
return

qq: 
if ((press = 1) and GetKeyState(&quot;SC014&quot;,&quot;p&quot;)) or (press &gt;= 4) 

Если на данный момент активно F11:: переключиться на F12::. (А если на тот момент было активно F12:: переключиться на F11::) т.е. определить какой блок был активен и переключиться на другой.

press := 0 ; сброс нажатий
return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (skeleton)]]></author>
			<pubDate>Sun, 14 Jun 2015 04:17:42 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94488#p94488</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94484#p94484</link>
			<description><![CDATA[<p>Не совсем понял, но вот что получилось:<br /></p><div class="codebox"><pre><code>#If !D ; Это условие истина если D равно 0(пустоте).
F11::tooltip 1
F12::tooltip 2
#If

#If D ; Это условие истина если D равно положительному числу.
F11::tooltip 3
F12::tooltip 4
#If

SC014:: ; жмем кнопку е/t
press++ ; в этой переменной будет считаться нажатие этих клавиш
if press = 1 ; если нажатие первое то запускаем таймер
    settimer qq,-2000
keywait SC014 
return

qq: 
if ((press = 1) and GetKeyState(&quot;SC014&quot;,&quot;p&quot;)) or (press &gt;= 4) ;если это условие сработало то 
    D := !D ; то переменная поменяет свой статус. (если было 0 то будет 1 и наоборот)
press := 0 ; сброс нажатий
return</code></pre></div><p>то?</p>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Sat, 13 Jun 2015 18:54:53 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94484#p94484</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94483#p94483</link>
			<description><![CDATA[<p>Усложним задачу. ) Имеем скрипт:</p><div class="codebox"><pre><code>
Изначально оба действия отключены и сначала кнопкой F11/F12 включается любое из них

#If D1
   Действие 1
#If
F12:: D1 := !D1

#If D2
   Действие 2
#If
F11:: D2 := !D2

SC014:: ; жмем кнопку е/t
press++ ; в этой переменной будет считаться нажатие этих клавиш
if press = 1 ; если нажатие первое то запускаем таймер
    settimer qq,-2000
keywait SC014 
return

qq: 
if ((press = 1) and GetKeyState(&quot;SC014&quot;,&quot;p&quot;)) or (press &gt;= 4) 
    Если на данный момент активно Действие 2/1 переключиться на Действие 1/2
    (То есть нужно определить какое действие на данный момент активно и переключиться на другое)
press := 0 ; сброс нажатий
return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (skeleton)]]></author>
			<pubDate>Sat, 13 Jun 2015 18:29:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94483#p94483</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94482#p94482</link>
			<description><![CDATA[<div class="quotebox"><cite>yalanne пишет:</cite><blockquote><div class="codebox"><pre><code>SC014:: ; жмем кнопку е/t
press++ ; в этой переменной будет считаться нажатие этих клавиш
if press = 1 ; если нажатие первое то запускаем таймер
    settimer qq,-2000
keywait SC014 
return

qq: 
if ((press = 1) and GetKeyState(&quot;SC014&quot;,&quot;p&quot;)) or (press &gt;= 4) 
    tooltip 12
    
press := 0 ; сброс нажатий
return</code></pre></div><p><strong>qq</strong> это метка(ее имя может быть другое). К меткам надо одно двоеточие, а к клавишам две.</p></blockquote></div><p>Отлично! Спасибо большое завтра буду пробовать!</p>]]></description>
			<author><![CDATA[null@example.com (skeleton)]]></author>
			<pubDate>Sat, 13 Jun 2015 18:16:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94482#p94482</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94480#p94480</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>к одному результату</p></blockquote></div><p>Вот так подойдет?<br /></p><div class="codebox"><pre><code>SC014:: ; жмем кнопку е/t
press++ ; в этой переменной будет считаться нажатие этих клавиш
if press = 1 ; если нажатие первое то запускаем таймер
    settimer qq,-2000
keywait SC014 
return

qq: 
if ((press = 1) and GetKeyState(&quot;SC014&quot;,&quot;p&quot;)) or (press &gt;= 4) 
    tooltip 12
    
press := 0 ; сброс нажатий
return</code></pre></div><p><strong>qq</strong> это метка(ее имя может быть другое). К меткам надо одно двоеточие, а к клавишам две.</p>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Sat, 13 Jun 2015 18:10:15 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94480#p94480</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94479#p94479</link>
			<description><![CDATA[<div class="quotebox"><cite>yalanne пишет:</cite><blockquote><div class="codebox"><pre><code>SC014:: ; жмем кнопку е/t
press++ ; в этой переменной будет считаться нажатие этих клавиш
if press = 1 ; если нажатие первое то запускаем таймер
    settimer qq,-2000
keywait SC014 
return

qq: 
if (press = 1) and GetKeyState(&quot;SC014&quot;,&quot;p&quot;) ; проверяем  если кнопка не отпускалась
    tooltip 1 ; то делаем это действие.
else if press &gt;= 4 ; Иначе вот это, если нажато 4 и более раза
    tooltip 2
    
press := 0 ; сброс нажатий
return</code></pre></div></blockquote></div><p>Спасибо за помощь! <br />Только насколько я понял действие либо так, либо иначе... мне нужно чтобы любое из действий приводило к одному результату. </p><div class="codebox"><pre><code>if (press = 1) and GetKeyState(&quot;SC014&quot;,&quot;p&quot;) or press &gt;= 4</code></pre></div><p>В AHK есть оператор or?<br />И qq с одним двоеточием?</p><p>И еще извиняюсь один вопрос почему не работает конструкция:</p><div class="codebox"><pre><code>#If T1
*LButton::
   While GetKeyState(&quot;LButton&quot;, &quot;P&quot;)
    {
      Send, {sc21 down}
    } 
   Return

#If
F9:: T1 := !T1</code></pre></div><p>То есть нужно - если нажата ЛКМ нажать и удерживать F, если отпустить ЛКМ - отпустить F</p>]]></description>
			<author><![CDATA[null@example.com (skeleton)]]></author>
			<pubDate>Sat, 13 Jun 2015 17:59:31 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94479#p94479</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94478#p94478</link>
			<description><![CDATA[<p>Если написано понятно, с чувством, с толком и с расстановкой, то часто и комментарии не нужны. Удивляет, что такие, казалось бы, сами собой разумеющиеся вещи вызывают вопросы. В сети много статей о том, как правильно и как неправильно оформлять код, погуглите, почитайте.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sat, 13 Jun 2015 17:19:17 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94478#p94478</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94477#p94477</link>
			<description><![CDATA[<p>Хоть я и не пользуюсь форматированием скрипта, но я почти всегда во всех своих скриптах(законченных) делаю подробные коменты разве этого мало?</p>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Sat, 13 Jun 2015 16:02:45 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94477#p94477</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94476#p94476</link>
			<description><![CDATA[<p>Так зачем сравнивать с тем, что ещё хуже? Тех, кто делает что-то плохо, всегда больше, чем тех, кто умеет делать хорошо.</p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sat, 13 Jun 2015 15:54:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94476#p94476</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94475#p94475</link>
			<description><![CDATA[<p><strong>teadrinker</strong>, это еще читабельно! Вот в другом посте про геймпад-клавиатуру, в начале там библиотека нужная автор этой библиотеки все красиво расписал с множеством коментов а после идет мои заклинания на 200&gt; строк без коментов. XD</p>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Sat, 13 Jun 2015 15:48:59 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94475#p94475</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94474#p94474</link>
			<description><![CDATA[<p><strong>yalanne</strong>, напрасно не пользуетесь форматированием, выглядит дико. Сделайте уже шаг от говнокодера к программисту! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (teadrinker)]]></author>
			<pubDate>Sat, 13 Jun 2015 15:34:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94474#p94474</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=94472#p94472</link>
			<description><![CDATA[<div class="codebox"><pre><code>SC014:: ; жмем кнопку е/t
press++ ; в этой переменной будет считаться нажатие этих клавиш
if press = 1 ; если нажатие первое то запускаем таймер
    settimer qq,-2000
keywait SC014 
return

qq: 
if (press = 1) and GetKeyState(&quot;SC014&quot;,&quot;p&quot;) ; проверяем  если кнопка не отпускалась
    tooltip 1 ; то делаем это действие.
else if press &gt;= 4 ; Иначе вот это, если нажато 4 и более раза
    tooltip 2
    
press := 0 ; сброс нажатий
return</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Sat, 13 Jun 2015 15:07:26 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=94472#p94472</guid>
		</item>
	</channel>
</rss>
