1

Тема: Прерывание цикла

Есть код:


vk6A:: SetTimer, SendInput_W, % (W_UpWait := !W_UpWait) ? 300 : "Off"

SendInput_W:
	SendInput {Blind}3
	Return

Можно ли сделать так чтоб данный цикл прерывался клавишей "T"? Но не запускался, если он не запущен.

2 (изменено: svoboden, 2017-02-24 02:54:44)

Re: Прерывание цикла

2:: SetTimer, W, % (i := !i) ? 300 : "Off"
vk54::SetTimer, W, % (i) ? "Off" : "Off"

W:
	SendInput {Blind}3
	Return

3

Re: Прерывание цикла

Спасибо. Есть один ньанс, как клавишу который запускался цикл скинуть в изначальное состояние? Чтобы после прерывания не приходилось цикл запускать двойным нажатим клавиши.

4

Re: Прерывание цикла

vk32:: SetTimer, W, % (i := !i) ? "On" : "On"
vk54::SetTimer, W, % (i) ? "Off" : "Off"

W:
	SendInput {Blind}3
	Return

5

Re: Прерывание цикла

Только счас замтил что почему-то первая клавиша которой цикл включался не выключает его. Можно сделать так чтобы первая включала\выключала, а Т только выключала?

6 (изменено: svoboden, 2017-02-24 23:12:09)

Re: Прерывание цикла

Зачем включать и отключать разными кнопками?

7 (изменено: ralorttal, 2017-02-24 23:49:33)

Re: Прерывание цикла

Ну вот есть такая нужда ) Цикл у меня там сложнее, я сдесь просто упрощенный вариант выложил, я его потом под себя адаптирую.

8 (изменено: svoboden, 2017-02-25 02:32:29)

Re: Прерывание цикла

Тогда так:

2:: SetTimer, W, % (i := !i) ? "On" : "Off"
vk54::
SetTimer, W, Off
i =  
return

W:
	SendInput {Blind}3
	Return

9 (изменено: ralorttal, 2017-02-25 06:00:46)

Re: Прерывание цикла

Спасибо, сейчас всё работает.