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

doevent o pausa en flash2004 URGENTE

Estas en el tema de doevent o pausa en flash2004 URGENTE en el foro de Flash y Actionscript en Foros del Web. Hola amigos foreros tengo el siguiente problema estoy ocupando la datagrid de flash 2004 y la estoy llenando con datos desde un archivo php el ...
  #1 (permalink)  
Antiguo 13/02/2004, 10:06
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 14 años, 5 meses
Puntos: 0
doevent o pausa en flash2004 URGENTE

Hola amigos foreros


tengo el siguiente problema
estoy ocupando la datagrid de flash 2004 y la estoy llenando con datos desde
un archivo php

el problema esta en que esta grilla deberá albergar una gran cantidad de
datos por lo cual
cuando la estoy llenado me aparece el mensaje de el reproductor de flash
diciendo que la aplicación
puede provocar que mi equipo de quede pegado

entonces yo creo que esto se debe a la cantidad de vueltas que se debe dar
el For que hice para llenar los datos
por lo cual se me ocurrió poner una pausa en el for de un par de mili
segundo para que el reproductor pudiera darse cuenta
que esta procesando información

en VisualBasic cuando uno sabe que va a hacer un for demasiado grande pone
la instrucción Doevent
esto devuelve el puntero de memoria al sistema operativo y luego vuelve para
continuar con el for
haciendo que la aplicación no se quede pegada

Alguien sabe como hacer esto en ActionScript de flash 2004


si alguien me ayudara estaría muy agradecido
Atte.
Ds1
  #2 (permalink)  
Antiguo 13/02/2004, 10:53
Avatar de ¬...  
Fecha de Ingreso: noviembre-2003
Ubicación: Guatemala
Mensajes: 742
Antigüedad: 14 años
Puntos: 4
pues que yo sepa no se puede, probe haciendo esto:
Código:
imin=0;
imax=1000;
for(i=imin;i<imax+1;i++){
	if(i<imax){
		trace("el puntero de reloj...");
		Mouse.hide();
		puntero_reloj._visible=1;
	}else{
		trace("el puntero normal");
		Mouse.show();
		puntero_reloj._visible=0;
	}
}
y pues no sirve, talvez te sirva solo dejarle algun mensaje "cargando datos" antes de hacer el for y quitarlo despues
__________________
'_'

...
  #3 (permalink)  
Antiguo 13/02/2004, 12:43
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 14 años, 5 meses
Puntos: 0
SI LO QUE PASA ES QUE

CUANDO UNO HACE UN FOR DEMACIADO GRANDE

Y LUEGO UNO HABRE EL ARCHIVO PERO EN UN EXPLORER

EL EXPLORER SE QUEDA PEGADO Y SALE UN MENSAJE

DE ADVERTENCIA DICIENDO SI QUIERO CANCELAR LA

EJECUCION DE EL SCRIPT YA QUE ESTO PUEDE PROBOCAR

QUE EL SISTEMA NO RESPONDA


ES ESO.... ENTONCES ALGUIEN SABRA COMO OMITIR ESE
MENSAJE O COMO HACER UN FOR DE 5000 VUELTAS
MAS LIVIANO?
  #4 (permalink)  
Antiguo 13/02/2004, 14:05
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 15 años, 11 meses
Puntos: 193
a que te refieres con un For muy grande

yo pruebo esto y va como mantequilla

Código PHP:
for (a=0a<5000a++) {
    
trace(a);
}
trace("For terminado en "+getTimer()+" Milisegundos"); 
el resultado es

Código:
4998
4999
For terminado en 115 Milisegundos
Entonces el Problema no es el For.

Igual y haces llamadas recursivas a ese for entonces si se puede trabar, por que no pones tu codigo y vemos que pasa....

Saludos!!
  #5 (permalink)  
Antiguo 13/02/2004, 14:17
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 14 años, 5 meses
Puntos: 0
eso estoy haciendo



==========================================

$cadena = this.grilla

$cadena = $cadena.Reemplazar("<amp>","&");
$cadena = $cadena.Reemplazar("<ntilde>","ñ");
$cadena = $cadena.Reemplazar("<Ntilde>","Ñ");

