Foros del Web » Creando para Internet » Flash y Actionscript »

mostrar ultimo nodo o solo 1 linea

Estas en el tema de mostrar ultimo nodo o solo 1 linea en el foro de Flash y Actionscript en Foros del Web. Hola amigos aver si pudierais echarme una manita. No se como debo cambiarlo para que en el data_mc me muestre nada mas que el ultimo ...
  #1 (permalink)  
Antiguo 21/06/2012, 14:38
 
Fecha de Ingreso: junio-2012
Ubicación: Camarena (Toledo)
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
mostrar ultimo nodo o solo 1 linea

Hola amigos aver si pudierais echarme una manita.

No se como debo cambiarlo para que en el data_mc me muestre nada mas que el ultimo archivo que se sube al servidor y no toda la lista de archivos que hay dentro de esa carpeta.


function makeList() {
data_mc.removeAll();
var list_xml:XML = new XML();
list_xml.ignoreWhite = true;
list_xml.load(path+"/lista.php");
list_xml.onLoad = function() {
var nodos = this.firstChild.childNodes;
for (var a in nodos) {
var size:Number = Math.ceil((nodos[a].attributes.tamanio/1024));
data_mc.addItem({Nombre:nodos[a].attributes.name, Tamaño:size+" Kb"});
}
}
}


o si pudiera hacerse que al menos el datagrid no muestre mas de un campo.


Os dejo tambien el codigo php que interactua con el as2 para mostrarme los archivos subidos a una carpeta del servidor.


<?php
$fp=opendir(".");
echo "<?xml version='1.0' ?".">";
echo "<files>";
while (false!==($file=readdir($fp))){
if ((!in_array($file))){
echo "<file name='".utf8_encode($file)."' tamanio='".filesize($file)."'/>";
}
}
closedir($fp);
echo "</files>";
?>


Gracias

Última edición por serpy12; 21/06/2012 a las 16:16
  #2 (permalink)  
Antiguo 26/06/2012, 11:38
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 3 meses
Puntos: 193
Respuesta: mostrar ultimo nodo o solo 1 linea

Por favor usa el resaltador de codigo para que este sea mas legible.

Tienes que obtener el numero de nodos que tiene el XML y mostrar el indice mayor.

Esta hecho al vuelo sin probar, pero esa es la idea.

Código actionscript:
Ver original
  1. function makeList() {
  2.     data_mc.removeAll();
  3.     var list_xml:XML = new XML();
  4.     list_xml.ignoreWhite = true;
  5.     list_xml.load(path+"/lista.php");
  6.     list_xml.onLoad = function() {
  7.         var nodos = this.firstChild.childNodes;
  8.         var last = nodos[nodos.length()]
  9.         var size:Number = Math.ceil((last.attributes.tamanio/1024));
  10.         data_mc.addItem({Nombre:last.attributes.name, Tamaño:size+" Kb"});
  11.     }
  12. }
  #3 (permalink)  
Antiguo 26/06/2012, 13:15
 
Fecha de Ingreso: junio-2012
Ubicación: Camarena (Toledo)
Mensajes: 3
Antigüedad: 11 años, 10 meses
Puntos: 0
Respuesta: mostrar ultimo nodo o solo 1 linea

Gracias amigo por responderme ya habia perdido toda esperanza de que hubiese alguien que me respondiese.

He probado tu codigo pero no me funciona,no me muestra nada en pantalla.

Perdona mi ignorancia pero es la primera vez que uso foros,no se como usar el resaltador de codigo.

Te pongo el codigo entero para que veas como es, asi quizas me puedas ayudar mejor.

import flash.net.FileReference;
var fileUpload:FileReference = new FileReference();
var path:String = "/dir"
var escucha:Object = {};
var fileTypes:Array;
var getFile:String;
function init() {
System.security.allowDomain(path);
load_mc._visible = false;
fileTypes = [{description:"Archivos de Imagen", extension:"*.jpg;*.gif;*jpeg;*.png", macType:"JPEG;jp2_;GIFF"}];
upload_btn.label = "Upload File";
down_btn.label = "Download File";
nombre.text="";
upload_btn.addEventListener("click", doUpload);
down_btn.addEventListener("click", doDownload);
fileUpload.addListener(escucha);
escucha.onSelect = doSelect;
escucha.onComplete = doComplete;
escucha.onCancel = doCancel;
escucha.onProgress = doProgress;
data_mc.addEventListener("change", setDownload);
}
function doComplete() {
load_mc.barra_mc._xscale = 0;
load_mc.label_txt.text = "Tranferencia Completa";
makeList();
}
function doProgress(archivo:FileReference, bLoaded:Number, bTotal:Number) {
var porcentaje = Math.round((bLoaded*100)/bTotal);
load_mc.label_txt.text = porcentaje+"% del archivo "+archivo.name;
load_mc.barra_mc._xscale = porcentaje;
}
function doCancel() {
trace("El Usuario Cancelo");
}
function doSelect(archivo:FileReference) {
load_mc._visible = true;
load_mc.barra_mc._xscale = 0;
fileUpload.upload(path+"/uploadFile.php");
}
function doDownload() {
if (getFile != undefined) {
fileUpload.download(path+"/"+getFile);
}
}
function doUpload(event) {
fileUpload.browse(fileTypes);
}
function setDownload(c:MovieClip) {
getFile = c.target.selectedItem.Nombre;
}
function makeList() {
data_mc.removeAll();
var list_xml:XML = new XML();
list_xml.ignoreWhite = true;
list_xml.load(path+"/lista.php");
list_xml.onLoad = function() {
var nodos = this.firstChild.childNodes;
var tmpLista:Object;
for (var a in nodos) {
var size:Number = Math.ceil((nodos[a].attributes.tamanio/1024));
tmpLista = {Nombre:nodos[a].attributes.name, Tamaño:size+" Kb"};
}
data_mc.addItem(tmpLista);
}
}
init();


Xcierto la funcion makeList me ayudo a cambiarla otra persona de otro foro, pero me pasa lo siguiente.

Estoy haciendo pruebas con estos 2 archivos tarjetas02.jpg y folletos.jpg

ejemplo 1:

subo tarjetas02.jpg y sale en pantalla despues subo folletos.jpg y sale este en pantalla, quitando tarjetas02.jpg (como deberia de ser)

ejemplo 2:

subo folletos.jpg y sale en pantalla despues subo tarjetas02.jpg y no se muestra sigue saliendo folletos.jpg (porque?? que falla??)


Pregunta??

Porque en el primer ejemplo si funciona pero en el 2 no.

Última edición por serpy12; 26/06/2012 a las 13:26

Etiquetas: nodo, php, ultimo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:30.