Newsgroup: it.comp.appl.macromedia
Titolo: Data e ora con Flash4!!!AIUTO

C'è nessuno che conosce un sistema per inserire automaticamente la data e
l'ora automaticamente senza aggiornare all'interno di un file shockwave...

 wrote in message
7s7o9t$gg5$1...@fe1.cs.interbusiness.it...


Se hai un server in grado di far girare pagine ASP ... tipo IIS della
Microsoft procedi così:
1) copy & paste in editor di testo di questo script
<% datadioggi=now()
   oggig=weekday(datadioggi)
   oggi=day(datadioggi)
   mese=month(datadioggi)
   anno=year(now())
   duemila="1/1/2000"
   giorni=Datediff("d",datadioggi,duemila)-1
   domani=datadioggi+1
   Ora=datediff("h",hour(datadioggi),hour(duemila))
   rem ore=24-22-1
   Ore=24-hour(now())-1
   Minuti=60-minute(now())
   Minuto=datediff("m",datadioggi,domani)
   Select case weekday(datadioggi)<>""
   case weekday(datadioggi)=1
     oggig="Domenica"
    case weekday(datadioggi)=2
     oggig="lunedì"
    case weekday(datadioggi)=3
     oggig="martedì"
    case weekday(datadioggi)=4
     oggig="mercoledì"
    case weekday(datadioggi)=5
     oggig="giovedì"
    case weekday(datadioggi)=6
     oggig="venerdì"
    case weekday(datadioggi)=7
     oggig="sabato"
    end select
   giornog=oggig
   Select case mese<>0
   case mese=1
    mesen="Gennaio"
   case mese=2
    mesen="Febbraio"
   case mese=3
    mesen="Marzo"
   case mese=4
    mesen="Aprile"
   case mese=5
    mesen="Maggio"
   case mese=6
    mesen="Giugno"
   case mese=7
    mesen="Luglio"
   case mese=8
    mesen="Agosto"
   case mese=9
    mesen="Settembre"
   case mese=10
    mesen="Ottobre"
   case mese=11
    mesen="Novembre"
   case mese=12
    mesen="Dicembre"
   End Select
   data=oggig &", " & day(datadioggi)&" " & mesen & " " & anno
   Response.Write("data=")
   Response.Write(data)
   Response.Write("&giornog=")
   Response.Write(giornog)
   %>
2) salva il file come gettime.asp
3) sul movie mettici un action sulla time line load/unload movies
4) seleziona load variables into location
5) in URL ci metti gettime.asp
6) seleziona target, lascia vuoto il rispettivo campo, e fai click su ok ...
7) successivamente sulla time line puoi mettere un campo testo
8) trasformalo in text field
9) con il pulsante destro del mouse visualizza le proprietà del text
field...
10) nel campo variable metti "data" senza virgolette... gli altri parametri
sono a tua scelta
11) FATTO! :)
ricordati che lo script NON funziona in locale ... a meno che tu non lo
posti su Personal Web Server (gratuito)
Il metodo ASP può risultare interessante in quanto non legge l'ora dal lato
client ... e quindi ti evita di dare informazioni "sballate" se il
visitatore magari ha impostato male la sua data e ora....
La lettura della data e dell'ora avviene infatti sulla base di quella di
sistema del serve che ospita le pagine.
Quindi se sbagli data è colpa tua :)))))
Un'ultima nota: è chiaro che file swf e file asp si trovano nella stessa
directory a meno che tu non specifichi path diversi quando richiami la
pagina asp dal movie.
P.S. ... lo script è proprio quello che uso nel mio flashino e contiene
anche alcune routine per il countdown al 2000 ... ma non l'ho testato ... ho
fatto proprio un copy & paste ... :PPPP
Jay di JamFive :)


Il problema è che devi continuamente far lavorare il modem per ottenere
un'orario fluido e continuativo, con conseguente rallentamento delle
prestazioni del SWF e con possibilità di intoppi da parte del segnale che ti
arriva... La soluzione ASP va benissimo per la data, il counter ecc... ma
non per quelle situazioni (come l'orologio) che richiedono un check costante
delle variabili.
-Cyber-

 wrote in message
7sda4b$gf1$1...@news.flashnet.it...


Grazie del tuo aiuto ma non sono tiuscito a farlo funzionare, l'unico dubbio
che non riesco a togliermi è quello della textfield, se deve essere vuota
oppure con scritto qualcosa, inoltre la pagina che contiene l'swf deve essre
in asp o può rimanere html, ciao e grazie...

 wrote in message
7sdjvi$gf6$1...@fe2.cs.interbusiness.it...


 client :)
