Ver Mensaje Individual
Antiguo 08-may-2008, 16:17   #1 (permalink)
conic
conic está en el buen camino
 
Avatar de conic
 
Fecha de Ingreso: marzo-2003
Ubicación: Buenos Aires
Mensajes: 90
Enviar un mensaje por MSN a conic
Link Descargar Archivo con Flash y XML

Saludos a todos, ojalá puedan ayudarme con esto. Les cuento el problema:

Resulta que tengo un flash que trabaja con un formato de arbol carpetas y archivos. Las carpetas vendrían a ser las categorías y los archivos son unos PDF para descargar. EL menu funciona OK, se muestra todo bien, pero me falta la función para que propiamente pueda cada uno de los archivos que aparecen ser descargados, ya que en este momento me los lista pero no me permite la descarga.

Para que lo puedan ver más claramente, les paso el código del Flash:

System.useCodePage=true;

// VARIABLES
gSeparacionX = _parent.disX;
gSeparacionY = _parent.disY;
gXML=_parent.mxml;
_parent.formato=new TextFormat();
_parent.formato.font=_parent.mfont;
_parent.formato.color=_parent.mcolor;
_parent.formato.size=_parent.mtam;

tip.swapDepths(5000);
menu=new XML();
menu.load(gXML);
menu.ignoreWhite = true;

texto="cargando xml...";
menu.onLoad = arbol;
_parent.con=0;
_parent.boton0.texto="cargando xml...";

function arbol (loaded) {
if (loaded == true) {
dibujaNodo(menu);
Renderiza();
} else {
texto="error cargando xml...";
}
_parent.total=_parent.con;
}

function buscaHijos(nodo){
var tot = 0;
for(var i=0;i<nodo.childNodes.length;i++)
tot += buscaHijos(nodo.childNodes[i])
return nodo.childNodes.length + tot;
}

function dibujaNodo(param,qPos){
_parent.boton0.duplicateMovieClip("boton"+_parent. con,_parent.con);
_parent["boton"+_parent.con]._x=qPos;
_parent["boton"+_parent.con].nodo=param;
_parent["boton"+_parent.con].texto=param.attributes.name;
_parent["boton"+_parent.con].enlace=param.attributes.link;
_parent["boton"+_parent.con].activo=param.attributes.activo;
if(param.attributes.activo eq 0){
_parent["boton"+_parent.con]._alpha=50;
}
_parent["boton"+ _parent.con].seVe = true;
if(param.hasChildNodes()){
_parent["boton"+_parent.con].hijillos=buscaHijos(param);
if((_parent.con eq 1) and (_parent.desp))
_parent["boton"+_parent.con].desplegado=true;
if(_parent.ima){
if(_parent.propios){
_parent["boton"+_parent.con].ima.gotoAndStop(param.attributes.icon);
}else{
_parent["boton"+_parent.con].ima.gotoAndStop("carpeta");
}
}else{
_parent["boton"+_parent.con].ima.gotoAndStop("no");
}
_parent["boton"+_parent.con].onRelease=function(){
this.desplegado=!(this.desplegado);
this.num=this._name.substring(5,8);
for(var x=Number(this.num)+1;x<=Number(this.hijillos)+Numb er(this.num);x++){
if((_parent["boton"+x]._x - _parent["boton"+this.num]._x) <= gSeparacionX)
_parent["boton"+x].seVe = this.desplegado;
}
Renderiza();
}
}else{
if(_parent.ima){
if(_parent.propios){
_parent["boton"+_parent.con].ima.gotoAndStop(param.attributes.icon);
}else{
_parent["boton"+_parent.con].ima.gotoAndStop("");
}
}else{
_parent["boton"+_parent.con].ima.gotoAndStop("no");
}
_parent["boton"+_parent.con].onRelease=function(){
this._parent._parent[(this._parent.func)](this.enlace);
}
}
_parent.con++;
for(var ii=0;ii<param.childNodes.length;ii++)
dibujaNodo(param.childNodes[ii],qPos+gSeparacionX);
}
_parent.boton0._visible = false;

function Renderiza(){
var qPos = 0;
for (var i = 1; i < _parent.con;i++)
_parent["boton" + i]._visible = false;
for (var i = 1; i < _parent.con;i++)
if(_parent["boton" + i].seVe){
_parent["boton" + i]._visible = true;
_parent["boton" + i]._y = qPos;
qPos += gSeparacionY;
if (!(_parent["boton" + i].desplegado))
i += _parent["boton" + i].hijillos;
}
}


Y luego, este es el del XML:

<?xml version="1.0" encoding="iso-8859-1"?>
<menu name="Documentos para Descargar" icon="home">
<opcion name="servicios" icon="carpeta">
<opcion name="Aprendizaje por imitación" link="Aprendizaje por imitacion.pdf"></opcion>
<opcion name="php" link="php"></opcion>
<opcion name="xml" link="xml"></opcion>
<opcion name="flash" link="flash"></opcion>
</opcion>
<opcion name="portfolio" icon="carpeta">
<opcion name="pedrodelarosa" link="pedrodelarosa"></opcion>
<opcion name="enginesoft" link="enginesoft"></opcion>
<opcion name="areaempresarial" link="areaempresarial"></opcion>
<opcion name="gimanez & zuazo" link="gimanez&zuazo" icon="text"></opcion>
<opcion name="racingservices" link="racingservices" icon="text"></opcion>
<opcion name="videoping" link="videoping"></opcion>
<opcion name="96com" link="96com"></opcion>
<opcion name="videoguia" link="videoguia" icon="text"></opcion>
<opcion name="ingeniun" link="ingeniun"></opcion>
</opcion>
<opcion name="contacto" icon="carpeta">
<opcion name="ingeniun@ingeniun.com" link="ingeniun@ingeniun.com"></opcion>
</opcion>
</menu>

Les agradezco mucho pro su ayuda y felicidades por el foro que de verdad ayuda mucho!!
__________________
:-D ] CoNic [
conic está desconectado   Responder Citando