Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Secondo esempio: numeri e stringhe

Salvataggio di valori numerici e letterali
Salvataggio di valori numerici e letterali
Link copiato negli appunti

Scarica questo filmato scarica

Aggiorniamo più volte la pagina, osservando i diversi messaggi
proposti:

Il filmato è molto semplice: sullo stage c'è solo un campo di testo dinamico, tutto il resto è nello script del primo frame. Ho dovuto tagliare parte dei messaggi per ragioni di spazio, ma nel fla di esempio questi sono interi.

stop();

function dataDiOggi(){
 giorni = ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"];
 mesi = ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre","Novembre", "Dicembre"];
 tempo = new Date();
 ore = tempo.getHours();
 minuti = tempo.getMinutes();
 secondi = tempo.getSeconds();
 oggi = tempo.getDate();
 giorno = tempo.getDay();
 nomegiorno = giorni[giorno];
 mese = tempo.getMonth();
 nomemese = mesi[mese];
 anno = tempo.getFullYear();
 ore = (ore<10) ? "0"+ore : ore;
 minuti = (minuti<10) ? "0"+minuti : minuti;
 secondi = (secondi<10) ? "0"+secondi : secondi;
 ora = ore+":"+minuti;
 dat = nomegiorno+", "+oggi+" "+nomemese+" "+anno;
}

dataDiOggi();

dati = sharedobject.getLocal("cookie");

if(dati.data.num == undefined){
 dati.data.num = 0;
 testo.html = true;
 testo.htmlText = "Benvenuto su flash-mx.it!.." + ora + " di " + dat;
} else {
 txt1 = "Bentornato su flash-mx.it!.." + dati.data.ora + " di " + dati.data.dat;
 txt2 = ".." + dati.data.num + " ..." + dati.data.dat + " ... " + dati.data.ora;
 testo.html = true;
 testo.htmlText = (dati.data.num == 1) ? txt1 : txt2;
}

dati.data.ora = ora;
dati.data.dat = dat;
dati.data.num++;
dati.flush();
stop();

Gran parte dello script non ci interessa direttamente: se infatti escludiamo la funzione iniziale per il recupero della data nella forma più elegante, il codice relativo al cookie si riduce a poche righe.

Viene chiamata la funzione per la data, e vengono create due stringhe, ora e dat, contenenti la prima l'ora nel formato "HH:MM", la seconda la data nel formato "Nome del giorno, giorno mese anno".

Viene recuperato il cookie, e verificata la variabile "num" contenuta in dati.data. Se la variabile non è definita (è la prima volta che guardiamo il filmato), salveremo nell'oggetto data la variabile "num" con un valore di 0. Dopodichè abiliteremo il campo di testo "testo" a ricevere formattazione html, per poi scrivere all'interno del campo un messaggio di benvenuto, composto da alcune parole predefinite, e dalle stringhe create dalla funzione per la data.

Se invece la variabile "num" è definita, allora assegneremo alle variabili "text1" e "text2" due diverse stringhe composte anche con l'ausilio di quelle create con la funzione della data. Abiliteremo quindi il campo di testo alla formattazione html, per scriverci il messaggio determinato dal valore di "num".

Se "num" è uguale a 1 (è la seconda volta che guardiamo il filmato), avremo un messaggio, mentre ne avremo un altro per tutti gli altri casi.

Infine, le stringhe con l'ora e la data, e la variabile "num" (che non è altro che un contatore di visite), vengono inserite nell'oggetto dati.data per poi essere salvate tramite dati.flush()

La volta successiva, creando il messaggio di benvenuto, useremo le stringhe salvate nella sessione precedente. Queste serviranno a mostrare l'ora e la data dell'ultimo accesso.

// interrompiamo la riproduzione del filmato

stop();


// definiamo la funzione per la creazione delle
// due stringhe contenenti la data e l'ora
// (non spiego la funzione, oramai molto nota)

function dataDiOggi(){
 giorni = ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"];
 mesi = ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", Novembre", "Dicembre"];
 tempo = new Date();
 ore = tempo.getHours();
 minuti = tempo.getMinutes();
 secondi = tempo.getSeconds();
 oggi = tempo.getDate();
 giorno = tempo.getDay();
 nomegiorno = giorni[giorno];
 mese = tempo.getMonth();
 nomemese = mesi[mese];
 anno = tempo.getFullYear();
 ore = (ore<10) ? "0"+ore : ore;
 minuti = (minuti<10) ? "0"+minuti : minuti;
 secondi = (secondi<10) ? "0"+secondi : secondi;
 ora = ore+":"+minuti;
 dat = nomegiorno+", "+oggi+" "+nomemese+" "+anno;
}

// chiamiamo la funzione, e creiamo le stringhe "ora" e "dat".

dataDiOggi();

// recuperiamo il cookie

dati = sharedobject.getLocal("cookie");


// se il valore di "num" (contatore) non è definito
// (è la prima volta che vediamo il filmato)

if(dati.data.num == undefined){
 // assegniamo a "num" il valore 0 (prima visita)

 dati.data.num = 0;
 // abilitiamo il campo di testo alla formattazione html

 testo.html = true;
 // inseriamo nel campo la stringa di benvenuto, composta anche
 // dalle variabili create dalla funzione per la data

 testo.htmlText = "Benvenuto su flash-mx.it!.." + ora + " di " + dat;

// altrimenti ("num" è definito, quindi abbiamo visto il filmato almeno una volta)

}else{

 // creiamo due stringhe, con diverso contenuto.

 txt1 = "Bentornato su flash-mx.it!.." + dati.data.ora + " di " + dati.data.dat;
 txt2 = ".." + dati.data.num + " ..." + dati.data.dat + " ... " + dati.data.ora;
 // abilitiamo il campo di testo alla formattazione html

 testo.html = true;

 // se la variabile "num" è uguale a 1 (seconda visita), assegniamo a dati.data.num
 // il valore della prima stringa, altrimenti quello della seconda

 testo.htmlText = (dati.data.num == 1) ? txt1 : txt2;
}

// inseriamo le informazioni relative alle due stringhe nell'oggetto data

dati.data.ora = ora;
dati.data.dat = dat;

// inseriamo nell'oggetto il valore di "num" aumentato di una unità

dati.data.num++;
// chiamiamo il metodo flush, salvando il cookie

dati.flush();
// fermiamo la riproduzione del filmato

stop();

Ti consigliamo anche