Una delle classiche necessità che ha in genere uno sviluppatore web, è la possibilità di caricare dati od informazioni da fonti esterne, questo per far si che la nostra applicazione sia il più dinamica possibile ed il nostro intervento di sviluppatori minimo se non addirittura nullo.
Caricando dati da fonti esterne, possiamo gestire il nostro lavoro un pò sotto ogni aspetto, dal layout alle informazioni ad altro ancora. Immaginiamo di dover creare in Flash un'applicativo che carichi tutta una serie di articoli o news quotidianamente! Creare staticamente un file Flash così potrebbe essere l'ultima cosa che vogliamo!
Ecco allora che Actionscript mette a disposizione tutta una serie di classi atte a risolvere la questione. Nelle versioni precedenti, per chi già lavorava con Actionscript 2, esisteva la classe "LoadVars". Molto comoda ma ormai obsoleta. Oggi invece abbiamo a disposizione due importanti classi, tra cui "URLLoader" e "URLVariables" che permettono proprio questo.
Nel nostro esempio ovviamente supponiamo di avere come fonte esterna un file txt così strutturato:
nomi=fabio,franco,giorgio&cognomi=bernardi,pinco,panco
salvandolo col nome: var.txt
Ora creiamo un nuovo file Flash in AS3 salvandolo subito nello stesso percorso di dove si trova il file txt!
Quindi apriamo le azioni e scriviamo:
var loader:URLLoader = new URLLoader(new URLRequest("var.txt"));
Così facendo creiamo un'istanza della classe URLLoader che caricherà il file "var.txt" dal percorso indicato nel URLRequest.
Ora creiamo una funzione che permetta di suddividere ciascun nome e posizionarlo all'interno di un Array in modo da rendere più flessibile la gestione del materiale.
function completeHandler(event:Event):void
{
var variables:URLVariables = new URLVariables(loader.data);
var nomeUtente:Array = variables.nome.split(",");
trace(nomeUtente);
}
Con questa funzione abbiamo richiamato la classe URLVariables che riprende i dati dell'istanza "loader" usata la riga superiore.
Quindi abbiamo creato un array dove abbiamo inserito i singoli nomi, preventivamente suddivisi utilizzando il metodo "split" indicando la "," come elemento di suddivisione. Quindi controlliamo cosa è successo facendoci ritracciare a video il contenuto dell'Array.
Ora non resta che richiamare questa funzione:
loader.addEventListener(Event.COMPLETE, completeHandler);
E il gioco è fatto.







