Comunidad de diseño web y desarrollo en internet online

Color

Citar            
MensajeEscrito el 07 Jul 2005 08:00 pm
tengo un problema que no se como resolverlo.

Es el siguiente, yo tengo este codigo:

Código :

h_formato = new TextFormat();
h_formato.font = "uni";
h_formato.color = 0xFF9900;
//
noticia = new Array;
//
for(i=7; i < 15;i++){
   noticia[i].text = (miXML.firstChild.childNodes[0].childNodes[i].childNodes[0].childNodes[0].nodeValue) +" | "+ (miXML.firstChild.childNodes[0].childNodes[i].childNodes[1].childNodes[0].nodeValue) +"\n"+ (miXML.firstChild.childNodes[0].childNodes[i].childNodes[9].childNodes[0].nodeValue) +"\n";
   noticia[i].setTextFormat(h_formato);
   noticia[i].embedFonts = true;
}
//
texto= noticia[7]+noticia[8]+ noticia[9]+noticia[10]+ noticia[11]+noticia[12]+ noticia[13]+ noticia[14]
//
if(!texto){
   noticias_mc.noticias_txt.text = "ERROR EN LA CARGA DEL DOCUMENTO XML";
   noticias_mc.noticias_txt.setTextFormat(formato);
   noticias_mc.noticias_txt.embedFonts = true;
   stop();
}else{
   noticias_mc.noticias_txt.htmlText = texto.toUpperCase();
   noticias_mc.noticias_txt.setTextFormat(formato);
   noticias_mc.noticias_txt.embedFonts = true;
   play();
}



y cuando pruebo la peli me dice "ERROR EN LA CARGA DEL DOCUMENTO XML".

y la verdad no se por que y no me queda mucho tiempo mas.

Por que lo que yo quiero hacer en verdad es que cada indice del array se de distinto color, para eso es que lo hago asi.

Si alguien me puede dar una mano se lo agradezco mucho.

Editado por DanielSemper: Aumento de los tags "code" al código y espaciado en algunas líneas del mismo para no deformar el ancho de la página.

Por 3dg

65 de clabLevel



Genero:Masculino  

Buenos Aires Argentina

firefox
Citar            
MensajeEscrito el 07 Jul 2005 10:04 pm
porque no haces un trace(texto) para ver que es lo que te esta recibiendo antes de compararlo en el IF

trata de aislar un poco el error a ver en donde realmente es que está,,,, ve haciendo trace() de cada cosa que asignas a ver si está recibiendo realmente el valor que le quieres dar....

Saludos y suerte con tu poco tiempo

Por jdgomezb

27 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 07 Jul 2005 10:21 pm
Dos preguntas:
1. ¿Dónde estás cargando el xml?
2. ¿Estás seguro de esta comparación?

