Gabbay 0 Denunciar post Postado Janeiro 4, 2006 Lá vai eu de novo, bom é o seguinte estou fazendo uma programação no flash para envio de e-mails pelo PHP, até ai tá tudo bem, mas eu gostaria que a cada 5 e-mails enviados o flash pausaria o envio de e-mails para o PHP, para isso tenho:Uma array com todos os emails1 loop FOR para enviar os e-mails para o PHPSei que vai ter gente querendo que eu use o sleep() do PHP, mas eu não quero que seja assim, quero fazer no flash pq ai o sisteminha q estou fazendo vai enviar 5, notificar q está pausado e depois de X segundos ele volta a enviar mais 5, nova pausa e assim vai indo até acabar a lista.A minha idéia em fazer no Flash além de ter uma interface mais agradável é tb do cliente ir acompanhando o andamento do envio.Pensei em usar o setinterval() mas o disgramado chama uma função não pausando o FOR, e usar ele dentro de um loop FOR não vai dar certo...Alguém tem uma luz? Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Janeiro 4, 2006 É pra dar certo com setInterval sim, cola ai sua função, pra ver como você esta fazendo. Compartilhar este post Link para o post Compartilhar em outros sites
Gabbay 0 Denunciar post Postado Janeiro 4, 2006 Vamos lá, para testar criei um documento novo no flash e no primeiro e unico keyframe colei isso aki: function callback1() { trace("interval called");}for (a=0; a<20; a++){ trace(a); setInterval( callback1, 1000 ); }trace ("-----------------------------------------");stop(); qdo você compilar o certo seria aparecer o numero "0", esperar 1 segundo aparecer "2", esperar um segundo e assim vai indo, mas não funciona, bom tb o setinterval ta infinito, mas ta beleza isso é o de menos agora. Dê uma olhada e veja se arruma alguma solução pq estou pensando em alguma outra alternativa em qto você vê esse eskema. Compartilhar este post Link para o post Compartilhar em outros sites
Gabbay 0 Denunciar post Postado Janeiro 4, 2006 Achei um script maluco, ainda não testei mas pode ser útil!!! Código q segundo o criador pausa o flash onde estiver e manda tela para impressão: function pauseMovie(){ var p = new PrintJob(); p.start();}function onKeyDown(){ switch(Key.getCode()){ case 80: // p key pauseMovie(); break; case 19: // pause/break key pauseMovie(); break; }}Key.addListener(this); Compartilhar este post Link para o post Compartilhar em outros sites
carneirinho 7 Denunciar post Postado Janeiro 4, 2006 Ta totalmente sem lógica o que você fez, você ta criando um for pra disparar 1 setInterval a cada loop do for, isso vai deixar o flash louco porque você vai criar 20 intervalos e não executar o intervalo 20 vezes, o que você precisa fazer é uma função com um if para ver se o valor de i é menor de 20 e dar o trace, e quando for maior ele para o intervalo com o clearInterval, pra isso você precisa criar um ID pro seu setInterval olha o exemplo: function callback(){ if(i == undefined) i = 0; if(i < 20){ i++; trace(i); } else { clearInterval(agonia); } } agonia = setInterval(callback, 1000); e dispensa seu for Compartilhar este post Link para o post Compartilhar em outros sites
Gabbay 0 Denunciar post Postado Janeiro 4, 2006 Mano sensacional!!! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Coloquei um loop usando FOR para mandar emails de 2 em 2 com pausa de 5 segundos e só dava pau, usei o WHILE e funcionou bem, segue abaixo o que eu fiz, embora ainda tenha q ajustar mais pq só fiz os testes com o trace, mas ficou show de bola!!! function callback(){ if(i == undefined) i = 0; if(i < _root.vTudo.length){ a=0; while ((a<2) and (a<=_root.vTudo.length)){ if(_root.arrayListaNome[i] !== undefined){ trace (_root.arrayListaNome[i]+" <"+_root.arrayListaEmail[i]+">"); } i++; a++; } } else { clearInterval(agonia); }} Compartilhar este post Link para o post Compartilhar em outros sites