Тема: AHK: цикл
Подскажите как сделать цикл чтобы он работал определенное время (примерно 3 секунды)
While,
{
mousemove, 0, 1,100,R
sleep, 35
}
спасибо.
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Подскажите как сделать цикл чтобы он работал определенное время (примерно 3 секунды)
While,
{
mousemove, 0, 1,100,R
sleep, 35
}
спасибо.
time := A_TickCount
While (A_TickCount - time < 3000)
{
mousemove, 0, 1,100,R
sleep, 35
}
Как запустить и остановить цикл сочетанием клавишь?
^!::
{
mousemove, 0, 1,100,R
sleep, 35
}
И этой же комбинацией остановить.
^!::SetTimer, Cycle, % (IsEnable:=!IsEnable) ? 35:"Off"
Cycle:
MouseMove, 0, 1, 100, R
Return
Спасибо за помощь.:)
Как начать цикл с ноля и получить три перебора: 0, 1, 2?
Cnt = 2
loop %Cnt%
msgbox % A_Index
Увеличить одну переменную и уменьшить другую.
Пробовал варианты типа:
Cnt := 2 + 1
loop %Cnt% - 1
msgbox % A_Index
Не реагирует.
Cnt := 2 + 1
msgbox %Cnt% - 1
Но так вроде счёт начинается с единицы —
Cnt := 2 + 1
loop %Cnt%
msgbox % A_Index
а мне надо с ноля до двух.
и уменьшить другую.
А, спасибо!))
Cnt := 2 + 1
loop %Cnt% - 1
{
n := A_Index - 1
msgbox % n
}
Cnt := 2
loop % Cnt + 1
msgbox % A_Index - 1
Интересует, как начать цикл с определенного числа? Задача в том, чтобы уменьшить стартовое число (к примеру: 13) на 5, и соответственно, начать цикл с цифры 8 —
Count := 13
;Count := Count - 5
loop % Count
{
MsgBox % A_Index
}
Судя по всему, как работает предыдущий код вы не поняли?
Вроде что-то получилось, но не удается сделать наглядный перебор с цифрами:
Count := 13
Count := Count - 5
loop % Count
{
n := Count - 5
MsgBox % A_Index
}
У вас count в цикле не уменьшается и не увеличивается поэтому нет и перебора.
А, исправил.
Но всё равно — с восьми перебор не начинается.
А что делает выделенное выражение в цикле?
Count := 13
Count := Count - 5
loop % Count
{
n := Count - 5
MsgBox % A_Index
}
Ну да, лишнее, получается. Всё равно это не подходит, так как перебор начинается не с восьми (до 13-ти).
Сколько нужно прибавить к единице, чтобы получилось 8?
7, а что?
В первой итерации цикла A_Index равно единице, во второй 2, в третьей 3.
А вам надо в первой 8, во второй 9...
loop
MsgBox % A_Index+7
Либо:
n := 8
loop
{
MsgBox % n
n++
}
Спасибо за науку, надеюсь впрок пойдёт)).
Всё-таки, озадачил такой момент: как сделать, чтобы в выделенном участке (пример отрабатывает на нём) перебор заканчивался на 15-ти — то есть, на стартовом значении Count? В целом, суть в том, чтобы по некоему условию (в примере "больше — меньше") отчёт начинался либо с ноля по Count, либо с Count — за вычетом 5 — по Count.
Count := 15 ; 15 или 40
loop % Count
{
if Count > 30 ; Count больше 30-ти
{
n := A_Index - 1
tooltip 1)`nCount: %Count%`n%n%
sleep 1000
}
else ; Count меньше 30-ти
{
;-------------------------------------------------
n := A_Index - 1 + Count - 5
tooltip 2)`nCount: %Count%`n%n%
sleep 1000
;-------------------------------------------------
}
}
Я уже не знаю, как объяснить.
Почитайте про циклы и выражения в справке.
Почитал, но картина все равно не складывается. Уже не представляю, что надо прибавить или отнять, чтобы работало)). Как же это сделать, желательно не прописывая ничего вне loop?
Count := 15
If Count < 30
{
loop
{
msgbox % a_Index -1
if (A_Index = count+1)
break
}
}
Else
...
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться