Полезная информация

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.
  • Форумы
  •  » iMacros
  •  » [РЕШЕНО] как правильно сделать цикл в цикле?

№120-04-2017 01:44:35

A_v_P
Участник
 
Группа: Members
Зарегистрирован: 20-04-2017
Сообщений: 3
UA: Firefox 52.0

[РЕШЕНО] как правильно сделать цикл в цикле?

Здравствуйте, подскажите как реализовать?
Задача такая, выполняется определенный цикл, в этом цикле когда доходит до определенного места, требуется сделать как бы еще один цикл с проверкой по времени, проверять каждую минуту чтото, после того как прошло допустим 30 минут прерываться и продолжать основной цикл с того же места!
попытался что то сделать но не получается, отдельно работают, а вместе нет :D только не ругайтесь я не программист! :rolleyes:

скрытый текст

Выделить код

Код:

for (i=8;1<2;i++){//создаем переменную i, цикл будем выполнять 3 раза
var macro; // создаем переменную macro
macro = "CODE:"; // говорим нашему скрипту что в нее впишем код аймакрос
macro += "SET !DATASOURCE D:\\iMacros\\Macros\\clubid.txt" + "\n"; // подключаем текстовый файл
macro += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные
macro += "ADD !EXTRACT {{!COL1}}" + "\n"; // берем данные в переменную {{!COL1}}
iimPlay(macro) // вызываем переменную запуская тем самым код, который туда вписали.
var clubid = iimGetLastExtract(1)// создаем переменную clubid в которую помещаем EXTRACT
if(clubid!=null){
iimDisplay('строка   '+ i +'   запрос '+ clubid) //
macro += "URL GOTO={{!COL1}}" + "\n"; // заходим по ссылке
macro += "EVENT TYPE=CLICK SELECTOR=#page_add_media>DIV>A BUTTON=0" + "\n"; // нажимаем добавить фото
macro += "TAG POS=1 TYPE=DIV ATTR=CLASS:photos_choose_row_bg&&TXT:" + "\n"; // добавляем фото из галереи
macro += "TAG POS=1 TYPE=BUTTON ATTR=ID:send_post" + "\n"; // нажимаем опубликовать
imPlay(macro) // вызываем переменную запуская тем самым код, который туда вписали.
 // начать повторы с интервалом 1 минута 
var timerId = window.setInterval(function() {
    iimDisplay('просмотр ');// это просто для отладки
  var poisk;
    poisk = content.document.getElementById('top_notify_count').textContent;
        if (poisk >= 1){
            var macro2;
            macro2 += "TAG POS=1 TYPE=SPAN ATTR=TXT:Друзья";
            macro2 += "TAG POS=1 TYPE=BUTTON ATTR=ID:accept_request";
        iimDisplay('нихера нет') // для отладки
    
                    }
/*else {
    iimDisplay('Ога'+ poisk);
    }*/
}, 30000);

// через 5 мин остановить повторы
window.setTimeout(function() {
  window.clearInterval(timerId);
  alert( 'стоп' );
}, 300000);
}

else {
iimDisplay('Cтрока пуста,  прошли строк: '+ (i-1)) 

break
}

}

Отсутствует

 

№220-04-2017 07:17:20

EverythingForYou
Забанен
 
Группа: Members
Зарегистрирован: 05-11-2016
Сообщений: 65
UA: Yandex 17

Re: [РЕШЕНО] как правильно сделать цикл в цикле?

Можно использовать: while, do while, for.

скрытый текст

Выделить код

Код:

for (var a = НАЧАЛЬНОЕ ЗНАЧЕНИЕ; УСЛОВИЕ; ЧТО ДЕЛАТЬ ЗА ОДНУ ИТЕРАЦИЮ){

if (УСЛОВИЕ){
   

for (var b = НАЧАЛЬНОЕ ЗНАЧЕНИЕ; УСЛОВИЕ; ЧТО ДЕЛАТЬ ЗА ОДНУ ИТЕРАЦИЮ){

//ЖДАТЬ ОПРЕДЕЛЕННОЕ ВРЕМЯ

if (УСЛОВИЕ)
        break;

}

}

}


