1 (изменено: Igor S, 2025-09-07 08:34:36)

Тема: AHK v1: Повторение взаимовложенных Циклов для скрипта.

Здравствуйте. Как сделать так чтобы после выполнения 2 цикла, вновь начался с 1 и так 10 раз, и только потом перешёл к третьему.

F2::

Loop,  {
Loop, 1{
Loop, 10{
Send, {f Down}
Sleep, 6450
Send, {f Up}
Sleep, 500
Send, {f Down}
Sleep, 200
Send, {f Up}
Sleep, 300
Send, {f Down}
Sleep, 200
Send, {f Up}
Sleep, 300
Send, {f Down}
Sleep, 200
Send, {f Up}
Sleep, 300
Send, {f Down}
Sleep, 1600
Send, {f Up}
Sleep, 500
Send, {f Down}
Sleep, 200
Send, {f Up}
Sleep, 300
}
Send, {f Down}
Sleep, 200
Send, {f Up}
Sleep, 300
Send, {f Down}
Sleep, 200
Send, {f Up}
Sleep, 300
Send, {f Down}
Sleep, 1600
Send, {f Up}
Sleep, 500
Send, {f Down}
Sleep, 200
Send, {f Up}
Sleep, 300
Send, {f Down}
Sleep, 200
Send, {f Up}
Sleep, 300
}
Send, {f Down}
Sleep, 200
Send, {f Up}
Sleep, 300
Send, {f Down}
Sleep, 200
Send, {f Up}
Sleep, 300
Send, {f Down}
Sleep, 1600
Send, {f Up}
Sleep, 500
Send, {f Down}
Sleep, 200
Send, {f Up}
Sleep, 300
Send, {f Down}
Sleep, 200
Send, {f Up}
Sleep, 300
}
Return
F3::ExitApp
F4::Pause

2 (изменено: haridev, 2025-09-03 20:45:30)

Re: AHK v1: Повторение взаимовложенных Циклов для скрипта.

Примерно так

loop 11 { ; 1-й цикл выполняется 11 раз
   Count := A_Index
   loop 100 { ; 2-й цикл
      if Count <= 10
         continue
      loop 1000 { ; 3-й цикл внутри 2-го выполнится только на 11-ю итерацию 1-го
      }
   }
}

3 (изменено: Igor S, 2025-09-07 05:55:50)

Re: AHK v1: Повторение взаимовложенных Циклов для скрипта.

Останавливается после выполнения 2 цикла.

F2::
   
   Loop, 10 { ; цикл 0
      Count := A_Index
      Loop  10 { ; цикл 1
        команды 1
      Send, {f Down}
      Sleep, 6450
      Send, {f Up}
      Sleep, 500
      Send, {f Down}
      Sleep, 200
      Send, {f Up}
      Sleep, 300
      Send, {f Down}
      Sleep, 200
      Send, {f Up}
      Sleep, 300
      Send, {f Down}
      Sleep, 200
      Send, {f Up}
      Sleep, 300
      Send, {f Down}
      Sleep, 1600
      Send, {f Up}
      Sleep, 500
      Send, {f Down}
      Sleep, 200
      Send, {f Up}
      Sleep, 300 
      if Count <= 9
         continue
         Loop  1 {  ; цикл 2
           команды 2  
         Send, {f Down}
         Sleep, 200
         Send, {f Up}
         Sleep, 300
         Send, {f Down}
         Sleep, 200
         Send, {f Up}
         Sleep, 300
         Send, {f Down}
         Sleep, 1600
         Send, {f Up}
         Sleep, 500
         Send, {f Down}
         Sleep, 200
         Send, {f Up}
         Sleep, 300
         Send, {f Down}
         Sleep, 200
         Send, {f Up}
         Sleep, 300
         if A_Index <= 9
              continue
            Loop  1 {  ; цикл 3
               команды 3
            Send, {f Down}
            Sleep, 200
            Send, {f Up}
            Sleep, 300
            Send, {f Down}
            Sleep, 1600
            Send, {f Up}
            Sleep, 500
            Send, {f Down}
            Sleep, 200
            Send, {f Up}
            Sleep, 300
            Send, {f Down}
            Sleep, 200
            Send, {f Up}
            Sleep, 300
            Send, {f Down}
            Sleep, 200
            Send, {f Up}
            Sleep, 300
            }
         }  
      } 
   }
F3::ExitApp
F4::Pause

4

Re: AHK v1: Повторение взаимовложенных Циклов для скрипта.

Igor S пишет:

AHK v2

Ваш код не для v2, он для v1, исправьте заголовок.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: Igor S, 2025-09-07 08:32:45)

Re: AHK v1: Повторение взаимовложенных Циклов для скрипта.

Проблема решена. Спасибо за помощь haridev.

F2::

   
   Loop, 10 { ; цикл 0
      Count := A_Index
      
      Loop  10 { ; цикл 1
      Send, {f Down}
      Sleep, 6450
      Send, {f Up}
      Sleep, 500
      Send, {f Down}
      Sleep, 200
      Send, {f Up}
      Sleep, 300
      Send, {f Down}
      Sleep, 200
      Send, {f Up}
      Sleep, 300
      Send, {f Down}
      Sleep, 200
      Send, {f Up}
      Sleep, 300
      Send, {f Down}
      Sleep, 1600
      Send, {f Up}
      Sleep, 500
      Send, {f Down}
      Sleep, 200
      Send, {f Up}
      Sleep, 300 
      if A_Index <= 9
         continue
         Loop  1 {  ; цикл 2
         Send, {f Down}
         Sleep, 200
         Send, {f Up}
         Sleep, 300
         Send, {f Down}
         Sleep, 200
         Send, {f Up}
         Sleep, 300
         Send, {f Down}
         Sleep, 1600
         Send, {f Up}
         Sleep, 500
         Send, {f Down}
         Sleep, 200
         Send, {f Up}
         Sleep, 300
         Send, {f Down}
         Sleep, 200
         Send, {f Up}
         Sleep, 300
         if Count <= 9
              continue
         Send, {f Down}
         Sleep, 200
         Send, {f Up}
         Sleep, 300
         Send, {f Down}
         Sleep, 1600
         Send, {f Up}
         Sleep, 500
         Send, {f Down}
         Sleep, 200
         Send, {f Up}
         Sleep, 300
         Send, {f Down}
         Sleep, 200
         Send, {f Up}
         Sleep, 300
         Send, {f Down}
         Sleep, 200
         Send, {f Up}
         Sleep, 300
         }  
      } 
   }
F3::ExitApp
F4::Pause