if(!texto){


Saludos.

Por ExGaul

Claber

180 de clabLevel



Genero:Masculino  

Cereté - Colombia

firefox
Citar            
MensajeEscrito el 08 Jul 2005 05:00 am
cuando hago trace(texto), me tira "NaN"
cuando hago trace(noticia[8]), me tira undefined

estoy igual que antes, esto me esta rompiendo la cabeza, no me funca mas

Por 3dg

65 de clabLevel



Genero:Masculino  

Buenos Aires Argentina

firefox
Citar            
MensajeEscrito el 08 Jul 2005 02:22 pm
Postea el código donde cargas el XML.

Saludos.

Por ExGaul

Claber

180 de clabLevel



Genero:Masculino  

Cereté - Colombia

firefox
Citar            
MensajeEscrito el 08 Jul 2005 02:40 pm
aca tenes todo el codigo:

Código :

System.useCodepage = true;
//
formato = new TextFormat();
formato.font = "uni";
//
cargando.text = "";
cargando.setTextFormat(formato);
cargando.embedFonts = true;
//
path = "........./php/mostrar.php";
//
miXML = new XML;
//
miXML.ignoreWhite = true;
//
miXML.onLoad=function(success){
   if (success) {
      switch (miXML.status) {
         case 0 :
               cargando.text = "Se han cargados los datos, sin errores en la estructura "
               gotoAndStop(5);
               break;
         case -2 :
               cargando.text = "Se han cargados los datos, pero una sección CDATA no se finalizó correctamente."
               break;               
         case -3 :
               cargando.text = "Se han cargados los datos, pero la declaración XML no se finalizó correctamente."
               break;               
         case -4 :
               cargando.text = "Se han cargados los datos, pero la declaración DOCTYPE no se finalizó correctamente."
               break;               
         case -5 :
               cargando.text = "Se han cargados los datos, pero un comentario no se finalizó correctamente."
               break;
         case -6 :
               cargando.text = "Se han cargados los datos, pero un elemento XML estaba mal formado."
               break;
         case -7 :
               cargando.text = "Se han cargados los datos, pero la memoria es insuficiente."
               break;
         case -8 :
               cargando.text = "Se han cargados los datos, pero un valor de atributo no se finalizó correctamente."
               break;
         case -9 :
               cargando.text = "Se han cargados los datos, pero una etiqueta de inicio no coincidía con una etiqueta final."
               break;
         case -10 :
               cargando.text = "Se han cargados los datos, pero se ha encontrado una etiqueta final que no coincide con una etiqueta de inicio."
               break;
         default:
               cargando.text = "Se han cargado los datos, pero se ha encontrado un error desconocido"
      }
   //si no se pudo conectar al archivo, se devuelve el error.
   } else {
      cargando.text = "No se logró la conexión. Los datos no pueden ser cargados"
   }
}
miXML.load(path)
cargando.text = "CARGANDO XML";
//
stop();

Por 3dg

65 de clabLevel



Genero:Masculino  

Buenos Aires Argentina

firefox
Citar            
MensajeEscrito el 08 Jul 2005 02:40 pm
Lo que sucede es que no te está cargando el XML, postea el código donde lo haces para que lo veamos....

Por Aoyama

BOFH

6224 de clabLevel

6 tutoriales
12 articulos

Genero:Masculino   Anime Bloggers Bastard Operators From Hell

Webdesigner & Developer, en mis ratos libres bebo café por litros.

firefox
Citar            
MensajeEscrito el 08 Jul 2005 02:47 pm
Aca abajo te corrijo el código:

Código :

h_formato = new TextFormat();
h_formato.font = "uni";
h_formato.color = 0xFF9900;
//
noticia = new Array;
//
for(i=7; i < 15;i++){

A un Array() no le puedes poner propiedades como TEXT, primero debes crear un objeto de tipo TextField que si recibe estas propiedades, para agregarle un contenido al array lo haces directamente sobre el objeto array:

Código :

// Mal:
noticia[i].text = "Hola mundo CLAB"

// Bien
noticia[i] = "Hola mundo CLAB"

Este XML no sé desde donde lo estas cargando entonces no sé si el objeto miXML estuvo bien definido y bien cargado el contenido

Código :

(miXML.firstChild.childNodes[0].childNodes[i].childNodes[0].childNodes[0].nodeValue) +" | "+ (miXML.firstChild.childNodes[0].childNodes[i].childNodes[1].childNodes[0].nodeValue) +"\n"+ (miXML.firstChild.childNodes[0].childNodes[i].childNodes[9].childNodes[0].nodeValue) +"\n";


De igual manera el objeto array no soporta ".setTextFormat" ni ".embedFonts", para todas estas maromas deberías hacer lo del textfield que te dije antes

Código :

   noticia[i].setTextFormat(h_formato);
   noticia[i].embedFonts = true;
}
//
texto= noticia[7]+noticia[8]+ noticia[9]+noticia[10]+ noticia[11]+noticia[12]+ noticia[13]+ noticia[14]
//

Debido a que no estuvo definida esta variable "texto" y que "noticia" nunca recibio un valor correctamente asignado, esta comparación siempre te dará "true" y recibirás ERROR EN LA C...

Código :

if(!texto){
   noticias_mc.noticias_txt.text = "ERROR EN LA CARGA DEL DOCUMENTO XML";
   noticias_mc.noticias_txt.setTextFormat(formato);
   noticias_mc.noticias_txt.embedFonts = true;
   stop();
}else{
   noticias_mc.noticias_txt.htmlText = texto.toUpperCase();
   noticias_mc.noticias_txt.setTextFormat(formato);
   noticias_mc.noticias_txt.embedFonts = true;
   play();
}


Espero que todo esto te ayude, cuando lo hayas depurado nos cuentas como te fué y si te sale todo ok posteas el codigopara el servicio de la comunidad CLAB

Por jdgomezb

27 de clabLevel



Genero:Masculino  

Bogotá, Colombia

firefox
Citar            
MensajeEscrito el 08 Jul 2005 03:17 pm
Hola 3dq.

Varias cosas:

1. No utilices System.useCodePage; su uso no está recomendado, pues puede presentar resultados inesperados. Supongo que lo haces para los caracteres especiales, como las tildes o eñes; guarda mejor tu xml con codificación UTF-8 y elimina esa línea de código (te lo digo por experiencia)

2. No sé si sería error al postear, pero al crear el xml y el array tienes errores de sintaxis:

miXML = new XML;
noticias = new array;


Debes colocar:

Código :

miXML = new XML();
noticias = new Array();


3. Al cargar el xml, le estás pasando un path a un archivo php:

path = "........./php/mostrar.php";
...
miXML.load(path);


a menos que seas brujo, nunca lograrás cargar un archivo php dentro de un objeto XML de Flash.

4. Las posiciones del array no tienen propiedad text; si deseas guardar texto dentro de ellas, hazlo directamente:

Código :

noticia[i] = miXML.firstChild.childNodes[0]...etc.


De hecho tampoco tienen propiedades embedFonts, ni poseen un método setTextFormat.

5. Esta comparación:

if(!texto){


No entiendo su razón de ser, pero si lo que quieres es determinar si está indefinido, debería ser más bien:

Código :

if(texto==undefined){


Revisa bien tu código; a veces una simple coma estropea todo tu esfuerzo:

http://www.cristalab.com/comic/56

Saludos.

Por ExGaul

Claber

180 de clabLevel



Genero:Masculino  

Cereté - Colombia

firefox

 

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