Ora che sappiamo come inviare e ricevere informazioni tramite Flash-ASP, cominciamo con il creare il primo nostro piccolo filmato di interazione: ricevere data e ora di sistema.
Per prima cosa, creiamo la pagina ASP che restituisce a Flash le informazioni. Ecco il codice:
<%
'Escludo i secondi dall'ora
ora = Mid(Time(),1,5)
'Aggiungo alla data in formato lungo, l'ora estrapolata
datone = FormatDateTime(Date(), vbLongDate) & " " & ora
Response.Write("datone=" & datone)
%>
Questo semplice script non ha bisogno di molte spiegazioni. All'interno della variabile ora
si trova l'ora corrente esclusi i secondi (la formattazione è HH:MM:SS
per cui, estrapolando i primi 5 caratteri avremo HH:MM
), mentre con l'istruzione FormatDateTime(Date(), vbLongDate)
la data corrente viene formattata in nome-giorno, DD nome-mese YYYY
. Ovviamente la data può essere formatta nella maniera che più vi aggrada.
Aprendo la pagina ASP con un browser (è scontato dirlo, ma vi ricordo che per compilare pagine ASP è necessario installare il Personal Web Server), il risultato a video dovrebbe essere questo (questa lezione è costruita su una pagina ASP, ed il risultato che vedete qui sotto è dato in tempo reale):
datone=venerdì 8 marzo 2002 11.17
NOTA: la formattazione della data e dell'ora è dipendente dalle impostazioni del server. Se il server è configurato su impostazioni inglesi, la data e l'ora vengono restituite nel formato: MM/DD/YY
, HH.MM.SS
e day, DD month YYYY
.
Per ovviare a questo inconveniente è necessario impostare il Set di formattazione in italiano. Per fare questo, inserire il codice
<%
Dim original
original = SetLocale(1040)
%>
all'inizio della pagina ASP. Il codice imposta la formattazione locale di valuta e data/ora al parametro indicato (1040 si riferisce alle impostazioni italiane).
A questo punto passiamo alla creazione del filmato Flash. Io mi limiterò ad inserire un campo di testo in cui andrà ad inserirsi il valore di datone
, voi però cercate di sbizzarrirvi in fantasia e create qualcosa di altamente artistico ;-)
Dopo aver inserito il campo di testo datone
(ovviamente deve avere lo stesso nome della variabile ASP per poter prenderne il valore), dobbiamo creare uno script che permetta di rileggere la pagina ASP dopo ogni 60 sec. in modo da aggiornare dopo ogni minuto la data e l'ora (è preferibile fare in questo modo piuttosto che caricare il server di aggiornamenti continui). Quindi, nel primo keyframe
del filmato inseriamo:
loadVariablesNum ("dataora.asp", 0, "POST");
per così caricare le variabili ed visualizzare la data/ora nel campo di testo datone
. Questa azione obbliga a specificare anche il percorso di ricezione: Level
oppure Target
. Se le variabili vengono inviate a livello 0, queste saranno presenti in Flash nella root (ovviamente), quindi per richiamarle dovremmo usare _root.datone
Altrimenti è possibile specificare un Target
di destinazione. Inserendo il nome dell'istanza di un movieclip
sarà possibile inviare il valore delle variabili nel movieclip
:
_root.pippo.datone
Per ri-aggiornare ogni 60 sec. invece, inseriamo sempre nel primo keyframe
, l'azione:
tempo =(getTimer()/1000)
per conoscere il tempo iniziale del filmato.
A questo punto, è necessario confrontare il valore di tempo
con il valore aggiornato di getTimer
. Se questo valore risulta più alto di 60 secondi allora ri-esegui l'azione
loadVariablesNum
:
tmp_trs = (getTimer()/1000);
//Controllo se sono passati 60 sec.
if ((tmp_trs - tempo)>=60) {
//Aggiorno la data e l'ora
loadVariablesNum ("dataora.asp", 0, "POST");
tmp_trs = 0;
tempo = (getTimer()/1000);
}
impostando nuovamente a 0 tmp_trs
e dando il nuovo valore a tempo
.