Comunidad de diseño web y desarrollo en internet online

createTextField toma dato de XML

Citar            
MensajeEscrito el 27 Feb 2008 02:42 am
Hola, tengo un problemilla, quiero crear un texto dinámico (un createTextField), al cual le aplico todas las propiedades correspondientes (setTextFormat, etc.). Hasta ahí ningún problema. El inconveniente surge cuando lo que quiero es asignar a la variable "text" del texto dinámico que estoy creando un dato que se encuentra en un XML.
Lo que hago basicamente es lo siguiente:

//lo que trae del xml es un texto común y corriente
textoXML = miXML.firstChild.childnodes.etc etc etc.

_root.createTextField("mytext",1,100,100,300,100);
with(mytext){
htmlText = textoXML;
html = true
url = "www.xxxxxx.xxx"
variable = null
}
with(myformat){
//varias propiedades que no vienen al caso, omitamoslas
}
mytext.setTextFormat(myformat);

Bueno lo importante aca es que si le asigno un texto directamente o por medio de una variable, no hay problema alguno, el textField se crea dinámicamente como corresponde, y el texto se incorpora a este adecuadamente. Pero si en cambio le asigno la variable que hace referencia al dato que se encuentra en el XML, ocurre que en el textField aparece "undefined", y no hay nada que pueda hacer al respecto, intenté de todo, sacar propiedades accesorias, pero no hubo caso. Lo que quiero saber, es si es un defecto del Flash o si existe alguna forma de que esto que planteo funcione.
Por otro lado quisiera sacarme otra duda en relación a lo que estoy haciendo, yo quiero hacer una pequeña aplicación en flash en la que se tiene un campo de intro de texto que tiene como función recibir el dato que se le quiera incluir, se le podrá aplicar propiedades, y la idea es que se pueda grabar a un XML para luego recuperar de este, desde otro flash (justamente parte del código que estuvime comentando arriba) dicha información. Desde ya no pude hacer que el texto que se incorpora en el primer paso se grabe al xml, no se si es posible (puedo recuperar, pero grabar no lo se), pero eso es otro tema, lo que me interesa ahora mismo es saber como recuperar un texto pero guarda, que tenga incluido codigo html (como por ejemplo, un href), la verdad es que intente agregando manualmente un texto encerrado por etiquetas de href (la del vínculo html), claro está que hasta que no resuelva la primera parte del asunto no sabré en verdad que tipo de error ocurre. Pero es para que tengan una idea de cual es mi problema. Lo de más arriba es más importante que lo de abajo, pero si entienden cual es el asunto, también sería bueno que me aclaren un poco el asuntillo. Hasta lueguillo.

Por COOKERNATOR

43 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 28 Feb 2008 12:58 pm
Camaradas, sigo con el mismo problema, aunque avance en un aspecto, ya pude implementar que el texto que se encuentra en el xml (dentro de una etiqueta), sea tomado por el textField dinámico. Aunque de manera extraña. Aca plasmo mi código para que puedan ver de que estoy hablando:

//este es miXML (sencillo, está dentro de la etiqueta los atributos de propiedad de cada texto, y el texto propiamente dicho se encuentra entre las etiquetas).
<xxx>
<texto1 fuente="Arial" tamanio="40" color="0xffff33" x="150" y="50">
<txt>Este es el texto1</txt>
</texto1>

<texto2 fuente="Times New Roman" tamanio="25" color="0x99FF00" x="150" y="150">
<txt>Este es el texto2</txt>
</texto2>
</xxx>

////////////Este es mi código////////////

miXML = new XML();
miXML.ignoreWhite = true;
miXML.onLoad = function (cargado){
if (cargado){
i = 0;
correrXML();
}
else{
trace("ERROR!!, no se puede leer el XML");
}
}
miXML.load("EsteEsMiXML.xml");
function correrXML (){
//texto1 atributos
texto1Fuente = miXML.firstChild.childNodes[0].attributes.fuente;
texto1Tamanio = miXML.firstChild.childNodes[0].attributes.tamanio;
texto1Color = miXML.firstChild.childNodes[0].attributes.color;
texto1X = miXML.firstChild.childNodes[0].attributes.x;
texto1Y = miXML.firstChild.childNodes[0].attributes.y;
texto1_txt = miXML.firstChild.childNodes[0].childNodes[0].firstChild;
//texto2 atributos
texto2Fuente = miXML.firstChild.childNodes[1].attributes.fuente;
texto2Tamanio = miXML.firstChild.childNodes[1].attributes.tamanio;
texto2Color = miXML.firstChild.childNodes[1].attributes.color;
texto2X = miXML.firstChild.childNodes[1].attributes.x;
texto2Y = miXML.firstChild.childNodes[1].attributes.y;
texto2_txt = miXML.firstChild.childNodes[1].childNodes[0].firstChild;
}

//Este te crea el texto en esta posición
_root.createTextField("texto1",1,383,150,0,0);
//Este otro no funca, no me toma la posición (variar quitando el comentario para hacer pruebas)
//_root.createTextField("texto1", 1, texto1X, texto1Y , 0, 0);

with (texto1) {
//Sin tener que habilitar un "htmlText" puedo hacer que me tome del xml lo que es el texto, pero de una forma extraña, habilito la propiedad "variable", y la igualo a la variable "texto1_txt (ojo, fijarse que solo funciona si a la variable la encierro entre comillas, muy extraño).
//htmlText = "Este es el texto 1 (que no es dinamico, por que no lo toma del xml, esto es fijo)";
//htmlText = texto1.variable;
type = "dynamic"
html = true
variable = "texto1_txt"
autoSize = "center";
}

texto1Format = new TextFormat();
with (texto1Format){
font = texto1Fuente //no funciona, que cagada
//size = 30
size = "texto1Tamanio" //no funciona, que cagada
texto1Colorx = texto1Color //ya que no funciona la manera anterior, se me ocurrio pasarle el dato metiendo una variable extra, pero tampoco funciona, que cagada.
color = texto1Colorx
url = "http://www.hidro.gov.ar"
target = "_self"
}
texto1.setTextFormat(texto1Format);

Bueno, eso es todo lo que necesitan saber, la verdad que me estoy volviendo loco, por favor si me pueden dar una mano, no sé, podrá ser un bug del Flash?, gracias por todo, y si solo leen, también.

Por COOKERNATOR

43 de clabLevel



Genero:Masculino  

msie7

 

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