Comunidad de diseño web y desarrollo en internet online

Autorecarga temporizada para actualización de variables

Citar            
MensajeEscrito el 04 Abr 2009 09:18 am
Hola amigos,

Tengo una película que expresa en pantalla los datos que lee de un archivo TXT ¿Cómo podría hacer para que, sin tener que volver a recargar la película de Flash manualmente (CTRL+R) se actualizasen los datos de pantalla cada cierto tiempo, para que mostrase la información actualizada de la variable del TXT?

Los datos los cargo desde un archivo .TXT de la siguiente forma...
&parrafo=Texto a mostrar&

¿Alguien sugiere alguna idea?
Gracias por los aportes que puedan surgir.

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Abr 2009 01:45 pm
Sip, carga los textos por LoadVars (como puedes ver en este POST) cada x tiempo usando un setInterval. Al nombre del archivo agrégale un random para evitar el cache, por ejemplo:

datos.load("algun.txt?"+Math.random())

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Abr 2009 03:11 pm
Gracias solisarg,
Voy a probar con lo que me cuentas a ver si soy capaz...

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Abr 2009 03:13 pm
jeje, ese post que me indicas lo he contestado yo...

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Abr 2009 03:18 pm

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Abr 2009 03:41 pm

solisarg escribió:

Sip, carga los textos por LoadVars (como puedes ver en este POST) cada x tiempo usando un setInterval. Al nombre del archivo agrégale un random para evitar el cache, por ejemplo:

datos.load("algun.txt?"+Math.random())

Jorge


He encontrado esto por el foro...

var tempo:Number = setInterval( ejecutar, 10 * 1000, "Hola" ); //10 segeundo son 10000 milisegundos
function ejecutar( aux:String )
{
trace("pasaron 10 segundos: " + aux );
}

...pero lo que quiero es que cada 10 segundos realice la lectura de las variables del archivo .txt y las vuelva a cargar en pantalla, refrescando así la información. No sé como implementarlo.
Gracias por las sugerencias y aportes que podáis tener.

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Abr 2009 03:44 pm
Paso 1: Pasar el bloque de LoadVars a una función (le puedes poner ejecutar de nombre si quieres, dentro el LoadVars, el argumentpo no hace falta)
Paso 2: Llamas a esa función cada N tiempo

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 04 Abr 2009 04:06 pm
He creado una clase .AS con el loadvars dentro, pero no sé como llamarlo correctamente desde la película principal para que lo ejecute cada cierto tiempo.

+ pistas plis...?

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Abr 2009 05:58 pm

solisarg escribió:

Paso 1: Pasar el bloque de LoadVars a una función (le puedes poner ejecutar de nombre si quieres, dentro el LoadVars, el argumentpo no hace falta)
Paso 2: Llamas a esa función cada N tiempo

Jorge


Perdona mi insistencia Jorge, en teoría y según lo que interpreto en tu comentario, debo pasar el loadVars a función, metiéndolo en un archivo .AS ¿?, y luego llamarlo desde la película principal; aunque también, creo, se puede crear la función dentro de la película y llamarla desde allí mismo.

No tengo mucho conocimiento de AS, pero ando recurriendo continuamente al manual para intentar aprender. En esta ocasión ando un poco liado ¿Me puedes orientar más?

Gracias!!

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Abr 2009 06:33 pm
Algo así:

Código ActionScript :

var tempo:Number = setInterval( ejecutar, 10000);
function ejecutar(){
 var datos:LoadVars = new LoadVars();
 datos.onLoad = function(ok){ 
    if(ok){  
      //hacer algo con tus datos
    }   
  } 
  datos.load("datos.txt?"+Math.random());
}


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos



Ultima edición por solisarg el 06 Abr 2009 12:15 pm, editado 3 veces

Argentina

firefox
Citar            
MensajeEscrito el 05 Abr 2009 08:12 am
Hola Jorge,

Gracias por tu dedicación. He probado la fórmula que me sugerías, pero no funciona. Después de rectificar algún error de sintáxis, lo pruebo sin error alguno, per no me carga la información de la variable guardada en el archivo .TXT.

Este es el AS que he utilizado...

stop();
var tempo:Number = setInterval(ejecutar, 10000);
function ejecutar(){
}
var datos:LoadVars = new LoadVars();
datos.onLoad = function(ok){
if(ok){
//hacer algo con tus datos
}
datos.load("datos.txt?"+Math.random());
}

Antes, para cargar con éxito la información de la variable guardada en el archivo .TXT, utilizaba esta secuencia...

stop();
loadVariablesNum ("meteo.txt", 0);

...y en el archivo .TXT tenía y tiene lo siguiente
&parrafo=Texto a mostrar
&

Claro está, en mí película Flash tengo una ventana con un texto dinámico, al cual he identificado con la variable "parrafo".
No sé que es lo que falla...
Gracias de nuevo por las sugerencias.

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Abr 2009 08:16 am
(perdón, así se ve mejor)
Hola Jorge,

