Comunidad de diseño web y desarrollo en internet online

Sobre "if"

Citar            
MensajeEscrito el 05 Jul 2005 09:19 pm

Código :

stop();
trace(_root.Galeria.pp);
// Compruebo que la variable "pp"  trae el valor correcto, ademas segun el "typeof" es un String

if(_root.Galeria.pp=="1"){
trace ("OK");
break;
}

if(_root.Galeria.pp=="2"){
trace ("OK2");
break;
}


Pues no funciona, el trace siempre me devuelve el valor de la variable "pp" , ademas el valor correcto, pero nunca OK ó OK2 dependiendo del valor.

me echais un cablecillooo????

Saludos

Por feisimo

66 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Jul 2005 09:52 pm
Feisimo,

Galería.pp que tipo de objeto es? que te arroja el primer trace???

trata cambiando el código así:

if(_root.Galeria.pp==1){
trace ("OK");
}else if(_root.Galeria.pp==2){
trace ("OK2");
}

por favor danos un poco mas de detalles para poder hacer un mejor diagnostico.

Saludos


JDGomezB

Por jdgomezb

27 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 05 Jul 2005 09:58 pm
Galeria.pp es un Mc, que tiene una variable que se llama "pp" y cambia cada vez que pulsamos un boton

desde otro MC, controlo el valor que devuelve "Galeria.pp" y es correcto, toma valor 1 cuando pulso un boton y Valor 2 cuando pulso otro, de esta forma, y como dije antes, obtengo el valo correcto pero el "if" parece que no es capaz de reconocerlo....

Código :

trace(_root.Galeria.pp); 


devuelve 1 si pulso el boton 1
devuelve 2 su pulso el otro boton

pero no hay forma que haga la comparación que supongo estará bien escrita...

Saludos y gracias por responder...

Por feisimo

66 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Jul 2005 10:23 pm
Feisimo, si quieres mandame el .FLA y le echo una mirada rapida antes de irme a la casa....

[email protected]

saludos

JDGomezB

Por jdgomezb

27 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 06 Jul 2005 01:53 am
consejo cuando hagas la asignacion de _root.Galeria.pp usa String(valor), ejemplo:

_root.Galeria.pp= String(1);

asi te asegurarás que el valor que tiene pp es una cadena :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 06 Jul 2005 08:45 pm
Gracias a todos por sus respuestas, he seguido todas sus indicaciones y otras que se me han ido ocurriendo, pero no he resuelto el problema.

el caso es que he reasignado la variable a "xx":

Código :

xx=string(_root.Galeria.pp)


he traceado el tipo y el resultado es "string"

Código :

trace(typeof(xx));


he traceado el valor y es corrrecto, 1,2,3,4, depende del boton pulsado en otro MC

Código :

trace(xx); 





if(xx=="1"){
trace ("OK");
}
if(xx=="2"){
trace ("OK2");
}

......

lo curioso es que si antes de las comparaciones "if" coloco

Código :

xx="1";

funciona perfectamente.
A ver si me dais una pista, por que se me agotaron las ideas...

Saludos y gracias de nuevo

Por feisimo

66 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Jul 2005 08:51 pm
Al fin no me enviaste el archivo para hacerte el favor de revisarlo aca....

No se me ocurre que mas puedes revisar...

Saludos

Por jdgomezb

27 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 06 Jul 2005 08:51 pm
puedes postear un poquito de codigo de donde hace las asignacion a pp y donde las comparas, y explicarlo un poquito tambien valdria :D , porque en teoria deberia funcionar pero debe ser algo que estas haciendo mal

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 06 Jul 2005 09:55 pm
No pensaba aburrir al personal posteado codigo, ya que la variable toma el valor correcto y creo que con eso es suficiente, pero ahi va, a ver que opinais.

el codigo donde se asigna la variable "ahora la mando al _root para no perderla de vista."

Cuando pulso sobre un elemento de la lista, por medio de "asfunction" llamo a la funcion Carga, que manda al root la variable "pp" con el valor del Parametro.

Código :

function Carga (Parametro){
   
       container.unloadMovie()
       _root.pp=Parametro
       Cortina.gotoAndPlay(2);
}

lista.htmlText="<A HREF=\"asfunction:Carga,1 \">Aguado</A><br>"+" <A HREF=\"asfunction:Carga,2 \">Zohret</A>";


como veis, en la funcion, despues de asignar la variable, se ejecuta el MC Cortina que en el ultimo fotograma tiene el siguiente código:

Código :

stop();
xx=_root.pp
trace(typeof(xx));
    if(xx=="1"){

     //_root.Galeria.Container.loadMovie("Aguado.swf")
     trace ("OK");
    }
   if(xx=="2"){
    trace ("OK2");
    }

trace(xx);


Como veis simple, pero me tiene loco, todo traces, pero no consigo que haga la comparación, los"traces" me dan como resultado valores correctos en tipo y valor....pero no compara.




*** Despues de esta, dejo las Yerbas" ***

