Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/05/2006, 13:46
Avatar de freesoftwarrior
freesoftwarrior
 
Fecha de Ingreso: marzo-2006
Mensajes: 362
Antigüedad: 18 años, 1 mes
Puntos: 10
Poner hora del servidor en un flash - Un poco urgente

Hola amigos:
Este es mi primer post y espero poder contar con vuestro apoyo.
Sucede que a último momento mi "jefe" quiere un reloj en flash que muestre la hora del servidor (un hosting de pago).
Yo apenas he empezado con esto de flash (uds. saben, banners más que nada) y no se (aún) como hacer algo así. Estuve buscando en el web y en un MSN space encontré la dirección de relojes en flash. Y baje uno que le agradó a mi jefe pero luego yo note que solo muestra la hora de la PC con que se conecta, más no la del servidor.
Revisando el código del flash vi que hace esta llamada

realHours = mydate.getHours();

en 2 fotogramas distintos. Lei que se puede interactuar flash con asp y php (nuestro web esta en asp) y obviamente con la funcion Now() puedo obtener la hora del servidor real. Averigue que con loadVariablesNum puedo cargar una variable en un fla y usarlo, pero en este fla en particular, la siguiente rutina se repite (más o menos igual) en 2 fotogramas distintos:

1er. fotograma
myDate = new Date(year, month, date, hour, min, sec, ms);
realHours = mydate.getHours();
time = int(realHours);
if (int(hours) >= 12)
{
hours = hours - 12;
am = "PM";
}
else
{
am = "AM";
} // end if
if (time <= 6)
{
_root.dayMarker.gotoAndStop(1);
}
else if (time >= 7 && time <= 8 )
{
_root.dayMarker.gotoAndStop(4);
}
else if (time >= 9 && time <= 17)
{
_root.dayMarker.gotoAndStop(2);
}
else if (time >= 18 && time <= 20)
{
_root.dayMarker.gotoAndStop(3);
}
else
{
_root.dayMarker.gotoAndStop(1);
} // end if
minutes = myDate.getMinutes();
if (int(minutes) < 10)
{
minutes = "0" + minutes;
} // end if
secs = myDate.getSeconds();
if (int(secs) < 10)
{
secs = "0" + secs;
} // end if
clock = hours + ":" + minutes;
today = myDate.getmonth() + 1 + "/" + myDate.getdate() + "/" + myDate.getfullyear();


2do. fotograma
myDate = new Date(year, month, date, hour, min, sec, ms);
hours = mydate.getHours();
realHours = mydate.getHours();
time = int(realHours);
if (int(hours) > 12)
{
hours = hours - 12;
am = "PM";
}
else
{
am = "AM";
} // end if
if (time <= 6)
{
_root.dayMarker.gotoAndStop(1);
}
else if (time >= 7 && time <= 8 )
{
_root.dayMarker.gotoAndStop(4);
}
else if (time >= 9 && time <= 17)
{
_root.dayMarker.gotoAndStop(2);
}
else if (time >= 18 && time <= 20)
{
_root.dayMarker.gotoAndStop(3);
}
else
{
_root.dayMarker.gotoAndStop(1);
} // end if
minutes = myDate.getMinutes();
if (int(minutes) < 10)
{
minutes = "0" + minutes;
} // end if
secs = myDate.getSeconds();
if (int(secs) < 10)
{
secs = "0" + secs;
} // end if
clock = hours + ":" + minutes;
today = myDate.getmonth() + 1 + "/" + myDate.getdate() + "/" + myDate.getfullyear();


tengo que entregar este diseño esta semana y la verdad no se como lograr que el fla lea la hora del servidor. Las pruebas las hago asi:

test.asp => llama al archivo reloj.swf

hora.asp => tiene la variable de tiempo de esta forma

&hora=<%=Now()%>

los 3 archivos (incluyento el swf) estan en una misma carpeta (supongo que luego puedo moverlos a otras carpetas siempre y cuando redireccione bien las rutas de los código obviamente)

También note que la función Now() me da la fecha en este formato

5/22/2006 11:04:43 AM

y he visto que en el actionscript crean un array (eso me parece) con esta línea

myDate = new Date(year, month, date, hour, min, sec, ms);

pero el orden de esos elementos es distinto a los que muestra la funcion Now(), asi que probe modiicar (en los 2 fotogramas) esta linea

myDate = new Date(year, month, date, hour, min, sec, ms);

por esta otra

myDate = new Date(month, date, year, hour, min, sec, ms);

y la que parece carga el array

realHours = mydate.getHours();

por esta otra

realHours = mydate.loadVariablesNum("hora.asp",0);

y en la linea

hours = mydate.getHours(); del 2do fotograma

Pero obviamente no me ha dado resultado por lo que recurro a vosotros.
Disculpen la extensión de mi post, pero como no puedo enviarles el fla me he tenido que extender.

El swf lo obtuve de esta dirección

h t t p : / / t 2 . t e c h n i o n . a c . i l / ~ s n o o m / c l o c k . h t m l

como aparecen caracteres raros en mi terminal (debe ser por cuestión del idioma de la página), el que baje es el 2do de la 4ta. fila (empezando desde arriba). Para modificarlo utilice el Sothink SWF Decompiler (la empresa lo ha comprado hace algunos meses) y lo he usado simplemente porque en realidad es una emergencia de tiempo (ironico, ¿eh?) pues en realidad (pueden dudar pero les digo la verdad), desearia haber podido tener el tiempo para poder crear uno por mi mismo.

Por favor dadme una mano........ que lo tengo liado este asunto y ya me veo como el chivo expiatorio......

Gracias y sobre todo gracias por la paciencia en leer este post

Espero vuestros comentarios y consejos