$cadena = $cadena.split("<|>");
$arreglo = Array();
for ($i=0; $i<=($cadena.length)-1; $i++) {
$tem = $cadena[$i].split("<,>");
$arreglo[$i] = {linea:$i,codigo_cip:$tem[3],marca:$tem[4],descripcion:$tem[5],modelo:$tem[6],um:$tem[7],cantidad:$tem[8],v_unitario:$tem[9],total:$tem[8]*$tem[9]};
// grid.addItem({linea:$i,codigo_cip:$tem[3],marca:$tem[4],descripcion:$tem[5],modelo:$tem[6],um:$tem[7],cantidad:$tem[8],v_unitario:$tem[9],total:$tem[8]*$tem[9]});
}


grid.setDataProvider($arreglo);

======================================


esto es parte de una rutina que llama un archivo php
que genera una cadena que lo leo con loadvar
luego esto lo convierto en un array y lo paso como proveedor de
datos de una DATAGRID de Flash 2004

entonces en equipos mas o menos lentos

sale un mensaje diciendo que el script puede dejar pegado el
equipo

alguien sabe como arreglar eso!
  #6 (permalink)  
Antiguo 13/02/2004, 16:42
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 14 años, 5 meses
Puntos: 0
Help help help help plis f1 f1 f1 !!!!!
  #7 (permalink)  
Antiguo 13/02/2004, 17:04
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 15 años, 11 meses
Puntos: 193
Pon la como recibes la cadena this.grilla
  #8 (permalink)  
Antiguo 13/02/2004, 17:17
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 14 años, 5 meses
Puntos: 0
================================ESTE ES EL CODIGO
QUE ME DE VUELVE EL PHP QUE AGO REF MAS ABAJO (ESTO ES SOLO UNA PARTE DE EL CODIGO YA QUE SON MUCHAS LINEAS
AQUI HAY SOLO DOS LINEAS)

&grilla=369<,>1<,>209392<,>2092492<,>EURIMPEX<,>TA BLA PLANCHAR MADERA ECO<,>1200<,>UN<,>200.0000<,>2.500<,>1<,>CAJ<,>4<, >0<,>0<,>369<|>505<,>2<,>234540<,>2461540<,>TEMPOR E<,>CAMISA FRANELA 2<,>2<,>UN<,>111.000<,>2.8000<,>1<,>CAJ<,>24<,>0<, >0<,>505




====================================ESTE ES CODIGO COMPLETO

var carga_lv:LoadVars = new LoadVars();

carga_lv.load("grilla.php")

carga_lv.onLoad = function(success:Boolean){

if(success==true){
$cadena = this.grilla
$cadena = $cadena.Reemplazar("<amp>","&");
$cadena = $cadena.Reemplazar("<ntilde>","ñ");
$cadena = $cadena.Reemplazar("<Ntilde>","Ñ");
$cadena = $cadena.split("<|>");

$arreglo = Array();


for ($i=0; $i<=($cadena.length)-1; $i++) {
$tem = $cadena[$i].split("<,>");
$arreglo[$i] = {linea:$i,codigo_cip:$tem[3],marca:$tem[4],descripcion:$tem[5],modelo:$tem[6],um:$tem[7],cantidad:$tem[8],v_unitario:$tem[9],total:$tem[8]*$tem[9]};
}

grid.setDataProvider($arreglo);

}
}

===============================FUNCIONES QUE OCUPO

String.prototype.Reemplazar = function(objetivo, reemplazo) {
return this.split(objetivo).join(reemplazo);
};


String.prototype.trim = function(tipo) {
if (tipo == 'izquierda') {
return ((this.charAt(0) == " " && this.length>0) ? this.slice(1).trim('izquierda') : this);
} else if (tipo == 'derecha') {
return ((this.charAt(this.length-1) == " " && this.length>0) ? this.slice(0, this.length-1).trim('derecha') : this);
} else {
return this.trim('izquierda').trim('derecha');
}
};




======================================

EL MENSAJE POR EJEMPLO NO ME SALE EN MI PC
PERO SI ME SALE EN UN PC DE UNA COMPAÑERA
QUE ES MAS LENTO QUE EL MIO

ES POR ESO QUE BUSCO HACER ALGO MAS LIVIANO

POR EJEMPLO SI DENTRO DE EL FOR SE PUDIERA HACER UNA
ESPECIE DE DOEVENT....
  #9 (permalink)  
Antiguo 16/02/2004, 07:59
Avatar de Ds1
Ds1
 
Fecha de Ingreso: junio-2003
Mensajes: 87
Antigüedad: 14 años, 5 meses
Puntos: 0
alguien me puede ayudar!!!
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 16:42.