Comunidad de diseño web y desarrollo en internet online

ayuda con setInterval

Citar            
MensajeEscrito el 20 Abr 2005 12:39 am
hola que tal

bueno mi duda no creo que sea muy dificl de resolver, pero ya me duele un poco la cabeza ya tengo 12 horas no continuas escribiendo este codigo, y esta practicamente terminado.

solamente tengo un problema con set interval ya que necesito que mi funcion verificador , este verificando cada 208Ms.

estube viendo la ayuda de flash por que no lo he utilizado mucho. y estube haciendo pruebas y no tube ningun problema.

a continuacion pongo el codigo que hice el dia de hoy, esta basado en archivo que encontre por la web, de formularios..

en el ultimo frame pongo este codigo

Código :

stop();
System.useCodepage = true;
Stage.align = "C";
Stage.scaleMode = "noScale";
btnSend._alpha = 0;
nomgo._alpha = 0;
empgo._alpha = 0;
corgo._alpha = 0;
dirgo._alpha = 0;
telgo._alpha = 0;
comgo._alpha = 0;
nomerror._alpha = 0;
emperror._alpha = 0;
corerror._alpha = 0;
direrror._alpha = 0;
telerror._alpha = 0;
comerror._alpha = 0;
envia = new LoadVars();
tel.restrict = "0-9";
nom.tabIndex = 0;
emp.tabIndex = 1;
cor.tabIndex = 2;
dir.tabIndex = 3;
tel.tabIndex = 4;
com.tabIndex = 5;
function verificador() {
   if (this.nom.length && this.emp.length && this.dir.length && this.tel.length && this.com.length && corpass == true) {
      btnSend._alpha = 100;
      nomgo._alpha = 100;
      empgo._alpha = 100;
      corgo._alpha = 100;
      dirgo._alpha = 100;
      telgo._alpha = 100;
      comgo._alpha = 100;
   } else {
      if (this.nom.length) {
         nomgo._alpha = 100;
         nomerror._alpha = 0;
      }
      if (this.emp.length) {
         empgo._alpha = 100;
         emperror._alpha = 0;
      }
      if (this.cor.length) {
         if (cor.text.indexOf("@") != -1 && cor.text.indexOf(".") != -1) {
            var corpass = true;
            corgo._alpha = 100;
            corerror._alpha = 0;
         } else {
            corerror._alpha = 100;
         }
      }
      if (this.dir.length) {
         dirgo._alpha = 100;
         direrror._alpha = 0;
      }
      if (this.tel.length) {
         telgo._alpha = 100;
         telerror._alpha = 0;
      }
      if (this.com.length) {
         comgo._alpha = 100;
         comerror._alpha = 0;
      }
   }
   function Alert(titu, cont) {
      winAlertValid.gotoAndPlay(2);
      winAlertValid.tituloWin = titu;
      winAlertValid.resultado = cont;
   }
   btnSend.btn.onPress = function() {
      enviarDatos();
   };
   function enviarDatos() {
      Alert("Procesando", "Enviando Información");
      envia.Nombre = nom.text;
      envia.Empresa = emp.text;
      envia.Correo = cor.text;
      envia.Direccion = dir.text;
      envia.Telefono = tel.text;
      envia.Comentarios = com.text;
      envia.sendAndLoad("Form.php", envia, "POST");
      envia.onLoad = function(ok) {
         if (ok) {
            if (envia.estatus == "ok") {
               Alert("Gracias!!", "Su mensaje ha sido enviado");
               nom.text = "";
               emp.text = "";
               cor.text = "";
               dir.text = "";
               tel.text = "";
               com.text = "";
            } else {
               Alert("Error!!", "Hubo un problema con el envio.");
            }
         }
      };
   }
}
setInterval (verificador,208);


donde todo lo que esta dentro la funcion verificador, funciona correctamente..

hice un loop

puse el codigo sin stop, agrege 5 frames mas a 24FPS, y en el ultimo frame puse un

Código :

gotoAndPlay(80); // frame con el codigo


y todo funciona correctamente, pero cuando quito ese loop inecesario considero yo.

y pongo el set interval, a 208 que es el mismo tiempo en milisegundos que tardaba en ejecutarse la funcion con el loop ese.

