Author Topic: Помогите новичку с вложенным циклом  (Read 1318 times)

0 Members and 3 Guests are viewing this topic.

SAMik

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Помогите пожалуйста, через поиск ничего не нашел, ни как не получается, пробывал разными способами.
Не хочет у меня выполнятся вложенный цикл.
Цикл который в подпрограмме повторяется 10 раз, а цикл который в основной программе останавливается после первого раза

Code: [Select]
SUB(sendrss)

//IF($i=$nn-1)
//  $ns=8
// ELSE
//  IF($i=4)
// $ns=5
//  ELSE
// $ns=2
//  END_IF
//END_IF
$ns=10

FOR($j, $j < $ns)
 MOVE($xx-140,$xy+84+$i*83)    //åäà
 LCLICK($xx-140,$xy+84+$i*83) 
 WAITMS(200)
 KEYSTRING("9999999")
 WAITMS(200)
 MOVE($xx-90,$xy+580)
 LCLICK($xx-90,$xy+580)  // Îòïðàâèòü
 WAITMS(200)
 MOVE($xx-285,$xy+454)
 LCLICK($xx-285,$xy+454)  // Çàêðûòü îøèáêó
END_CYC

END_SUB

FOR($i, $i < 5)
sendrss()
END_CYC

Oraven

  • Супермодератор
  • Герой форума
  • *
  • Posts: 3685
  • Котэ
    • View Profile
Re: Помогите новичку с вложенным циклом
« Reply #1 on: March 11, 2018, 08:02:41 AM »
Параметр начального значения переменной не задан.
Code: (clickermann) [Select]
SUB(sendrss)
   
   //IF($i=$nn-1)
   //  $ns=8
   // ELSE
   //  IF($i=4)
   // $ns=5
   //  ELSE
   // $ns=2
   //  END_IF
   //END_IF
   $ns=10
   
   FOR($j=0, $j < $ns)
      MOVE($xx-140,$xy+84+$i*83)    //еда
      LCLICK($xx-140,$xy+84+$i*83)
      WAITMS(200)
      KEYSTRING("9999999")
      WAITMS(200)
      MOVE($xx-90,$xy+580)
      LCLICK($xx-90,$xy+580)  // Отправить
      WAITMS(200)
      MOVE($xx-285,$xy+454)
      LCLICK($xx-285,$xy+454)  // Закрыть ошибку
      WAITMS(200)
   END_CYC
   
END_SUB

FOR($i=0, $i < 5)
   sendrss()
END_CYC

SAMik

  • Зашел в гости
  • *
  • Posts: 2
    • View Profile
Re: Помогите новичку с вложенным циклом
« Reply #2 on: March 11, 2018, 08:06:09 PM »
Параметр начального значения переменной не задан.

Большое спасибо за помощь!
Просто как программист не привык читать а сразу пишу прогу)))
Просьба в меню вставку цикла сделать вставку сразу с присвоением начального значения, так думаю будет понятнее)
А то сейчас вставляется: FOR($a, $a < 5).

И заодно, есть большой косяк в проге: Если запустить прогу второй раз и запустить макрос, то потом его не возможно остановить на Alt+S.
Несколько раз из за этого приходилось комп кнопкой перезагружать...
Просьба сделать так что бы прога при запуске проверяла что она уже запущена)

Если необходимо продублирую это в другой ветке форума)