Perchè allora scomodare il server? Per l'ora "esatta"? Non esiste solo
l'Italia e se un'utente ha l'ora "sballata" sulla sua macchina, farà
comunque un confronto con l'orologio di sistema e dirà che è sbagliata l'ora
visualizzata nel browser...
-Cyber-

 wrote in message
7se370$ool$1...@news.flashnet.it...


Ciao,
credo sia giusto pensare che azioni
per stampare una data statica si possano
risolvere con variabili prese da server..
mentre per un orologio dinamico
che "batte" i secondi , sia più corretto
ricorrere al sistema suggerito da Cyber..
volendo si possono passare anche diversi
parametri dal server all'inizio, ad esempio per
aver come data di partenza quella del server e
non quella del client, ma credo sia sensato
ritenere che la strada più giusta sia quella
che permetta di far lavorare il client per scandire
in flash i secondi.
--
Bye
Ro<*¿*>berto

Abbiamo aperto un dibattito sulla questione ma non abbiamo risolto il
problema. Io ti riporto la mia soluzione Javascript/Flash, poi decidi tu
cosa preferisci fare (anche se questa č la soluzione a mio avviso piů
efficace e snella).
Lo script si riferisce ad una semplice pagina HTML che richiama un file SWF
di nome "testORA.swf" di 300*100 px contenente un text field (vuoto ma con
lo spazio necessario a contenere 6 cifre + 3 ":") chiamato "ora". Durante la
pubblicazione del file, sulle opzioni dell'esportazione HTML (Publish
Setting) inserisci "Flash with FSCommand" invece che "Flash Only (default)".
La maggior parte di questo script, infatti, č stato generato dal Flash 4, io
ho solo inserito in piů la mia funzione Javascript.
Se vuoi, fai un copia/incolla mantenendo gli stessi nomi. Testato con IE e
Netscape.
Meglio di cosě... :-)
-Cyber-
<HTML>
<HEAD>
<TITLE>testORA</TITLE>
<script language="javascript">
<!--
function cybertime()
{
var InternetExplorer = navigator.appName.indexOf("Microsoft") != -1;
  var map = InternetExplorer ? testORA : document.embeds[0];
var tempo=new Date();
var h,m,s;
var time='';
h=tempo.getHours();
m=tempo.getMinutes();
s=tempo.getSeconds();
if(s<=9) s='0'+s;
if(m<=9) m='0'+m;
if(h<=9) h='0'+h;
time+=h+':'+m+':'+s;
map.SetVariable('ora', time)
tick=setTimeout('cybertime()',1000);
}
file://-->
</script>
</HEAD>
<BODY bgcolor="#000000" onload="cybertime()">
<SCRIPT LANGUAGE=JavaScript>
<!--
if (navigator.appName && navigator.appName.indexOf("Microsoft") != -1 &&
   navigator.userAgent.indexOf("Windows") != -1 &&
navigator.userAgent.indexOf("Windows 3.1") == -1) {
 document.write('<SCRIPT LANGUAGE=VBScript\> \n');
 document.write('on error resume next \n');
 document.write('Sub testORA_FSCommand(ByVal command, ByVal args)\n');
 document.write('  call testORA_DoFSCommand(command, args)\n');
 document.write('end sub\n');
 document.write('</SCRIPT\> \n');
}
file://-->
</SCRIPT>
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="
http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0
,0"
 ID=testORA WIDTH=300 HEIGHT=100>
 <PARAM NAME=movie VALUE="testORA.swf"> <PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#000000> <EMBED src="testORA.swf" quality=high
bgcolor=#000000  WIDTH=300 HEIGHT=100 swLiveConnect=true
 TYPE="application/x-shockwave-flash"
PLUGINSPAGE="
http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_
Version=ShockwaveFlash"></EMBED>
</OBJECT>
</BODY>
</HTML>