P.S:

window.setTimeout и window.setInterval - работают асинхронно.

Отредактировано EverythingForYou (20-04-2017 07:25:32)

Отсутствует

 

№320-04-2017 12:50:09

A_v_P
Участник
 
Группа: Members
Зарегистрирован: 20-04-2017
Сообщений: 3
UA: Firefox 52.0

Re: [РЕШЕНО] как правильно сделать цикл в цикле?

EverythingForYou

скрытый текст

Выделить код

Код:

for (i=8;1<2;i++)
    {var     macro; // создаем переменную macro
            macro = "CODE:"; // говорим нашему скрипту что в нее впишем код аймакрос
            macro += "SET !DATASOURCE D:\\iMacros\\Macros\\clubid.txt" + "\n"; // подключаем текстовый файл
            macro += "SET !DATASOURCE_LINE "+i+ "\n";// из какой по счету строки брать данные
            macro += "ADD !EXTRACT {{!COL1}}" + "\n"; // берем данные в переменную {{!COL1}}
            iimPlay(macro) // вызываем переменную запуская тем самым код, который туда вписали.
        var clubid = iimGetLastExtract(1)// создаем переменную clubid в которую помещаем EXTRACT
        if (clubid!=null){
            iimDisplay('строка   '+ i +'   запрос '+ clubid) //
            macro += "URL GOTO={{!COL1}}" + "\n"; // заходим по ссылке
            macro += "EVENT TYPE=CLICK SELECTOR=#page_add_media>DIV>A BUTTON=0" + "\n"; // нажимаем добавить фото
            macro += "TAG POS=1 TYPE=DIV ATTR=CLASS:photos_choose_row_bg&&TXT:" + "\n"; // добавляем фото из галереи
            macro += "TAG POS=1 TYPE=BUTTON ATTR=ID:send_post" + "\n"; // нажимаем опубликовать
            iimPlay(macro); // вызываем переменную запуская тем самым код, который туда вписали.
   

                    for (proverka=0;proverka<30;proverka++){
                    var poisk;
                        poisk = content.document.getElementById('top_notify_count').textContent;
                            if (poisk >= 1)
                                            {
                                            var macro2;
                                            macro2 = "CODE:"; // говорим нашему скрипту что в нее впишем код аймакрос
                                            macro2 += "TAG POS=1 TYPE=SPAN ATTR=TXT:Друзья";
                                            macro2 += "TAG POS=1 TYPE=BUTTON ATTR=ID:accept_request";
                                            iimDisplay('нихера нет'); // для отладки
                                            iimPlay(macro2);
                                            iimPlayCode('WAIT SECONDS=60');
                                            }

            if (proverka=30)
            break;

                                                            }

                        }

    }


ну вот пробую, не получается, второй цикл или не выполняется, постоянно зациклен первый макрос!

Отредактировано A_v_P (20-04-2017 13:28:03)

Отсутствует

 

№420-04-2017 13:57:23

EverythingForYou
Забанен
 
Группа: Members
Зарегистрирован: 05-11-2016
Сообщений: 65
UA: Yandex 17

Re: [РЕШЕНО] как правильно сделать цикл в цикле?

Просто так быть не может. Логично предположить, что не срабатывает условие.

Отсутствует

 

№520-04-2017 15:30:50

A_v_P
Участник
 
Группа: Members
Зарегистрирован: 20-04-2017
Сообщений: 3
UA: Firefox 52.0

Re: [РЕШЕНО] как правильно сделать цикл в цикле?

EverythingForYou
Спасибо большое, вроде все получилось!

Отсутствует

 
  • Форумы
  •  » iMacros
  •  » [РЕШЕНО] как правильно сделать цикл в цикле?

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]