y no funciona :(

le di setInterval alas funciones que estan dentro de la funcion verificador.. y lo raro es que con esas si funciona.. no se cual pueda ser el problema ya..

la funcion verificador avarca el codigo completo necesario para que funcione, entonces ya me dolio la cabeza no se que pueda estar mal.. quiza sea algo tan simple que no lo he querido ver..

espero me puedan hechar una ayudadita..


aqui esta la muestra de la movie con loop funcionando.

www.icem-mx.com/contactoV2.html
saludos

Por jOina

Claber

359 de clabLevel

2 tutoriales

 

Guadalajara, Mexico

msie
Citar            
MensajeEscrito el 20 Abr 2005 07:58 am
No se de que puede ser problema, pero del setInterval seguro que no.

La verdad que tampoco se muy bien para que haces exactamente todo eso pero bueno.

Un saludo!! ^^

Por Elecash

Claber

8126 de clabLevel

37 tutoriales
19 articulos
13 ejemplos

  Bastard Operators From Hell Desarrollador de GAIA Premio_Secretos Héroes

BarnaCity

clabbrowser
Citar            
MensajeEscrito el 20 Abr 2005 12:11 pm
Opino lo mismo que elecash... ¿la función verificador, se encarga de comprobar si hay algo escrito en los campos de texto?.

Si es así, quizá sería más cómodo utilizar los controladores de eventos (listeners) para la clase textfield, no?

Por otra parte... ¿¿hay definiciones de función anidadas dentro de la función verificador?? ¿¿Y también de eventos onPress?? Nunca había visto algo así...

Salu2

Por Cyril

45 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Abr 2005 03:31 pm
si gracias, realmente ese sitio ha sido una controvercia por que yo estoy detras del back end solamente.. y su señoria el diseñador se le ocurren cosas las cuales estoy arto de discutir..

lo primero que le dije fue que era algo inecesario pero el vio algo parecido en la pagina de warner y ya lo quizo.. ni modo hago lo que puedo..

pero si la funcion verificador lo que hace en si, es hacer que se prendan esos circulitos verdes o naranja segun el campo este bien o mal, y segun el no queria que el boton apareciera hasta que todos los campos estubiecen llenos y correctos. por ejemplo ati no te aparece el boton envir auque tengas todos los campos llenos pero el correo este incorrecto, ya que tendra un circulo naranja y hasta que todos esten verdes puedes avanzar...

lo primero que hice fue hacer todo el codigo.. y ya por ultimo lo converti a la funcion para hacer que el codigo que ya habia funcionado. se ejecutara continuamente.

no me culpen yo solo hago mi trabajo y no me hagan mas preguntas de las que ya hice yo, ya stoy arto de tirar mi teoria de funcionabilidad, de cualquier forma no se me toma en cuenta.. si es un codigo de lo mas intrasendente y mal hecho pues ni modo.

lo dejo con el dichoso loop al fin de cuentas asi funciono tal cual se supone debe funcionar..


para el señor Cyril

no se si conoscas el Banco HSBC

en una de esas que veas un anuncio fijate en la parte que dice

"que nadie lo haya hecho no significa que no se pueda hacer"

y como una vez alguien aqui dijo, en la programacion hay muchas formas de llegar al objetivo, orita solo uso lo que se, ya sera poco a poco y bueno..

solo espero que si alguien tiene una idea de como hacer que el codigo asi tal cual esta se ejecute cada 208 Ms se los agradeseria. es lo unico que necesito

chao


PS: elecash, yo tampoco se para que hice esto jejeje :lol: pero almenos me pagaron por hacerlo es lo bueno :wink: y el todo poderoso diseñador esta feliz, solo es por conviccion propia mejorar el codigo. pero asi tal cual ya le gusto como funciona que se le puede hacer :shock:

Por jOina

Claber

359 de clabLevel

2 tutoriales

 

Guadalajara, Mexico

msie
Citar            
MensajeEscrito el 20 Abr 2005 05:28 pm

Por Dano

BOFH

4273 de clabLevel

14 tutoriales
4 articulos
10 ejemplos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Lugar estratégico para vigilarte

clabbrowser
Citar            
MensajeEscrito el 20 Abr 2005 05:32 pm
chin.. mejor suerte pa la proxima, yo queria ser un pionero :( HAHAHAHAHA

bueno en vista que no hubo solucion asi lo dejo pues.. de cualquier forma funciona solo queria quitarle esos 5 frames de loop :P saludos

Por jOina

Claber

359 de clabLevel

2 tutoriales

 

Guadalajara, Mexico

msie
Citar            
MensajeEscrito el 20 Abr 2005 08:12 pm
Perdona si lo que dije te sonó ofensivo, no era esa mi intención. Y por supuesto que no dudo de que se pueda hacer, simplemente, por la forma en que a mí me enseñaron a programar, ese método resulta algo extraño, nada más.

Quizá me equivoque, pero mi extrañeza radicaba, generalmente, en que al ser llamada la funcion continuamente, continuamente se deben estar declarando funciones en lugar de declararlas una única vez (a menos que esté equivocado y las declaraciones se mantengan). De esta forma, cada 208 ms estás, por ejemplo, asignando una función al botón, que resulta ser siempre la misma, con el gasto extra de procesador...

Por otra parte, cuál es exactamente la razón de los 208 ms o 5 frames? La solución que te di es que, utilizando los controladores de eventos que trae Flash, puedes activar una función cada vez que cambia el contenido de un cuadro de texto, con lo que ni tienes ciertos retrasos, ni usas procesador cuando no hay actividad en los cuadros... esa era mi idea.

Una vez más siento haberte molestado.

Salu2

Por Cyril

45 de clabLevel



 

firefox
Citar            
MensajeEscrito el 20 Abr 2005 08:27 pm
Por otra parte, ahora que lo veo...

Has hecho un trace del valor de las variables this.nom.length... etc??

A lo mejor está dando como resultado undefined... prueba con la ruta absoluta a ver (_root.nom.length)

Salu2

Por Cyril

45 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.