Gracias por tu dedicación. He probado la fórmula que me sugerías, pero no funciona. Después de rectificar algún error de sintáxis, lo pruebo sin error alguno, per no me carga la información de la variable guardada en el archivo .TXT.

Este es el AS que he utilizado...

Código :

stop();
var tempo:Number = setInterval(ejecutar, 10000);
function ejecutar(){
}
var datos:LoadVars = new LoadVars();
datos.onLoad = function(ok){
if(ok){
//hacer algo con tus datos
}
datos.load("datos.txt?"+Math.random());
}


Antes, para cargar con éxito la información de la variable guardada en el archivo .TXT, utilizaba esta secuencia...

Código :

stop();
loadVariablesNum ("meteo.txt", 0);


...y en el archivo .TXT tenía y tiene lo siguiente

Código :

&parrafo=Texto a mostrar
&


Claro está, en mí película Flash tengo una ventana con un texto dinámico, al cual he identificado con la variable "parrafo".
No sé que es lo que falla...
Gracias de nuevo por las sugerencias.

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Abr 2009 08:19 am
(perdón, rectificación de lo anterior)
Hola Jorge,

Gracias por tu dedicación. He probado la fórmula que me sugerías, pero no funciona. Después de rectificar algún error de sintáxis, lo pruebo sin error alguno, per no me carga la información de la variable guardada en el archivo .TXT.

Este es el AS que he utilizado...

stop();
var tempo:Number = setInterval(ejecutar, 10000);
function ejecutar(){
}
var datos:LoadVars = new LoadVars();
datos.onLoad = function(ok){
if(ok){
//hacer algo con tus datos
}
datos.load("datos.txt?"+Math.random());
}

Antes, para cargar con éxito la información de la variable guardada en el archivo .TXT, utilizaba esta secuencia...

stop();
loadVariablesNum ("datos.txt", 0);

...y en el archivo .TXT tenía y tiene lo siguiente
&parrafo=Texto a mostrar
&

Claro está, en mí película Flash tengo una ventana con un texto dinámico, al cual he identificado con la variable "parrafo".
No sé que es lo que falla...
Gracias de nuevo por las sugerencias.

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 05 Abr 2009 08:51 am
Con esto me carga perfectamente la información de la variable, no da errores de repuración, pero no funciona el refresco automático cada 10 segundos.

Código :

stop();
var tempo:Number = setInterval(ejecutar, 10000); 
function ejecutar(){ 
}
var datos:LoadVars = new LoadVars();  
datos.onLoad = function(ok){ 
}
   if(ok){   
      //hacer algo con tus datos 
   }  

loadVariablesNum ("datos.txt", 0);


...recordar que en el archivo .TXT tengo lo siguiente

Código :

&parrafo=Texto a mostrar
&


Eso sí, en mí película Flash tengo una ventana con un texto dinámico, al cual he identificado con la variable "parrafo", donde se muestra la información que da la variable del archivo .TXT.

Aclaro que, el utilizar variables en el .TXT es porque me servirán, en función del dato que muestre, para cargar una 2ª película dentro de la principal. Concretamente es para un banner que refleja la información de una estación meteorológica, la cual guarda los datos en un archivo .TXT mediante variables.

Esto me permite cargar la animación de una nube lloviendo, un solete expléndido, etc.
Espero sea interesante y podamos depurar esto para que funcione bien.

Gracias de nuevo por las sugerencias...

Por Hucles

26 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Abr 2009 12:17 pm
Le estás dondo vuelta a un code que llama a una función que no hace nada

Código ActionScript :

function ejecutar(){
}


Revisé mi POST y es cierto, se me piantó una llave, pero no era ahí donde tenías que agregarla. Lo edité y ahora ya está apto para el copy&paste

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 06 Abr 2009 03:29 pm
ole, ole y ole !!
Ahora si que funciona...GRACIAS !!

Código :

var tempo:Number = setInterval( ejecutar, 5000); 
function ejecutar(){ 
 var datos:LoadVars = new LoadVars(); 
 datos.onLoad = function(ok){  
    if(ok){   
      function ejecutar(){ 
}  
    }    
  }  
 loadVariablesNum ("datos.txt", 0); 
} 


Lo que pretendo con esto, es que el campo de texto dinámico (variable "weather") que tengo en la película principal, refleje los datos que marca la variable del .TXT, los cuales procenden de la estación meteorológica.

El archivo .TXT tiene lo siguiente...

Código :

&weather=Wind E 20 kts
Temp 10ºC
&


Esto me imprime en el espacio de texto dinámico, la velocidad del viento, dirección y temperatura.
Ahora estoy estudiando hacer que, en función de las condiciones climáticas, aparezca una u otra animación alegórica del tiempo que hace en la zona, según las variables que marque el archivo .TXT.

Por el momento, ha quedado solucionado el primer paso. Ya expondré en otro post la siguiente experiencia.

Gracias Jorge por tu ayuda y dedicación en este foro.

Por Hucles

26 de clabLevel



 

firefox

 

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