Saludos

Por feisimo

66 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Jul 2005 10:08 pm
deberia ser:

Código :

if (xx==1){
   trace(xx);
}


o prueba lo que te dije antes xx=String(_root.pp); :wink: para que hagas la comparacion como la tienes

Código :

if (xx=="1"){
   trace(xx);
}


Cualquier cosa mandame el .fla a ver si te puedo ayudar mejor :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 06 Jul 2005 10:29 pm
Gracias Maikel,y a todos, he probado lo que sugieres, y creo que todo lo probable, pero no hay manera....

es curioso, pero he hecho comparaciones bastante mas complejas y nunca tuve estos problemas...

si me dices donde, te mando el .Fla

Gracias por todo

Por feisimo

66 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Jul 2005 10:45 pm
revisa tu mensajes privados :wink:

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 06 Jul 2005 10:49 pm
Parametro de que tipo es???? osea ke valor le pasas a Carga???

Intenta usar esto:

Código :

if(_root.pp.toString()=="1")
  trace("ok");
else
  trace("error");

y prueba a kitarles las comillas al 1 tb...

Por MorphX

SWAT Team

982 de clabLevel

3 tutoriales

  SWAT

La Telaraña Digital

mozilla
Citar            
MensajeEscrito el 07 Jul 2005 01:32 pm
:lol: haber...,primero que todo la variable pp la usas con que tipo de valor, String, Number, Float, Char o que, por que si en esa variable guardas un valor tipo String y lo comparas ...pp=="1" estaria bien, pero si la variable tiene el valor numerico 1 estaria comparando asi 1=="1", entonces como va a comparar un valor numerico con uno String :roll: :? no es correcto hacer eso. entonces tendrias que definirte a usarlo con una comparacion numerica o si en la variable hay un numero especificar que lo usas como un string y no como un numero y hay si te sirve el ...pp=="1" ;)

Por hackjasl

72 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Jul 2005 08:47 pm
mas simplificado aun..

xx=_root.pp

trace(typeof(xx)); Devuelve "string"

trace(xx); devuelve 1

supuestamente se deberia cumplir la comparación siguiente... pero parece ser que no se cumple porque no me aparece el "OK"

if(xx=="1"){
trace ("OK");
}


no se si me explico.

Gracias por vuestro interes, debo tener algun problema de inteligencia o algo, porque es simple.. pero no funciona....

Saludos

Por feisimo

66 de clabLevel



 

firefox
Citar            
MensajeEscrito el 07 Jul 2005 10:35 pm
intenta hacer trace a la comparacion a ver que te dice si true o false, dependiendo de esto cambia la condicion y manipula el evento para que funcione a tu gusto

Saludos

Por Prozac

SWAT Team

1546 de clabLevel

1 tutorial

Genero:Masculino   SWAT

donde se regresa el viento

firefox
Citar            
MensajeEscrito el 08 Jul 2005 12:50 am

feisimo escribió:

Código :

stop();
trace(_root.Galeria.pp);// <----------------¿Y Si eliminas éste trace?
// Compruebo que la variable "pp"  trae el valor correcto, ademas segun el "typeof" es un String

if(_root.Galeria.pp=="1"){
trace ("OK");
break;
}

if(_root.Galeria.pp=="2"){
trace ("OK2");
break;
}



trace(_root.Galeria.pp);// <----------------¿Y Si eliminas éste trace? :?

Por La100rra

Claber

5776 de clabLevel

11 tutoriales
4 articulos

Genero:Masculino  

Cd. Juárez, Chihuahua, México.

clabbrowser
Citar            
MensajeEscrito el 08 Jul 2005 08:04 pm
Gracias a todos por sus respuestas, al fin resolví la cuestión
por esta vez me libraré del "Frenopatiko"

El problema surgia por que la variable, devolvia el valor correcto pero con un espacio en blanco detras por lo que:

"1"=="1 ", es evidente que no se cumple.

Al tracear la variable no se distingue el espacio en blanco, y no habia manera de darse cuenta, por lo que sospechando finalmente lo que pasaba, hice un trace(xx+"texto") y !SORPRESA!!! el maldito espacio en blanco ahi estaba....

en fin, toda una odisea que me ha tenido mosqueao tres dias

Muchas gracias de nuevo por vuestra atención...

Saludos

Por feisimo

66 de clabLevel



 

firefox
Citar            
MensajeEscrito el 08 Jul 2005 08:12 pm
ahhh ok, por fin te digo que yo estuve probando ayer toda la noche de todo y no me resultaba, estaba que estallaba :oops:

Bueno al fin, siempre estupideces como esas son los que nos frustran y retrasan :twisted:

Bueno sigue y nos vemos en la proxima :D

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 09 Jul 2005 04:32 pm
XD XD XD XD XD XD cosas de la vida creao que a muchos les paso
[DEJAVU] :sueno: :sueno: [/DEJAVU]

es verdad Bienvenido ;)

Por flasher

Invitado



 

firefox

 

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