<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; AHK: sleep в пределах одного блока]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=9828</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=9828&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «AHK: sleep в пределах одного блока».]]></description>
		<lastBuildDate>Thu, 24 Jul 2014 15:22:09 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85145#p85145</link>
			<description><![CDATA[<p>Чувствую, это будут часы-таймер на 12400 строк. <img src="//forum.script-coding.com/img/smilies/wink.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (ypppu)]]></author>
			<pubDate>Thu, 24 Jul 2014 15:22:09 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85145#p85145</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85120#p85120</link>
			<description><![CDATA[<p>А также плюс, то что код будет не ввиде переменной, а в обычном виде. Всё включая <span class="bbu">Main:</span> это стандартная шапка в которой не надо разбиратся, далее пишем сколько угодно меток. При закрытии или перезагрузке основного скрипта, остальные тоже закрываются моментально.<br /></p><div class="codebox"><pre><code>
#NoTrayIcon
#SingleInstance Off 

WM_CloseMyScript := DllCall(&quot;RegisterWindowMessage&quot;, &quot;Str&quot;, &quot;CloseAHKScripts&quot;)
OnMessage(WM_CloseMyScript, &quot;WM_CloseMyScript&quot;)
OnExit, CloseAll
Param = %1% 
If Param =
    PostMessage, WM_CloseMyScript, 0, A_ScriptHWND,, ahk_id 0xFFFF 
GoTo % IsLabel(Param) ? Param : &quot;Main&quot; 

WM_CloseMyScript(wParam, lParam)   { 
    If (lParam != A_ScriptHWND)  {
        OnExit
        ExitApp
    }
    return true
}

Esc::
CloseAll:
    PostMessage, WM_CloseMyScript, 0, A_ScriptHWND,, ahk_id 0xFFFF
    ExitApp
    
    
Main:
    Menu, Tray, Icon
    Loop
    {
        ToolTip % A_Index &quot;|&quot; A_TickCount 
        If !Mod(A_Index, 100) ; тут любое условие
        { 
            Process, Exist, %Pid_Send% ; это для того чтобы не запустить, если скрипт ещё не закрылся. Если оно конечно нужно.
            If (Pid_Send = &quot;&quot; || !ErrorLevel)
                Run, %A_ScriptFullPath% Send, , , Pid_Send 
        }
    }
 
Send:
    Send 9
    sleep, 500
    Send 8
    sleep, 500
    Send 7
    sleep, 300
    Send 6
    sleep, 100
    Send 5
    OnExit
    ExitApp
</code></pre></div><p>С командой GuiControl конечно не выйдет, но можно в параметрах ком строки передавать хэндлы нужных контролов, и делать тоже самое командами Control*.<br />Если во вторичных скриптах перед ExitApp не прописать OnExit, то все скрипты будут закрыты, что в некоторых случаях может быть удобно.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 24 Jul 2014 12:25:32 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85120#p85120</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85116#p85116</link>
			<description><![CDATA[<div class="quotebox"><cite>Malcev пишет:</cite><blockquote><p>А можно и отдельный процесс создать внутри скрипта, но выглядить будет сложнее:</p></blockquote></div><p>Думаю так будет проще <a href="http://forum.script-coding.com/viewtopic.php?pid=84612#p84612">http://forum.script-coding.com/viewtopi … 612#p84612</a>, так и файлы не надо ни создавать ни удалять, и файл скрипта только один.</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 24 Jul 2014 11:28:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85116#p85116</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85115#p85115</link>
			<description><![CDATA[<p>Создавать тоже интересный способ и по началу я даже хотел все переписать с SetTimer&#039;ов, но в результате выходит примерно также по сложности. </p><p>Самый простой вариант из всего - иметь уже созданные файлы и загружать их тогда, когда они нужны.</p>]]></description>
			<author><![CDATA[null@example.com (Странникх)]]></author>
			<pubDate>Thu, 24 Jul 2014 11:22:57 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85115#p85115</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85112#p85112</link>
			<description><![CDATA[<p>Одним файлом можно создавать остальные, запускать их и при выходе из скрипта стирать.<br />А можно и отдельный процесс создать внутри скрипта, но выглядить будет сложнее:<br /><a href="http://forum.script-coding.com/viewtopic.php?pid=65427#p65427">http://forum.script-coding.com/viewtopi … 427#p65427</a></p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 24 Jul 2014 10:46:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85112#p85112</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85111#p85111</link>
			<description><![CDATA[<p>Да, но мне не нравится факт того, что нужно иметь вместо одного файла в папке четыре, а то и больше. Я преследую цель - упростить все. Не люблю трудности, как по себе человек простой.</p>]]></description>
			<author><![CDATA[null@example.com (Странникх)]]></author>
			<pubDate>Thu, 24 Jul 2014 10:35:27 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85111#p85111</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85110#p85110</link>
			<description><![CDATA[<p>Почитайте внимательно ссылку в 13 посте.<br />Александр_ там все по полочкам раскладывает.<br /></p><div class="quotebox"><blockquote><p>чтобы не забивать этим трей</p></blockquote></div><p><a href="http://www.script-coding.com/AutoHotkey/NoTrayIcon.html">http://www.script-coding.com/AutoHotkey/NoTrayIcon.html</a></p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 24 Jul 2014 10:11:10 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85110#p85110</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85109#p85109</link>
			<description><![CDATA[<p>Ну.. да, в принципе можно создать кучу AHK скриптов, которые открывались бы и закрывались бы, чтобы не забивать этим трей. <br />Но я все равно буду искать ближайшее время решение, чтобы уместить все в одном скрипте. О и да пока писал кажется его нашел! Называется установка кучи таймеров с разным временем ожидания, то есть:<br /></p><div class="codebox"><pre><code>SetTimer, sleeper500, 500
sleeper500:
if x = 0
{
GuiControl, 2: Show, TimerText25
x = 1
Return ; Вот отсюда таймер запустится в 500 мс. Грубо говоря он подождет 500 мс, так как было бы написав sleep, 500 и приступит к выполнению дальше (то есть где x = 1)
}
if x = 1
{
GuiControl, 2: Hide, TimerText25
GuiControl, 2: Show, TimerText20
}
} ; Ну аналогию Вы дальше поняли
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Странникх)]]></author>
			<pubDate>Thu, 24 Jul 2014 10:08:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85109#p85109</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85107#p85107</link>
			<description><![CDATA[<p>Как заметил ypppu:<br /></p><div class="quotebox"><blockquote><p>В AutoHotkey нет параллельных потоков</p></blockquote></div><p>Хотите мультипоточность создавайте 2 скрипта и между ними обменивайтесь информацией.<br />Про псевдомультипоточность тут разбирались:<br /><a href="http://forum.script-coding.com/viewtopic.php?id=6406">http://forum.script-coding.com/viewtopic.php?id=6406</a></p>]]></description>
			<author><![CDATA[null@example.com (Malcev)]]></author>
			<pubDate>Thu, 24 Jul 2014 09:49:22 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85107#p85107</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85105#p85105</link>
			<description><![CDATA[<div class="codebox"><pre><code>Timer: 
{
GuiControl, 2: Show, TimerText25
sleep, 500
GuiControl, 2: Hide, TimerText25
GuiControl, 2: Show, TimerText20
sleep, 500
GuiControl, 2: Hide, TimerText20
GuiControl, 2: Show, TimerText15
sleep, 500
GuiControl, 2: Hide, TimerText15
GuiControl, 2: Show, TimerText10
sleep, 400
GuiControl, 2: Hide, TimerText10
GuiControl, 2: Show, TimerText06
sleep, 300
GuiControl, 2: Hide, TimerText06
GuiControl, 2: Show, TimerText03
sleep, 100
GuiControl, 2: Hide, TimerText03
GuiControl, 2: Show, TimerText02
sleep, 100
GuiControl, 2: Hide, TimerText02
GuiControl, 2: Show, TimerText01
sleep, 100
GuiControl, 2: Hide, TimerText01
Gui, 2: Hide
time = 0
}
Return</code></pre></div><p>Вот мой кусок кода, чей поток должен быть отделен от другого потока, либо иметь альтернативную паузу заместо sleep, не мешающей работать другим потокам (не останавливать работу других потоков).</p>]]></description>
			<author><![CDATA[null@example.com (Странникх)]]></author>
			<pubDate>Thu, 24 Jul 2014 09:30:52 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85105#p85105</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85104#p85104</link>
			<description><![CDATA[<p>Чего?</p>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 24 Jul 2014 09:19:29 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85104#p85104</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85103#p85103</link>
			<description><![CDATA[<p>Так, вроде бы понятно, но конкретной задачи это не решает. Он лишь под цифры. </p><p>А если скажем я захочу сделать перебор с gui типа:?<br /></p><div class="codebox"><pre><code>guicontrol, 1: show, text
sleep, 500
guicontrol, 2: Hide, text</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (Странникх)]]></author>
			<pubDate>Thu, 24 Jul 2014 09:16:51 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85103#p85103</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85098#p85098</link>
			<description><![CDATA[<p>А это уже глупый вопрос. <br /><strong>Простейшие</strong> параметры команды ToolTip описаны в справке.<br /></p><div class="quotebox"><blockquote><p>X, Y <br />Х и Y позиция подсказка относительно активного окна (использовать CoordMode, подсказка, чтобы изменить экранные координаты). Если координаты опущены, подсказка будет показан рядом с курсором мыши. Х и Y могут быть выражениями. <br />WhichToolTip <br />Пропустите этот параметр, если вам не нужно несколько подсказок появляться одновременно. В противном случае, это число от 1 до 20, чтобы указать, какие подсказки окно для работы на. Если не указано, что число 1 (первый). Этот параметр может быть выражением.</p></blockquote></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 24 Jul 2014 08:50:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85098#p85098</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85097#p85097</link>
			<description><![CDATA[<div class="codebox"><pre><code>111, 111, 1</code></pre></div><p>А вот это что такое после ToolTip % A_Index &quot;|&quot; A_TickCount?</p>]]></description>
			<author><![CDATA[null@example.com (Странникх)]]></author>
			<pubDate>Thu, 24 Jul 2014 08:44:50 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85097#p85097</guid>
		</item>
		<item>
			<title><![CDATA[Re: AHK: sleep в пределах одного блока]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=85094#p85094</link>
			<description><![CDATA[<div class="codebox"><pre><code>
Arr := [[&quot;9&quot;, 500], [&quot;8&quot;, 500], [&quot;7&quot;, 300], [&quot;6&quot;, 100], [&quot;5&quot;, 0]]  
N := 0

Loop
{
    ToolTip % A_Index &quot;|&quot; A_TickCount, 111, 111, 1
    If !N ; Если в данный момент массив неперебирается, то запускаем метку. Также есть возможность прерывать текущее выполнение, начиная сначала подпрограмму
        GoSub, LoopSend
}

LoopSend: 
    If !(N := ++N &gt; Arr.MaxIndex() ? 0 : N) ; Плюсуем к N единицу, если достигли конца массива, то назначаем N в 0, и прекращаем выполнение
        Return
    SetTimer, LoopSend, % &quot;-&quot; . Arr[N, 2] ; Назначаем однократный таймер равный 2 параметру в N массиве 
    SendInput % Arr[N, 1] ; Нажимаем кнопку которая в 1 параметре текущего массива
    Return
</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (serzh82saratov)]]></author>
			<pubDate>Thu, 24 Jul 2014 08:22:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=85094#p85094</guid>
		</item>
	</channel>
</rss>
