<?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=15339&amp;type=atom" />
	<updated>2020-05-11T12:06:50Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=15339</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поочередное выполнение действий, по нажатию одной клавиши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=139443#p139443" />
			<content type="html"><![CDATA[<p>1) Зачем тут #UseHook?<br />2) Обрамлять цифры скобками не нужно.</p>]]></content>
			<author>
				<name><![CDATA[Malcev]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=26930</uri>
			</author>
			<updated>2020-05-11T12:06:50Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=139443#p139443</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поочередное выполнение действий, по нажатию одной клавиши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=139434#p139434" />
			<content type="html"><![CDATA[<p>Там пару строчек кода. Выключайте вахтера.</p><div class="codebox"><pre><code>#UseHook
1:: Gosub % &quot;One&quot; (I := !I || I = 3 ? 1 : ++I)

One1:
	SendInput, {2}{3}
	return
One2:
	SendInput, {4}{5}
	return
One3:
	SendInput, {6}{7}
	return
</code></pre></div>]]></content>
			<author>
				<name><![CDATA[EV]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40256</uri>
			</author>
			<updated>2020-05-11T01:28:21Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=139434#p139434</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поочередное выполнение действий, по нажатию одной клавиши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=139311#p139311" />
			<content type="html"><![CDATA[<p>А точки в конце предложений, Вы, умеете ставить?<br />Если внимательно почитать справку, решение придёт само-собой.<br />Вот Вам, псевдокод, опираясь на который и читая мануал, к Вам должно прийти озарение:<br /></p><div class="codebox"><pre><code>#NoEnv
#SingleInstance, Force

; В самом начале сценария объявляете переменную счётчика
; и присваиеваете ей значение, равное единице

; Затем, объявляете блок кода, за который отвечает горячая клавиша.
; Это Вы уже делали:
F4::
	; Теперь, внутри этого блока, размещаете логическую конструкцию,
	; о которой Вы, несомненно прочли, например &quot;if&quot; и передаёте её оператору,
	; операнд, в виде переменной, которую вы объявили в самом начале, над которым
	; выполняете сравнение, как в примерах из справки, сравнивая с единицей.
	
		; Далее, внутри фигурных скобок размещаете инструкции, которые должны выполняться.
	
	; Затем, описываете следующее сравнение, но уже с двойкой
		
		; И внутри фигурных скобок следующего блока, размещаете инструкции для второго этапа.
		
	; Повторяете описание сравнений до тех пор, пока у Вас есть что выполнять, в Вашей
	; последовательности.
	
	; Описываете новую логическую конструкцию &quot;if&quot; и передаёте её оператору эту же
	; самую переменную. Сравниваете её с числом, равным количеству всех этапов,
	; которые должны выполниться.
	
		; Присваиваете переменной значение, равное единице.
		
	; Иначе
		
		; Прибавляете переменной единицу.
	
Return</code></pre></div>]]></content>
			<author>
				<name><![CDATA[KusochekDobra]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33846</uri>
			</author>
			<updated>2020-05-03T15:44:15Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=139311#p139311</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поочередное выполнение действий, по нажатию одной клавиши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=139310#p139310" />
			<content type="html"><![CDATA[<div class="quotebox"><cite>KusochekDobra пишет:</cite><blockquote><p>Вам потребуется переменная, в которой будет храниться состояние выполнения, а именно текущий этап и логическая конструкция(&quot;if&quot;, или &quot;switch&quot;), которая в зависимости от номера текущего этапа будет выполнять свой блок инструкций.</p><p>Каждый раз, когда нажимаете горячую клавишу, после выполнения всех инструкций, приращиваете значение переменной на единицу, или обнуляете, если выполнился последний блок инструкций.</p></blockquote></div><p>Я понимаю, но не знаю как это в коде выразить</p>]]></content>
			<author>
				<name><![CDATA[Sevon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40405</uri>
			</author>
			<updated>2020-05-03T14:39:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=139310#p139310</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Поочередное выполнение действий, по нажатию одной клавиши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=139309#p139309" />
			<content type="html"><![CDATA[<p>Вам потребуется переменная, в которой будет храниться состояние выполнения, а именно текущий этап и логическая конструкция(&quot;<a href="https://www.autohotkey.com/docs/commands/IfExpression.htm">if</a>&quot;, или &quot;<a href="https://www.autohotkey.com/docs/commands/Switch.htm">switch</a>&quot;), которая в зависимости от номера текущего этапа будет выполнять свой блок инструкций.</p><p>Каждый раз, когда нажимаете горячую клавишу, после выполнения всех инструкций, приращиваете значение переменной на единицу, или обнуляете, если выполнился последний блок инструкций.</p>]]></content>
			<author>
				<name><![CDATA[KusochekDobra]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33846</uri>
			</author>
			<updated>2020-05-03T13:01:12Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=139309#p139309</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Поочередное выполнение действий, по нажатию одной клавиши.]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=139308#p139308" />
			<content type="html"><![CDATA[<p>Делая интересную программу, я столкнулся с проблемой: мне нужно, что бы по нажатию одной и той же клавиши выполнялись следующие действия;<br />То есть, я нажимаю F4 выполняется первое действие, еще раз, второе. Нажав F4 третий раз действие выполняется, и отсчет начинается заново.<br /></p><div class="codebox"><pre><code>F4::

One:  MsgBox, 1 ; первое нажатие
return
Two: MsgBox, 2 ; второе нажатие
return
Free: MsgBox, 3 ; третье нажатие

F5:: 
; заново начать отсчет</code></pre></div><p>Кодить я начал недавно, надеюсь на понимание <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></content>
			<author>
				<name><![CDATA[Sevon]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=40405</uri>
			</author>
			<updated>2020-05-03T11:59:35Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=139308#p139308</id>
		</entry>
</feed>
