<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; Перестаёт работать цикл]]></title>
		<link>http://forum.script-coding.com/viewtopic.php?id=11369</link>
		<atom:link href="http://forum.script-coding.com/extern.php?action=feed&amp;tid=11369&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «Перестаёт работать цикл».]]></description>
		<lastBuildDate>Sat, 05 Mar 2016 12:42:00 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: Перестаёт работать цикл]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=101673#p101673</link>
			<description><![CDATA[<p>Спасибо</p>]]></description>
			<author><![CDATA[null@example.com (ralorttal)]]></author>
			<pubDate>Sat, 05 Mar 2016 12:42:00 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=101673#p101673</guid>
		</item>
		<item>
			<title><![CDATA[Re: Перестаёт работать цикл]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=101665#p101665</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Когда {Blind} стоит первым в посылаемой строке, клавиши Alt/Control/Shift/Win, находящиеся в нажатом состоянии, не будут отпущены перед посылкой строки.</p></blockquote></div><div class="codebox"><pre><code>SendInput {Blind}4</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 04 Mar 2016 23:18:00 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=101665#p101665</guid>
		</item>
		<item>
			<title><![CDATA[Re: Перестаёт работать цикл]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=101664#p101664</link>
			<description><![CDATA[<p>Ещё подскажите в чём может быть проблема. Если я в данном цикле использую только клавишу Е, для периодического прожатия 4, то при ручном зажатии шифта,&nbsp; он периодически отпускается, хотя кнопка физически зажата.</p>]]></description>
			<author><![CDATA[null@example.com (ralorttal)]]></author>
			<pubDate>Fri, 04 Mar 2016 22:39:05 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=101664#p101664</guid>
		</item>
		<item>
			<title><![CDATA[Re: Перестаёт работать цикл]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=101642#p101642</link>
			<description><![CDATA[<p>Странно почему первые 2 дня Е была тригером.<br />Можно переделать так:<br /></p><div class="codebox"><pre><code>vk45:: ; E
vk57:: ; W
	Loop 
	{
		if (W_Down := GetKeyState(&quot;vk57&quot;,&quot;p&quot;)) &amp;&amp; (A_TickCount &gt; T1) &amp;&amp; (T1 := A_TickCount + 100)
			SendInput {Shift down}{LButton down}1{Shift up}{LButton up}  
		if (E_UpWait := GetKeyState(&quot;vk45&quot;,&quot;p&quot;) ? !E_UpWait : E_UpWait)  &amp;&amp; (A_TickCount &gt; T2) &amp;&amp; (T2 := A_TickCount + 100)
			SendInput 4 
			Sleep 100
	} Until (!W_Down &amp;&amp; !E_UpWait)
	Return </code></pre></div><p>Но если E проверять в цикле без Sleep, то одно её нажатие может быть принято за несколько, а использовать тут Sleep не кошерно.<br />Я бы сделал на таймерах:<br /></p><div class="codebox"><pre><code>
vk45:: SetTimer, Send_4, % (E_Work := !E_Work) ? 100 : &quot;Off&quot;    ; E  

vk57::  ; W 
	If !W_Down 
		SetTimer, Send_Shift_LButton_1, %  (W_Down := 100)
	Return
	
vk57 Up:: SetTimer, Send_Shift_LButton_1, % &quot;Off&quot; . (W_Down := &quot;&quot;)
	
Send_4:
	SendInput 4
	Return
	
Send_Shift_LButton_1:
	SendInput {Shift down}{LButton down}1{Shift up}{LButton up} 
	Return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Fri, 04 Mar 2016 17:23:58 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=101642#p101642</guid>
		</item>
		<item>
			<title><![CDATA[Re: Перестаёт работать цикл]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=101629#p101629</link>
			<description><![CDATA[<p>Как ни странно спустя пару дней, код стал рабоать по другому, Е стала работать пока её держишь, а не как тригер. Хотя сначала работала как хотелось. Ни у кого нет никаких идей? Комп перезагружал, скрипт заново копировал.</p>]]></description>
			<author><![CDATA[null@example.com (ralorttal)]]></author>
			<pubDate>Fri, 04 Mar 2016 13:57:28 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=101629#p101629</guid>
		</item>
		<item>
			<title><![CDATA[Re: Перестаёт работать цикл]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=101572#p101572</link>
			<description><![CDATA[<p>Спасибо</p>]]></description>
			<author><![CDATA[null@example.com (ralorttal)]]></author>
			<pubDate>Tue, 01 Mar 2016 17:28:20 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=101572#p101572</guid>
		</item>
		<item>
			<title><![CDATA[Re: Перестаёт работать цикл]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=101567#p101567</link>
			<description><![CDATA[<div class="codebox"><pre><code>vk57:: ;W
vk45:: ; E
While GetKeyState(&quot;vk57&quot;,&quot;p&quot;) or GetKeyState(&quot;vk45&quot;,&quot;p&quot;)
{
  if GetKeyState(&quot;vk57&quot;,&quot;p&quot;) and (A_TickCount &gt; T1) and (T1 := A_TickCount + 100)
   SendInput {Shift down}{LButton down}1{Shift up}{LButton up} 
  if GetKeyState(&quot;vk45&quot;,&quot;p&quot;) and (A_TickCount &gt; T2) and (T2 := A_TickCount + 100)
   SendInput 4 
}
return </code></pre></div>]]></description>
			<author><![CDATA[null@example.com (yalanne)]]></author>
			<pubDate>Tue, 01 Mar 2016 14:20:46 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=101567#p101567</guid>
		</item>
		<item>
			<title><![CDATA[Перестаёт работать цикл]]></title>
			<link>http://forum.script-coding.com/viewtopic.php?pid=101566#p101566</link>
			<description><![CDATA[<p>Имеется код</p><div class="codebox"><pre><code>
vk57:: ;W
SendInput {Shift Down}{LButton Down} 
While GetKeyState(A_ThisHotkey,&quot;p&quot;) 
{
    if (A_TickCount &gt; T1) &amp;&amp; (T1 := A_TickCount + 100) 
        SendInput 1 
     
    sleep 10
}
SendInput {Shift Up}{LButton Up}  
return 

vk45:: ; E
keywait vk45 
loop 
    {
    
     if GetKeyState(&quot;vk45&quot;,&quot;p&quot;) 
        {    
            keywait vk45
            return
        }    
     if (A_TickCount &gt; T10) and (T10 := A_TickCount + 100) 
            SendInput 4 
    }

</code></pre></div><p>Идея в том чтоб по нажатию клавиши Е, прожималась постоянно 4, пока ещё раз не нажать Е. А по зажатию W зажимался шифт с левой кнопкой мышки и прожималась 1. Проблема в том, что при нажатии W прекращается цикл E, пока не отпустить W. Как переделать код чтобы они работали оба одновременно независимо друг от друга.</p>]]></description>
			<author><![CDATA[null@example.com (ralorttal)]]></author>
			<pubDate>Tue, 01 Mar 2016 13:39:47 +0000</pubDate>
			<guid>http://forum.script-coding.com/viewtopic.php?pid=101566#p101566</guid>
		</item>
	</channel>
</rss>
