<?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=10691&amp;type=atom" />
	<updated>2015-06-15T04:29:36Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=10691</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94498#p94498" />
			<content type="html"><![CDATA[<p>yalanne вы гений! )) Я счастлив! ))</p><p>Все работает как часы! За исключением одного - кнопка Е не работает в нормальном режиме... только как переключатель, даже в тексте не печатается... а она нужна...</p><p>PS Посмотрите почту.</p>]]></content>
			<author>
				<name><![CDATA[skeleton]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33119</uri>
			</author>
			<updated>2015-06-15T04:29:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94498#p94498</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94493#p94493" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2015-06-14T18:07:36Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94493#p94493</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94489#p94489" />
			<content type="html"><![CDATA[<p><span style="color: green"><strong>skeleton</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>2015-06-14T05:32:11Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94489#p94489</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94488#p94488" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[skeleton]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33119</uri>
			</author>
			<updated>2015-06-14T04:17:42Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94488#p94488</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94484#p94484" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2015-06-13T18:54:53Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94484#p94484</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94483#p94483" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[skeleton]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33119</uri>
			</author>
			<updated>2015-06-13T18:29:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94483#p94483</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94482#p94482" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[skeleton]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33119</uri>
			</author>
			<updated>2015-06-13T18:16:51Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94482#p94482</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94480#p94480" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2015-06-13T18:10:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94480#p94480</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94479#p94479" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[skeleton]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33119</uri>
			</author>
			<updated>2015-06-13T17:59:31Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94479#p94479</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94478#p94478" />
			<content type="html"><![CDATA[<p>Если написано понятно, с чувством, с толком и с расстановкой, то часто и комментарии не нужны. Удивляет, что такие, казалось бы, сами собой разумеющиеся вещи вызывают вопросы. В сети много статей о том, как правильно и как неправильно оформлять код, погуглите, почитайте.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2015-06-13T17:19:17Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94478#p94478</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94477#p94477" />
			<content type="html"><![CDATA[<p>Хоть я и не пользуюсь форматированием скрипта, но я почти всегда во всех своих скриптах(законченных) делаю подробные коменты разве этого мало?</p>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2015-06-13T16:02:45Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94477#p94477</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94476#p94476" />
			<content type="html"><![CDATA[<p>Так зачем сравнивать с тем, что ещё хуже? Тех, кто делает что-то плохо, всегда больше, чем тех, кто умеет делать хорошо.</p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2015-06-13T15:54:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94476#p94476</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94475#p94475" />
			<content type="html"><![CDATA[<p><strong>teadrinker</strong>, это еще читабельно! Вот в другом посте про геймпад-клавиатуру, в начале там библиотека нужная автор этой библиотеки все красиво расписал с множеством коментов а после идет мои заклинания на 200&gt; строк без коментов. XD</p>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2015-06-13T15:48:59Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94475#p94475</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94474#p94474" />
			<content type="html"><![CDATA[<p><strong>yalanne</strong>, напрасно не пользуетесь форматированием, выглядит дико. Сделайте уже шаг от говнокодера к программисту! <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2015-06-13T15:34:03Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94474#p94474</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Нажатие кнопки в течении времени, количество нажатий]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=94472#p94472" />
			<content type="html"><![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>]]></content>
			<author>
				<name><![CDATA[yalanne]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=32850</uri>
			</author>
			<updated>2015-06-13T15:07:26Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=94472#p94472</id>
		</entry>
</feed>
